Program input syntactic structure is essential for a wide range of applications such as test case generation, software debugging and network security. However, such important info...
Atomicity is an important specification that enables programmers to understand atomic blocks of code in a multi-threaded program as if they are sequential. This significantly simp...
Many testing and analysis techniques have been developed for inhouse use. Although they are effective at discovering defects before a program is deployed, these techniques are oft...
Quality assurance techniques for web applications have become increasingly important as web applications have gained in popularity and become an essential part of our daily lives....
Synthesis of system configurations from a given set of features is an important and very challenging problem. This paper makes a step towards this goal by describing an efficient ...
Alloy specifications are used to define lightweight models of systems. We present Alchemy, which compiles Alloy specifications into implementations that execute against persistent...
Shriram Krishnamurthi, Kathi Fisler, Daniel J. Dou...
Web macros give web browser users ways to "program" tedious tasks, allowing those tasks to be repeated more quickly and reliably than when performed by hand. Web macros ...
Andhy Koesnandar, Sebastian G. Elbaum, Gregg Rothe...
Using and extending a framework is a challenging task whose difficulty is exacerbated by the poor documentation that generally comes with the framework. Even in the presence of do...
Program specifications are important for many tasks during software design, development, and maintenance. Among these, temporal specifications are particularly useful. They expres...
In this paper, we present results from our empirical evaluations of a workspace awareness tool that we designed and implemented to augment the functionality of software configurat...