Font Size: a A A

Precision improvement and cost reduction for defect mining and testing

Posted on:2012-10-03Degree:Ph.DType:Dissertation
University:Case Western Reserve UniversityCandidate:Sun, BoyaFull Text:PDF
GTID:1458390011456090Subject:Computer Science
Abstract/Summary:
A significant body of recent research applies static program analysis techniques in combination with data mining techniques to discover latent software bugs. These techniques work as a complement for traditional debugging approaches to detect a larger variety of defects. Although these approaches have successfully revealed many interesting bugs from real software applications, they often generate false positive results, and therefore programmers’ time will be wasted on evaluating invalid outputs. In this dissertation, our goal is to reduce the cost associated with manual examination of the results. This is done by (1) applying machine learning technique to improve precision of generated warnings, so that programmers will not waste time reviewing false positive warnings, and (2) applying improved defect discovery techniques instead of the heuristic ones to increase precision as well as decrease execution time. We have investigated two kinds of data mining approaches: one is based on the idea of finding bugs as deviations from programming rules; the other one discovers overlooked instances of bugs fixed elsewhere in the code. We have proposed innovative methods for precision improvement and cost reduction for each of these two kinds of defect mining approaches, which have successfully improved their efficiency and effectiveness.;The similar problem of balancing cost and benefit exists for operational software testing. Before releasing software, operational testing should be performed to discover bugs in the field and improve software reliability. To maximize software reliability, it is desirable to run as many test cases as possible. However, programmers have only limited time for testing. We proposed a machine learning framework to allow programmers to balance the costs and benefits of operational testing. The framework will help programmers to pick test cases in a smart way, such that the chosen test cases are cheap to analyze, but reveal bugs with big impact.
Keywords/Search Tags:Mining, Test, Bugs, Precision, Cost, Defect, Techniques
Related items