To better understand what makes Application Programming Interfaces (APIs) hard to use and how to improve them, recent research has begun studying programmers' strategies and ...
The starting point for software evolution is usually a change request, expressing the new or updated requirements on the delivered system. The requirements specified in a change ...
Filippo Ricca, Marco Torchiano, Mariano Ceccato, P...
Dynamic loading of software components (e.g., libraries or modules) is a widely used mechanism for improved system modularity and flexibility. Correct component resolution is cri...
This paper presents a tool that (i) constructs tree-based models of a program’s behavior during testing and (ii) employs these trees while reordering and reducing a test suite. ...
Adam M. Smith, Joshua Geiger, Gregory M. Kapfhamme...
The growing popularity of aspect-oriented languages, such as AspectJ, and of corresponding design approaches, makes it important to learn how best to modularize programs in which ...
Kevin J. Sullivan, William G. Griswold, Yuanyuan S...