Incremental Maintenance of Software Artifacts
Author:
- 9 October 2006
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Software Engineering
- Vol. 32 (9) , 682-697
Abstract
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 experiencesKeywords
This publication has 39 references indexed in Scilit:
- Finding bugs is easy2004
- Model-driven development - Guest editor's introductionIEEE Software, 2003
- An experience using design patterns: Lessons learned and tool supportTheory and Practice of Object Systems, 1996
- Signature matching1993
- The Proteus presentation systemACM SIGSOFT Software Engineering Notes, 1992
- A program integration algorithm that accommodates semantics-preserving transformationsACM SIGSOFT Software Engineering Notes, 1990
- An environment for documenting software featuresACM SIGSOFT Software Engineering Notes, 1990
- No Silver Bullet Essence and Accidents of Software EngineeringComputer, 1987
- A Tour Through CedarIEEE Software, 1984
- Literate ProgrammingThe Computer Journal, 1984