Software frameworks and libraries are indispensable to today’s software systems. As they evolve, it is often timeconsuming for developers to keep their code up-to-date, so appro...
A fundamental problem of finding applications that are highly relevant to development tasks is the mismatch between the high-level intent reflected in the descriptions of these ...
Mark Grechanik, Chen Fu, Qing Xie, Collin McMillan...
We describe twinning and its applications to adapting programs to alternative APIs. Twinning is a simple technique that allows programmers to specify a class of program changes, i...
Due to the expensiveness of compiling and executing a large number of mutants, it is usually necessary to select a subset of mutants to substitute the whole set of generated mutan...
Lu Zhang, Shan-Shan Hou, Jun-Jue Hu, Tao Xie, Hong...
Many software artifacts are created, maintained and evolved as part of a software development project. As software developers work on a project, they interact with existing projec...
We present views, a new approach to controlling concurrency. Fine-grained locking is often necessary to increase concurrency. Correctly implementing fine-grained locking with tod...