Software frameworks and libraries are indispensable to today’s software systems. As they evolve, it is often timeconsuming for developers to keep their code up-to-date, so appro...
One of the main goals of design patterns is to design for change. Many design patterns leave some room for future changes and evolutions. The application of design patterns leads ...
Dynamic object reclassification allows changes to the type of an object at runtime. This paper makes the case for object evolution, a restriction of general reclassification by ...
Change impact analysis is a useful technique for software evolution. It determines the effects of a source editing session and provides valuable feedbacks to the programmers for m...
Large software systems have a rich development history. Mining certain aspects of this rich history can reveal interesting insights into the system and its structure. Previous app...