2019 · 15 citations · 17 references
ComputingComputer ScienceNatural Language ProcessingProgramming LanguagesSoftware EngineeringAbstract Syntax TreesPatch AnalysisPatch ManagementSequence Similarity SearchSoftware EvolutionSoftware MaintenanceAutomated Program RepairBug FixingLongest Common SubsequencePatch PrioritizationPrioritizationProgram RepairSemantic SimilaritySyntactic Similarity
Patch prioritization means sorting candidate patches based on probability of correctness. It helps to minimize the bug fixing time and maximize the precision of an automated program repairing technique. Approaches in the literature use either syntactic or semantic similarity between faulty code and fixing element to prioritize patches. Unlike others, this paper aims at analyzing the impact of combining syntactic and semantic similarities on patch prioritization. As a pilot study, it uses genealogical and variable similarity to measure semantic similarity, and normalized longest common subsequence to capture syntactic similarity. For evaluating the approach, 22 replacement mutation bugs from IntroClassJava benchmark were used. The approach repairs all the 22 bugs and achieves a precision of 100%.
17
Xuan-Bach D. Le, David Lo, Claire Le Goues · 2016 · 339 citations
Context-aware patch generation for better automated program repair
Ming Wen, Junjie Chen, Rongxin Wu et al. · 2018 · 332 citations · Full text
Shaping program repair space with existing patches and similar code
Jiajun Jiang, Yingfei Xiong, Hongyu Zhang et al. · 2018 · 327 citations