Cloning in software systems is known to create problems during software maintenance. Several techniques have been proposed to detect the same or similar code fragments in software...
Program specifications are important in many phases of the software development process, but they are often omitted or incomplete. An important class of specifications takes the f...
A legacy system is an operational, large-scale software system that is maintained beyond its first generation of programmers. It typically represents a massive economic investmen...
Kostas Kontogiannis, Renato de Mori, Morris Bernst...
—Much of modern software development consists of building on older changes. Older periods provide the structure (e.g., functions and data types) on which changes in future period...
When analyzing the evolution history of a software project, we wish to develop results that generalize across projects. One approach is to analyze design patterns, permitting char...