Research Funding:
Consistent Software Evolution
Support provided by National Science Foundation
Description
Software is multidimensional; it has many representations besides the program source. These include formal specifications, test suites, documentation and even the development history. As software evolves, these dimensions must stay consistent and reflect each other as thoroughly as possible. In practice, however, while these are usually consistent when first created, they tend to receive unequal attention and therefore gradually become inconsistent. Programmers thus typically rely on the source code to the exclusion of most other dimensions. This project's goal is to help programmers cope with software evolution by viewing the dimensions of software as constraints on one another. The project proposes a constraint representation common to the different software dimensions. Software evolution then becomes a process of maintaining consistency between constraints. These constraints also help programmers identify high-level features in their system, and generate rationales to document design decisions. The escalating costs of software maintenance give the project immediacy and its results high significance. It will have immediate impact by developing tools for programmers to use. It will have effect over the long term by employing these tools in educational settings so future developers have a better appreciation for the importance of maintaining the multiple dimensions of software.
Principal Investigator
Co-PIs
Projects Supported
Details
Amount: | $450,000 |
Dates: | 9/2002 - 8/2006 |
Status: | Active |