Studying how a software system has evolved over time is difficult, time consuming, and costly; existing techniques are often limited in their applicability, are hard to extend, a...
Design patterns are solutions to recurring design problems, conceived to increase benefits in terms of reuse, code quality and, above all, maintainability and resilience to change...
Lerina Aversano, Gerardo Canfora, Luigi Cerulo, Co...
Diversification of software assets through changing requirements impose a constant challenge on the developers and maintainers of large software systems. Recent research has addr...
Michael Fischer, Johann Oberleitner, Jacek Ratzing...
In consequence of changing requirements and technological progress, software languages are subject to change. The changes affect the language’s specification, which in turn a...
Markus Herrmannsdoerfer, Daniel Ratiu, Guido Wachs...
A method is described for automatically repairing legacy software at the assembly code level using evolutionary computation. The technique is demonstrated on Java byte code and x8...