Generalization tasks are important for continual improvement to the design of an evolving code base, eliminating redundancy where it has accumulated. An important step in generali...
Software testing is extensively used for uncovering bugs in large, complex software. Testing relies on well designed regression test suites that anticipate all reasonable software...
Trishul M. Chilimbi, Aditya V. Nori, Kapil Vaswani
The testing of the performance of opportunistic communication protocols and applications is usually done through simulation as i) deployments are expensive and should be left to t...
Roberta Calegari, Mirco Musolesi, Franco Raimondi,...
The fault-prone module detection in source code is of importance for assurance of software quality. Most of previous fault-prone detection approaches are based on software metrics...
Checkpointing and replaying is an attractive technique that has been used widely at the operating/runtime system level to provide fault tolerance. Applying such a technique at the...
Despite the automated refactoring support provided by today's IDEs many program transformations that are easy to conceptualize-such as improving the implementation of a desig...
Software firms are increasingly distributing their software development effort across multiple locations. In this paper we present the results of a two year field study that inves...
In software engineering, the use of models and metamodeling approaches (e.g., MDA with MOF/UML) for purposes such as software design or software validation is an established pract...
Fernando Silva Parreiras, Steffen Staab, Andreas W...