Today's software systems suffer from poor reliability, with software errors costing the U.S. economy upwards of $60 billion annually. Testing is the predominant technique in industry to ensure software quality. Existing test generation techniques, such as random testing and symbolic execution based test generation, are either not effective or not scalable. This project investigates techniques to make automated test generation and automated bug fixing fast, scalable, and exhaustive by bridging the gap between practical techniques, such as testing, and mathematically rigorous techniques, such as model checking and symbolic analysis. Specifically, the project integrates ideas from randomized algorithms, symbolic analysis and model checking, and computational machine learning and develops novel ideas in three research efforts: (1) develop techniques for fast and exhaustive unit test generation; (2) scale automated testing to large software through compositional reasoning; and (3) investigate techniques for automated repair advice generation where automated test generation is used to automatically generate candidate program variants that could potentially fix the bugs discovered during testing. This project will immediately benefit the software industry where testing and bug fixing consume more than half of the total software development cost.

Agency
National Science Foundation (NSF)
Institute
Division of Computer and Communication Foundations (CCF)
Application #
0747390
Program Officer
Nina Amla
Project Start
Project End
Budget Start
2008-07-01
Budget End
2014-06-30
Support Year
Fiscal Year
2007
Total Cost
$400,000
Indirect Cost
Name
University of California Berkeley
Department
Type
DUNS #
City
Berkeley
State
CA
Country
United States
Zip Code
94704