: Nowadays, software evolution is a very hot topic. It is particularly complex when it regards critical and nonstopping systems. Usually, these situations are tackled by hard-codin...
Abstract—During software development, design rules and contracts in the source code are often encoded through regularities, such as API usage protocols, coding idioms and naming ...
Angela Lozano, Andy Kellens, Kim Mens, Gabriela Ar...
The emerging Model-Driven Engineering paradigm advocates the use of models as first-class citizens in the software development process, while artifacts such as documentation and so...
—Test-suite augmentation for evolving software— the process of augmenting a test suite to adequately test software changes—is necessary for any program that undergoes modifi...
As programs evolve, newly added functionality sometimes no longer aligns with the original design, ending up scattered across the software system. Aspect mining tries to identify ...