This paper presents a model of change propagation during software maintenance and evolution. Change propagation is modeled as a sequence of snapshots, where each snapshot represen...
Software engineering focuses on producing quality software products through quality processes. The attention to processes dates back to the early 70’s, when software engineers r...
Design for change is a well-known adagium in software engineering. We separate concerns, employ well-designed interfaces, and the like to ease evolution of the systems we build. W...
A long-standing goal of software engineering is to construct software that is easily modified and extended. Recent advances in software design techniques, such as aspect-oriented ...
The comprehensive understanding of today’s software systems is a daunting activity, because of the sheer size and complexity that such systems exhibit. Moreover, software system...