计算机科学 ›› 2015, Vol. 42 ›› Issue (12): 102-104.

• 第十三届全国软件与应用学术会议 • 上一篇    下一篇

面向自动修复并融合失效场景的缺陷定位方法

李昂,毛晓光,雷晏   

  1. 国防科学技术大学计算机学院 长沙410073,国防科学技术大学计算机学院 长沙410073,国防科学技术大学计算机学院 长沙410073
  • 出版日期:2018-11-14 发布日期:2018-11-14
  • 基金资助:
    本文受国家自然科学基金(61379054)资助

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] http://www.mozilla.org/security/bug-bounty.html MYM3,0/bug
[8] http://blog.chromium.org/2010/01/encouraging-more-chromi-um-security.html$500/bug
[9] http://www.tarsnap.com/bugbounty.html
[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!
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
No Suggested Reading articles found!