During the life cycle of a software system, the source code is changed many times. We study how developers can be enabled to get insight in these changes, in order to understand t...
Retrenchment is a framework that allows relatively unrestricted system evolution steps to be described in a way that gives an evolution step some formal content — unlike model b...
Test-driven software development tackles the problem of operationally defining the features to be implemented by means of test cases. This approach was recently ported to the earl...
Filippo Ricca, Massimiliano Di Penta, Marco Torchi...
Up to 75% of the costs associated with the development of software systems occur post-deployment during maintenance and evolution. Software refactoring is a process which can sign...
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 ...