Reinout Stevens

Learn More
—Version Control Systems (VCS) have become indispensable in developing software. In order to provide support for change management, they track the history of software projects. Tool builders can exploit this latent historical information to provide insights in the evolution of the project. For example, the information needed to identify when and where a(More)
—Version control systems (VCS) have become indispensable to develop software. Next to their immediate advantages, they also offer information about the evolution of software and its development process. Despite this wealth of information, it has only been leveraged by tools that are dedicated to a specific software engineering task such as predicting bugs(More)
—EKEKO is a Clojure library for applicative logic meta-programming against an Eclipse workspace. EKEKO has been applied successfully to answering program queries (e.g., " does this bug pattern occur in my code? "), to analyzing project corpora (e.g., " how often does this API usage pattern occur in this corpus? "), and to transforming programs (e.g., "(More)
—Functional testing requires executing particular sequences of user actions. Test automation tools enable scripting user actions such that they can be repeated more easily. SE-LENIUM, for instance, enables testing web applications through scripts that interact with a web browser and assert properties about its observable state. However, little is known(More)
Version control systems (VCS) have become indispensable software development tools. The version snapshots they store to provide support for change coordination and release management, effectively track the evolution of the ver-sioned software and its development process. Despite this wealth of historical information, it has only been leveraged by tools that(More)
—We present the QWALKEKO meta-programming library for Clojure that enables querying the history of versioned software projects in a declarative manner. Unique to this library is its support for regular path expressions within history queries. Regular path expressions are akin to regular expressions, except that they match a sequence of successive snapshots(More)
  • 1