With an ever-increasing amount of software in place, the importance and ubiquity of software maintenance is continuously growing. Another more recent trend is to “offshore” su...
Effort to evolve and maintain a software system is likely to vary depending on the amount and frequency of change requests. This paper proposes to model change requests as time se...
Object-oriented languages such as Java, Smalltalk, and C++ structure their programs using packages, allowing classes to be organized into named abstractions. Maintainers of large ...
Legacy systems are often large and difficult to maintain, but rewriting them from scratch is usually not a viable option. Reenginering remains the only way to modernize them. We ...
Mariano Ceccato, Paolo Tonella, Cristina Matteotti
Aspect-oriented design needs to be systematically assessed with respect to modularity flaws caused by the realization of driving system concerns, such as tangling, scattering, and...