Current change history analysis approaches rely on information provided by versioning systems such as CVS. Therefore, changes are not related to particular source code entities su...
The use of modern programming paradigms and technologies, such as object orientation, inheritance, polymorphism and aspect orientation, facilitate a number of important software e...
Michael Desmond, Margaret-Anne D. Storey, Chris Ex...
Program comprehension tools are a valuable resource for navigating and understanding large software systems. Package explorers, fan-in / fan-out views, dependency graphs and cover...
R. Ian Bull, Margaret-Anne D. Storey, Jean-Marie F...
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...
Copy-paste programming is dangerous as it may lead to hidden dependencies between different parts of the system. Modifying clones is not always straight forward, because we might ...
During initial program comprehension, software engineers could benefit from knowing the most need-to-beunderstood classes in the system under study in order to kick-start their s...
: Alborz is a multi-view, interactive, and wizard-based software architecture reconstruction and evaluation toolkit that takes advantage of the Eclipse plug-in technology to provid...
For many enterprises, reacting to fast changes to their business process is key to maintaining their competitive edge in the market. However, developers often must manually locate...
Software repositories are rich sources of information about the software development process. Mining the information stored in them has been shown to provide interesting insights ...