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 ...
Rationale research in software development is a challenging area because while there is no shortage of advocates for its value, there is also no shortage of reasons for why rationa...
The development of libre (free/open source) software is usually performed by geographically distributed teams. Participation in most cases is voluntary, sometimes sporadic, and of...
Program dependence graphs are a well-established device to represent possible information flow in a program. Path conditions in dependence graphs have been proposed to express mo...
The interoperability of systems to support cooperative work requires moving beyond purely technical issues; it also concerns the means and practices that users adopt to articulate...