This paper presents an algorithm for reverse engineering semantically sound object-oriented data models from programs written in weakly-typed languages like Cobol. Our inference i...
Reverse engineering legacy software systems often involves the employment of clustering algorithms that automatically decompose a software system into subsystems. The decompositio...
Our analysis of crosscutting concerns in real-life software systems (totaling over 500,000 LOC) and in reports from literature indicated a number of properties that allow for thei...
Comments are valuable especially for program understanding and maintenance, but do developers comment their code? To which extent do they add comments or adapt them when they evol...
Reverse engineering and software evolution research has been focused mostly on analyzing single software systems. However, rarely a project exists in isolation; instead, projects ...
Defect density and defect prediction are essential for efficient resource allocation in software evolution. In an empirical study we applied data mining techniques for value seri...
Code Cloning is regarded as a threat to software maintenance, because it is generally assumed that a change to a code clone usually has to be applied to the other clones of the cl...
The software industry is increasingly confronted with the issues of understanding and maintaining a special type of object-oriented systems, namely enterprise applications. A spec...
tection via Structural Abstraction William S. Evans Department of Computer Science University of British Columbia Vancouver, B.C. V6T 1Z4, CANADA Christopher W. Fraser Microsoft Re...