Steve Reiss and Shriram Krishnamurthi have just been awarded an NSF ITR grant, making a total of nine of these prestigious awards in the CS department. This grant, entitled 'Consistent software evolution,' provides $450,000 in funding and will last for three years.
The authors say of their project, 'Software is multidimensional: it has many representations besides the program source, including formal specifications, test suites, documentation and even the development history. As software evolves, these dimensions must stay consistent and reflect one another as thoroughly as possible. In practice, however, while these representations 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 among constraints. These constraints also help programmers identify high-level features in their system and generate rationales for document design decisions.
'The escalating costs of software maintenance give this 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 that future developers have greater appreciation for the importance of maintaining software's multiple dimensions.