nav emailalert searchbtn searchbox tablepage yinyongbenwen piczone journalimg journalInfo journalinfonormal searchdiv searchzone qikanlogo popupnotification paper paperNew
2022, 01, v.21 25-36
An interactive debugging framework with heuristic graph based on the feedback optimization
Email:
DOI: 10.12194/j.ntu.20201123001
摘要:

基于频谱的缺陷定位方法通过生成缺陷定位报告来引导程序员识别软件缺陷。由于缺少足够的上下文信息,基于该报告识别缺陷的过程非常耗时费力。此外,在连续搜索软件缺陷的过程中,程序员先前的判断对提高缺陷定位报告的效率没有任何帮助。针对上述问题,提出一种基于反馈优化的启发式软件调试框架。程序员可以在该框架上使用可视化的启发式图迭代地识别缺陷。首先,基于静态程序切片技术分析缺陷相关信息,并通过执行跟踪技术记录实时运行信息,以DOT格式组织并可视化这些信息,构造出有助于程序员识别缺陷的启发信息;然后,提出一种优化缺陷报告的算法,该算法可以根据程序员的反馈使用正向和反向切片技术来动态调整缺陷定位报告;最后,还提出了一种增强的算法,该算法可以基于程序员的多个反馈更高效地调整缺陷定位报告。实验结果表明,提出的启发式软件调试框架可以有效提高程序调试的效率。

Abstract:

The spectrum-based fault localization approaches guide programmers to identify defects with the defect localization report. Due to lacking sufficient context, the process of identifying defects based on the fault localization report is very time-consuming and laborious. Furthermore, during the identification for software defects, the programmer′s previous work is not utilized to optimize fault localization reports. This paper proposes a two-stage heuristic interactive debugging framework on which programmers can iteratively identify defects with visual heuristic graphs. The first stage is to construct heuristic graphs that help programmers identify defects. It first analyzes the defect-related information based on static program slicing technology, and records the run-time information by execution tracking, then organizes and visualizes them in DOT format. The second stage is to optimize the defect localization based on the programmer′s feedback. An algorithm, which dynamically adjusts defect localization reports based on the programmer′s feedback using forward and backward slicing techniques, is proposed for optimizing defect reports. At last an enhanced algorithm is proposed that can adjust the defect localization report with the multiple feedbacks from the programmers. The results show that the proposed approach can effectively improve the debugging efficiency for programmers.

References

[1] WONG W E, GAO R Z, LI Y H, et al. A survey on software fault localization[J]. IEEE Transactions on Software Engineering, 2016, 42(8):707-740.

[2] JONES J A. Fault localization using visualization of test information[C]//Proceedings of the 26th International Conference on Software Engineering, May 28, 2004, Edinburgh, UK. New York:IEEE Xplore, 2004:54-56.

[3] PERSCHEID M, SIEGMUND B, TAEUMEL M, et al.Studying the advancement in debugging practice of professional software developers[J]. Software Quality Journal,2017, 25(1):83-110.

[4] HAO D, ZHANG L, XIE T, et al. Interactive fault localization using test information[J]. Journal of Computer Science and Technology, 2009, 24(5):962-974.

[5] ALI S, ANDREWS J H, DHANDAPANI T, et al. Evaluating the accuracy of fault localization techniques[C]//Proceedings of the 2009 IEEE/ACM International Conference on Automated Software Engineering, November 16-20,2009, Auckland, New Zealand. New York:IEEE Xplore,2009:76-87.

[6] QI Y H, MAO X G, LEI Y, et al. Empirical effectiveness evaluation of spectra-based fault localization on automated program repair[C]//Proceedings of the 2013 IEEE 37th Annual Computer Software and Applications Conference, July22-26, 2013, Kyoto, Japan. New York:IEEE Xplore,2013:828-829.

[7] NAGARAJAN V, JEFFREY D, GUPTA R, et al. A system for debugging via online tracing and dynamic slicing[J]. Software:Practice and Experience, 2012, 42(8):995-1014.

[8] WONG W E, GAO R, LI Y, et al. A survey on software fault localization[J]. IEEE Transactions on Software Engineering, 2016, 42(8):707-740.

[9] DIGIUSEPPE N, JONES J A. Fault density, fault types,and spectra-based fault localization[J]. Empirical Software Engineering, 2015, 20(4):928-967.

[10] JONES J A, HARROLD M J. Empirical evaluation of the tarantula automatic fault-localization technique[C]//Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering, November 7-11, 2005,Long Beach, California, USA. New York:ACM, 2005:273-282.

[11] 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.

[12] WONG W E, DEBROY V, GAO R Z, et al. The DStar method for effective software fault localization[J]. IEEE Transactions on Reliability, 2014, 63(1):290-308.

[13] ZHANG Z Y, JIANG B, CHAN W K, et al. Fault localization through evaluation sequences[J]. Journal of Systems and Software, 2010, 83(2):174-187.

[14] VOAS J M. PIE:a dynamic failure-based technique[J].IEEE Transactions on Software Engineering, 1992, 18(8):717-727.

[15] SANTELICES R, JONES J A, YU Y B, et al. Lightweight fault-localization using multiple cover age types[C]//Proceedings of the 2009 IEEE 31st International Conference on Software Engineering, May 16-24, 2009, Vancouver,BC, Canada. New York:IEEE Xplore, 2009:56-66.

[16] DO H, ELBAUM S, ROTHERMEL G. Supporting controlled experimentation with testing techniques:an infrastructure and its potential impact[J]. Empirical Software Engineering, 2005, 10(4):405-435.

[17] CAMPOS J, RIBOIRA A, PEREZ A, et al. GZoltar:an eclipse plug-in for testing and debugging[C]//Proceedings of the27th IEEE/ACM International Conference on Automated Software Engineering, September 3-7, 2012, Essen, Germany. New York:IEEE Xplore, 2012:378-381.

[18] ZELLER A, LüTKEHAUS D. DDD:a free graphical frontend for UNIX debuggers[J]. ACM SIGPLAN Notices, 1996,31(1):22-27.

[19] LIU C, YAN X F, FEI L, et al. Sober:statistical modelbased bug localization[J]. ACM SIGSOFT Software Engineering Notes, 2005, 30(5):286-295.

[20] ABREU R, ZOETEWEIJ P, VAN GEMU ND A J C. On the accuracy of spectrum-based fault localization[C]//Proceedings of the Testing:Academic and Industrial Conference Practice and Research Techniques-MUTATION(TAICPART-MUTATION 2007), September 10-14, 2007,Windsor, UK. New York:IEEE Xplore, 2007:89-98.

[21] WONG E, WEI T T, QI Y, et al. A crosstab-based statistical method for effective fault localization[C]//Proceedings of the 2008 1st International Conference on Software Testing, Verification, and Validation, April 9-11, 2008,Lillehammer, Norway. New York:IEEE Xplore, 2008:42-51.

[22] JANSSEN T, ABREU R, VAN GEMUND A J C. Zoltar:a toolset for automatic fault localization[C]//Proceedings of the 2009 IEEE/ACM International Conference on Automated Software Engineering, November 16-20, 2009, Auckland, New Zealand. New York:IEEE Xplore, 2009:662-664.

[23] WONG W E, DEBROY V, LI Y H, et al. Software fault localization using DStar(D*)[C]//Proceedings of the 2012IEEE Sixth International Conference on Software Security and Reliability, June 20-22, 2012, Gaithersburg, MD,USA. New York:IEEE Xplore, 2012:21-30.

[24] MECCA G, SANTORO D, SILENO N, et al. DiogeneCT:tools and methodologies for teaching and learning coding[J]. International Journal of Educational Technology in Higher Education, 2021, 18:12.

[25] HOFFMANN M R, BROCK J, MANDRIKOV E. Code coverage analysis for eclipse[R/OL].(2007-10-10)[2021-10-10]. http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.233.1138&rep=rep1&type=pdf.

[26] BOUILLON P, KRINKE J, MEYER N, et al. EzUnit:a framework for associating failed unit tests with potential programming errors[M]//Agile Processes in Software Engineering and Extreme Programming, Berlin:Springer, 2007:101-104.

[27] LIN Y, SUN J, XUE Y X, et al. Feedback-based debugging[C]//Proceedings of the 2017 IEEE/ACM 39th International Conference on Software Engineering(ICSE), May 20-28, 2017, Buenos Aires, Argentina. New York:IEEE Xplore,2017:393-403.

[28] SonarSource. Code quality and code security[CP/OL].(2015-10-15)[2021-10-10]. https://www. sonarsource. com/.

[29]曲豫宾,陈翔.基于代价敏感主动学习的软件缺陷预测方法[J].南通大学学报(自然科学版),2019, 18(1):9-15.QU Y B, CHEN X. Software defect prediction method based on cost-sensitive active learning[J]. Journal of Nantong University(Natural Science Edition), 2019, 18(1):9-15.(in Chinese)

Basic Information:

DOI:10.12194/j.ntu.20201123001

China Classification Code:TP311.53

Citation Information:

[1]鞠小林,钱洁,赵春雨,等.一种基于反馈优化的启发式软件调试框架[J].南通大学学报(自然科学版),2022,21(01):25-36.DOI:10.12194/j.ntu.20201123001.

Fund Information:

国家自然科学基金面上项目(61673384);国家自然科学基金青年科学基金项目(61502497,61602267)

quote

GB/T 7714-2015
MLA
APA
Search Advanced Search