Computer Science ›› 2015, Vol. 42 ›› Issue (12): 102-104.

Previous Articles     Next Articles

Fault Localization Using Failure-related Contexts for Automatic Program Repair

LI Ang, MAO Xiao-guang and LEI Yan   

  • Online:2018-11-14 Published:2018-11-14

Abstract: In face of the high cost consumed by program repair in the software life-cycle,researchers from both academia and industry are trying to develop an effective automatic program repair technique to address this problem.Being an essential part of program repair,fault localization plays an important role in repair performance.However,preliminary studies have shown that existing fault localization approaches do not take into account the features of automatic repair,and therefore restrict repair performance.It is vital to design fault localization approaches for automatic repair to improve its performance.To address this issue,this paper proposed a fault localization approach using failure-related contexts for improving automatic program repair.The proposed approach first utilizes program slicing technique to construct a failure-related context,then evaluates the suspiciousness of each element in the context of being faulty,and finally presents this context and its elements with different suspiciousness to automatic program repair techniques for performing repair on faulty programs.The preliminary experimental results demonstrate that the proposed approach is effective to improve automatic repair performance.

Key words: Automatic repair,Fault localization,Failure-related context,Program slicing,Suspiciousness evaluation

[1] Naish L,Lee H J,Ramamohanarao K.A model for spectra-based software diagnosis [J].ACM Transactions on Software Engineering and Methodology,2011,20(3):1-32
[2] Goues L C,Dewey-Vogt M,Forrest S,et al.A systematic study of automated program repair:fixing 55 out of 105 bugs for $8 each[C]∥Proc.of the 34th International Conference on Software Engineering (ICSE).Zurich,Switzerland,2012:3-13
[3] Goues L C,Nguyen T,Forrest S,et al.GenProg:a generic me-thod for automatic software repair[J].IEEE Transactions on Software Engineering (TSE),2012,38(1):54-72
[4] Weimer W,Nguyen T,Goues L C,et al.Automatically FindingPatches Using Genetic Programming[C]∥Proc.of the 31st International Conference on Software Engineering (ICSE).Vancouver,Canada,2009:16-24
[5] Seacord R C,Plakosh D,Lewis G A.Modernizing Legacy Systems:Software Technologies,Engineering Process and Business Practices[M].Addison-Wesley,2003
[6] Anvik J,Hiew L,Murphy G C.Who should fix this bug?[C]∥Proc.of the 28th International Conference on Software Engineering (ICSE).Shanghai,China,2006:361-370
[7] MYM3,0/bug
[10] Hailpern B,Santhanam P.Software debugging,testing,and verification[J].IBM Systems Journal,2002,41(1):4-12
[11] Arcuri A.On the automation of fixing software bugs[C]∥Proc.of the 30th International Conference on Software Engineering (ICSE).Leipzig,Germany,2008:1003-1006
[12] Arcuri A.Evolutionary repair of faulty software[J].Applied Soft Computing,2011,11(4):3494-3514
[13] Wei Y,Pei Y,Furia C A,et al.Automated fixing of programs with contracts[C]∥Proc.of the International Symposium on Software Testing and Analysis (ISSTA).Trento,Italy,2010:61-72
[14] Wei Y,Pei Y,Furia C A,et al.Inferring better contracts[C]∥Proc.of the 33rd International Conference on Software Engineering (ICSE).Honolulu,Hawaii,USA,2011:191-200
[15] Kim D,Nam J,Song J,et al.Automatic patch generation learned from human written patches[C]∥Proc.of 35th International Conference on Software Engineering (ICSE).San Francisco,California,2013:802-811
[16] Qi Yu-hua,Mao Xiao-guang,Lei Yan,et al.Using automatedprogram repair for evaluating the effectiveness of fault localization techniques[C]∥The 22th ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA).Lugano,Switzerland,2013:191-201
[17] Weiser M.Program slicing[J].IEEE Transactions on Software Engineering,1984,10(4):352-357
[18] Korel B,Laski J.Dynamic Program Slicing[J].Information Processing Letters,1988,29(3):155-163
[19] Agrawal H,Horgan J R.Dynamic program slicing[C]∥Proceedings of the Conference on Programming Language Design and Implementation (PLDI).1990:246-256

No related articles found!
Full text



[1] LEI Li-hui and WANG Jing. Parallelization of LTL Model Checking Based on Possibility Measure[J]. Computer Science, 2018, 45(4): 71 -75 .
[2] SUN Qi, JIN Yan, HE Kun and XU Ling-xuan. Hybrid Evolutionary Algorithm for Solving Mixed Capacitated General Routing Problem[J]. Computer Science, 2018, 45(4): 76 -82 .
[3] ZHANG Jia-nan and XIAO Ming-yu. Approximation Algorithm for Weighted Mixed Domination Problem[J]. Computer Science, 2018, 45(4): 83 -88 .
[4] WU Jian-hui, HUANG Zhong-xiang, LI Wu, WU Jian-hui, PENG Xin and ZHANG Sheng. Robustness Optimization of Sequence Decision in Urban Road Construction[J]. Computer Science, 2018, 45(4): 89 -93 .
[5] SHI Wen-jun, WU Ji-gang and LUO Yu-chun. Fast and Efficient Scheduling Algorithms for Mobile Cloud Offloading[J]. Computer Science, 2018, 45(4): 94 -99 .
[6] ZHOU Yan-ping and YE Qiao-lin. L1-norm Distance Based Least Squares Twin Support Vector Machine[J]. Computer Science, 2018, 45(4): 100 -105 .
[7] LIU Bo-yi, TANG Xiang-yan and CHENG Jie-ren. Recognition Method for Corn Borer Based on Templates Matching in Muliple Growth Periods[J]. Computer Science, 2018, 45(4): 106 -111 .
[8] GENG Hai-jun, SHI Xin-gang, WANG Zhi-liang, YIN Xia and YIN Shao-ping. Energy-efficient Intra-domain Routing Algorithm Based on Directed Acyclic Graph[J]. Computer Science, 2018, 45(4): 112 -116 .
[9] CUI Qiong, LI Jian-hua, WANG Hong and NAN Ming-li. Resilience Analysis Model of Networked Command Information System Based on Node Repairability[J]. Computer Science, 2018, 45(4): 117 -121 .
[10] WANG Zhen-chao, HOU Huan-huan and LIAN Rui. Path Optimization Scheme for Restraining Degree of Disorder in CMT[J]. Computer Science, 2018, 45(4): 122 -125 .