Concurrency fault are difficult to find because they usually occur under specific thread interleavings. Fault-detection tools in this area find data-access patterns among threa...
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...