M Pradel, K Sen - Proceedings of the ACM on Programming Languages, 2018 - dl.acm.org
Natural language elements in source code, eg, the names of variables and functions, convey useful information. However, most existing bug detection tools ignore this …
We address the problem of synthesizing code completions for programs using APIs. Given a program with holes, we synthesize completions for holes with the most likely sequences of …
G Fraser, A Zeller - Proceedings of the 19th international symposium on …, 2010 - dl.acm.org
To assess the quality of test suites, mutation analysis seeds artificial defects (mutations) into programs; a non-detected mutation indicates a weakness in the test suite. We present an …
Application Programming Interfaces (APIs) often have usage constraints, such as restrictions on call order or call conditions. API misuses, ie, violations of these constraints, may lead to …
To improve software reliability, many rule-based techniques have been proposed to infer programming rules and detect violations of these rules as bugs. These rule-based …
D Neider, I Gavran - 2018 Formal Methods in Computer Aided …, 2018 - ieeexplore.ieee.org
We present two novel algorithms for learning formulas in Linear Temporal Logic (LTL) from examples. The first learning algorithm reduces the learning task to a series of satisfiability …
Reusing existing library components is essential for reducing the cost of software development and maintenance. When library components evolve to accommodate new …
A Habib, M Pradel - Proceedings of the 33rd ACM/IEEE International …, 2018 - dl.acm.org
Static bug detectors are becoming increasingly popular and are widely used by professional software developers. While most work on bug detectors focuses on whether they find bugs at …
Automated bug detection is essential for high-quality software development and has attracted much attention over the years. Among the various bugs, previous studies show that …