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...
Data races occur when multiple threads are about to access the same piece of memory, and at least one of those accesses is a write. Such races can lead to hard-to-reproduce bugs t...
We propose a new language-independent, structural test adequacy criterion called state coverage. State coverage measures whether unit-level tests check the outputs and side effect...
Atomicity is a desirable property that safeguards application consistency for service compositions. A service composition exhibiting this property could either complete or cancel ...