Issue No. 09 - September (2006 vol. 32)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TSE.2006.91
Software is multidimensional, but the tools that support it are not. This lack of tool support causes the software artifacts representing different dimensions to evolve independently and to become inconsistent over time. In order to properly support the evolution of software, one must ensure that the different dimensions evolve concurrently. We have built a software development tool, CLIME, that uses constraints implemented as database queries to ensure just this. Our approach makes the tool responsible for detecting inconsistencies between software design, specifications, documentation, source code, test cases, and other artifacts without requiring any of these to be a primary representation. The tool works incrementally as the software evolves, without imposing a particular methodology or process. It includes a front end that lets the user explore and fix current inconsistencies. This paper describes the basis for CLIME, the techniques underlying the tool, the interface provided to the programmer, the incremental maintenance of constraints between these artifacts, and our experiences.
Software maintenance, evolution, programming tools.
S. P. Reiss, "Incremental Maintenance of Software Artifacts," in IEEE Transactions on Software Engineering, vol. 32, no. , pp. 682-697, 2006.