Abstract
Bugs exist in software systems; unfortunately, manually finding bugs and repairing them is complex, time-consuming, and expensive. Automated Program Repair (APR) techniques have promising results to make the debugging process automatic and dramatically decreasing the cost of developing a software system. Almost all developed APR tools use test suites to bug localization and evaluate generated candidate patches' correctness; thus, it is named dynamic APR. Test overfitting is one of the main challenges of dynamic APR tools, which is evident from several recent studies. Test overfitting means the repaired program is not correct based on the program's expected behavior while the repaired program can satisfy its input test suite. In other words, the patch is only good enough to pass the input test suite, but the generated patched program is not correct regarding the program's actual requirements. My dissertation aims to provide fresh insight into the test overfitting problem by using formal methods as a patch correctness assessment, a counterexample generator, and its combination with fuzzers to make dynamic APR tools more reliable. Furthermore, a new dataset with 597 buggy programs has been created for this research that all programs are equipped with full formal behavioral specifications using Java Modeling Language that OpenJML's static verification tool can detect all as buggy programs.
Notes
If this is your thesis or dissertation, and want to learn how to access it or for more information about readership statistics, contact us at STARS@ucf.edu
Graduation Date
2021
Semester
Fall
Advisor
Leavens, Gary
Degree
Doctor of Philosophy (Ph.D.)
College
College of Engineering and Computer Science
Department
Computer Science
Degree Program
Computer Science
Identifier
CFE0009310; DP0026914
URL
https://purls.library.ucf.edu/go/DP0026914
Language
English
Release Date
June 2023
Length of Campus-only Access
1 year
Access Status
Doctoral Dissertation (Open Access)
STARS Citation
Nilizadeh, Amirfarhad, "Test Overfitting in Automated Program Repair: Measurements and Approaches Using Formal Methods" (2021). Electronic Theses and Dissertations, 2020-2023. 1339.
https://stars.library.ucf.edu/etd2020/1339