Full metadata record
DC FieldValueLanguage
dc.contributorDepartment of Computingen_US
dc.contributor.advisorPei, Yu (COMP)en_US
dc.contributor.advisorWang, Qixin (COMP)en_US
dc.creatorChen, Liushan-
dc.identifier.urihttps://theses.lib.polyu.edu.hk/handle/200/11073-
dc.languageEnglishen_US
dc.publisherHong Kong Polytechnic Universityen_US
dc.rightsAll rights reserveden_US
dc.titleEffective automatic program repair based on state abstractionen_US
dcterms.abstractAutomatic program repair (APR) aspires to automate the otherwise expensive and laborious process of patching bugs. Most existing APR techniques use tests to drive the repair process, where a buggy program with passing and failing tests is used as the input to generate a number of candidate fxes that can make all the tests pass as the output. The test driven APR techniques can be categorized into two groups: synthesis-based techniques and search-based techniques. While exciting progress has been made in search-based automated program repair and some of such techniques have been successfully applied in industry in the past few years, several limitations are preventing those techniques from being more effective and efficient in fixing more bugs: The quality of generated fixes may not be satisfactory from a programmer's point of view since test cases are just weak oracles for program correctness; Existing fault localization techniques deliver only subpar efficiency that cripples the performance of APR techniques because the localization process is not tightly integrated with the repair process; The generic information about fix patterns learned from human-written patches in the past may not be enough to guarantee an effective and efficient fixing process. We have developed novel techniques in this thesis that address these limitations and advance the state-of-the-art in search-based automated repair of Java programs. Particularly, we devised the JAID technique that abstracts program states based on a rich set of predicates derived from regular Java code and mitigates the overftting problem by grounding the repair generation and validation processes on the abstraction; We pioneered the RESTORE technique that reuses the outcome of failed patch validation to yield accurate information about fault locations without incurring onerous computational costs; We introduced the PRIDE technique that enables program repair to apply valuable knowledge repeatedly learned from both completed and ongoing fixing processes to better navigate the space of candidate fixes. Supporting tools have also been implemented to enable programmers to use these techniques in their everyday development to generate high quality fixes to errors in Java programs in an automated fashion. To evaluate the effectiveness and efficiency of these techniques, we applied the tools to automatically repair bugs from benchmarks like DEFECTS4J, INTROCLASS-JAVA, QUIXBUGS, and BEARS. Experimental results show that, compared with other Java APR tools of the same time, ours can produce correct fixes to more bugs with a comparable amount of time.en_US
dcterms.extentxiv, 137 pages : color illustrationsen_US
dcterms.isPartOfPolyU Electronic Thesesen_US
dcterms.issued2021en_US
dcterms.educationalLevelPh.D.en_US
dcterms.educationalLevelAll Doctorateen_US
dcterms.LCSHSoftware engineering -- Quality controlen_US
dcterms.LCSHComputer software -- Quality controlen_US
dcterms.LCSHHong Kong Polytechnic University -- Dissertationsen_US
dcterms.accessRightsopen accessen_US

Files in This Item:
File Description SizeFormat 
5568.pdfFor All Users1.67 MBAdobe PDFView/Open


Copyright Undertaking

As a bona fide Library user, I declare that:

  1. I will abide by the rules and legal ordinances governing copyright regarding the use of the Database.
  2. I will use the Database for the purpose of my research or private study only and not for circulation or further reproduction or any other purpose.
  3. I agree to indemnify and hold the University harmless from and against any loss, damage, cost, liability or expenses arising from copyright infringement or unauthorized usage.

By downloading any item(s) listed above, you acknowledge that you have read and understood the copyright undertaking as stated above, and agree to be bound by all of its terms.

Show simple item record

Please use this identifier to cite or link to this item: https://theses.lib.polyu.edu.hk/handle/200/11073