In examining software maintenance processes for improvement opportunities, an obvious choice is information flow. Obtaining accurate, up-to-date, and useful information about a sy...
Unregulated evolution of software often leads to software ageing which not only makes the product difficult to maintain but also breaks the consistency between design and impleme...
Manoranjan Satpathy, Nils T. Siebel, Daniel Rodr&i...
This paper describes an architecture analysis tool-set supporting the evolutionary improvement of the software architecture of an existing medical imaging system. The toolset has ...
Modeling object-oriented applications using collaborations and roles is now well accepted. Collaboration-based or role-based designs decompose an application into tasks performed ...
Software is multidimensional but the tools that support it are not. The lack of tool support causes the software artifacts representing different dimensions to evolve independentl...
Incremental changes add new functionality and properties to software. They are the core of software evolution, maintenance, iterative development, agile development, and similar s...
A great deal of work on software maintenance focuses on source code analysis and manipulation. Code is viewed as a static entity that is – more or less – separated from the sy...
During maintenance, systems are updated to correct faults, improve functionality, and adapt the software to changes in its execution environment. The typical softwareupdate proces...
Assertions, or more generally “Programming by contract”, have gained widespread acceptance in the computer science community as a means for correct program development. Howeve...