While significant progress has been made over the last ten years in the research field of quality assessment, developers still can't take full advantage of the benefits of the...
Software maintenance costs dominate software engineering costs, partly because most such engineering is done manually. Program Transformation tools leverage an engineer-provided b...
In re-engineering object-oriented legacy code, it is frequently useful to introduce a design pattern in order to improve specific non-functional requirements (e.g., maintainabili...
Abstract. In this paper we present Jam, an extension of the Java language supporting mixins, that is, parametric heir classes. A mixin declaration in Jam is similar to a Java heir ...
Technological and business changes influence the evolution of software systems. When this happens, the software artifacts may need to be adapted to the changes. This need is rapidl...