Test case prioritization techniques schedule test cases for execution in an order that attempts to maximize some objective function. A variety of objective functions are applicabl...
Gregg Rothermel, Roland H. Untch, Chengyun Chu, Ma...
Recovering architectural documentation from code is crucial to maintaining and reengineering software systems. Reverse engineering and program understanding approaches are often l...
Software systems are typically modified in order to extend or change their functionality, improve their performance, port them to different platforms, and so on. For developers, i...
Spiros Mancoridis, Brian S. Mitchell, Yih-Farn Che...
Software architecture is important for large systems in which it is the main means for, among other things, controlling complexity. Current ideas on software architectures were no...
Code duplication is one of the factors that severely complicates the maintenance and evolution of large software systems. Techniques for detecting duplicated code exist but rely m...
In order to maintain the consistency between sources and documentation, while at the same time providing documentation at the design level, it is necessary to generate documentati...
In this paper, we describe restructuring of C code into new C++ classes. Such restructuring is done to facilitate both software reuse and software evolution. The restructuring is ...
Many coupling measures have been proposed in the context of object-oriented (OO) systems. In addition, several studies have highlighted the complexity of using dependency analysis...
This paper presents an approach to build and visualize traceability links and properties of a set of OO software releases. The process recovers an "as is" design from C+...
Giuliano Antoniol, Gerardo Canfora, Andrea De Luci...