CAREER: Quality Matters: Dynamic, Static and Proactive Analyses for Automated Program Repair
Carnegie Mellon University, Pittsburgh PA
Investigators
Abstract
Society is increasingly reliant on software that affects human safety, privacy, and other important concerns. Software engineers have many tools at their disposal to identify errors and write correct code. However, programmer productivity and software quality are serious problems due to the number of open bugs, the negative impact of these bugs, and limited time available to developers to fix them. A recently emerging area of research develops techniques for automatic program repair. This project will advance the state of software testing and repair by addressing some of the challenges that must be overcome if automatic program repair is to become a common tester's tool. The outcomes of this research will reduce the cost of software defects, improve the quality of software, and improve productivity of programmers. To attack this problem, the project will develop repair techniques that synthesize new code based on Hoare logic and provide better patch guidance for developers through automatic reduction of false negatives. The research will extend separation logic-based bug-finding analyses to construct verified fixes. This involves dynamic strategies that search for and then compose diverse solutions to a given bug repair problem into measurably general patches, also static techniques that construct patches for previously undiscovered bugs that are difficult to find via testing. This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.
View original record on NSF Award Search →