Systematic techniques for more effective fault localization and program repair

dc.contributor.advisorKhurshid, Sarfrazen
dc.contributor.committeeMemberPerry, Dewayneen
dc.contributor.committeeMemberPingali, Keshaven
dc.contributor.committeeMemberJulien, Christineen
dc.contributor.committeeMemberBias, Randolphen
dc.creatorGopinath, Divyaen
dc.date.accessioned2016-02-24T16:02:19Z
dc.date.available2016-02-24T16:02:19Z
dc.date.issued2015-12en
dc.date.submittedDecember 2015
dc.date.updated2016-02-24T16:02:19Z
dc.description.abstractDebugging faulty code is a tedious process that is often quite expensive and can require much manual effort. Developers typically perform debugging in two key steps: (1) fault localization, i.e., identifying the location of faulty line(s) of code; and (2) program repair, i.e., modifying the code to remove the fault(s). Automating debugging to reduce its cost has been the focus of a number of research projects during the last decade, which have introduced a variety of techniques. However, existing techniques suffer from two basic limitations. One, they lack accuracy to handle real programs. Two, they focus on automating only one of the two key steps, thereby leaving the other key step to the developer. Our thesis is that an approach that integrates systematic search based on state-of-the-art constraint solvers with techniques to analyze artifacts that describe application specific properties and behaviors, provides the basis for developing more effective debugging techniques. We focus on faults in programs that operate on structurally complex inputs, such as heap-allocated data or relational databases. Our approach lays the foundation for a unified framework for localization and repair of faults in programs. We embody our thesis in a suite of integrated techniques based on propositional satisfiability solving, correctness specifications analysis, test-spectra analysis, and rule-learning algorithms from machine learning, implement them as a prototype tool-set, and evaluate them using several subject programs.en
dc.description.departmentElectrical and Computer Engineeringen
dc.format.mimetypeapplication/pdfen
dc.identifierdoi:10.15781/T2QT17en
dc.identifier.urihttp://hdl.handle.net/2152/33386en
dc.subjectSoftware debuggingen
dc.subjectProgram repairen
dc.subjectFault localizationen
dc.subjectSATen
dc.subjectCorrectness specificationsen
dc.subjectClassifier learningen
dc.titleSystematic techniques for more effective fault localization and program repairen
dc.typeThesisen
thesis.degree.departmentElectrical and Computer Engineeringen
thesis.degree.disciplineElectrical and Computer engineeringen
thesis.degree.grantorThe University of Texas at Austinen
thesis.degree.levelDoctoralen
thesis.degree.nameDoctor of Philosophyen
Files
Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
GOPINATH-DISSERTATION-2015.pdf
Size:
2.54 MB
Format:
Adobe Portable Document Format
License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
LICENSE.txt
Size:
1.84 KB
Format:
Plain Text
Description: