The emphasis in object-oriented programs is on defining abstractions that have both state and behavior. This emphasis causes a shift in focus from software units to the way softw...
Learning from software failures is an essential step towards the development of more reliable software systems and processes. However, as more intricate software systems are devel...
The Unified Modeling Language, UML, is the objectoriented notation adopted as the standard for objectoriented Analysis and Design by the Object Management Group. This paper report...
Data from several projects show a significant relationship between the size of a module and its defect density. Here we address implications of this observation. Does the overall ...
Source code investigation is one of the most time consuming activities during software maintenance and evolution, yet currently available tool support suffers from several shortco...
Several reverse engineering methods for recovering objects from legacy systems have been proposed in the literature, but most of them neglect to identify the relationships among t...
Giuseppe A. Di Lucca, Anna Rita Fasolino, Ugo de C...
Most studies of software evolution have been performed on systems developed within a single company using traditional management techniques. With the widespread availability of se...