Proceedings

Augmenting Automated Spectrum Based Fault Localization for Multiple Faults

Download BibTeX Cite

Proceedings of the Thirty-Second International Joint Conference on Artificial Intelligence. Main Track. Pages 3140-3148.

https://doi.org/10.24963/ijcai.2023/350

Abstract

Spectrum-based Fault Localization (SBFL) uses the coverage of test cases and their outcome (pass/fail) to predict the "suspiciousness'' of program components, e.g., lines of code. SBFL is, perhaps, the most successful fault localization technique due to its simplicity and scalability. However, SBFL heuristics do not perform well in scenarios where a program may have multiple faulty components. In this work, we propose a new algorithm that "augments'' previously proposed SBFL heuristics to produce a ranked list where faulty components ranked low by base SBFL metrics are ranked significantly higher. We implement our ideas in a tool, ARTEMIS, that attempts to "bubble up'' faulty components which are ranked lower by base SBFL metrics. We compare our technique to the most popular SBFL metrics and demonstrate statistically significant improvement in the developer effort for fault localization with respect to the basic strategies.

  1. [Abreu et al., 2009a] Rui Abreu, Peter Zoeteweij, Rob Gol- steijn, and Arjan JC Van Gemund. A practical evaluation of spectrum-based fault localization. Journal of Systems and Software, 82(11):1780-1792, 2009.
  2. [Abreu et al., 2009b] Rui Abreu, Peter Zoeteweij, and Ar- jan JC Van Gemund. Localizing software faults simultane- ously. In 2009 Ninth International Conference on Quality Software, pages 367-376. IEEE, 2009.
  3. [Abreu et al., 2009c] Rui Abreu, Peter Zoeteweij, and Ar- jan J.C. van Gemund. Spectrum-Based Multiple Fault Lo- calization. In 2009 IEEE/ACM International Conference on Automated Software Engineering, pages 88-99, 2009.
  4. [Abreu et al., 2011] Rui Abreu, Peter Zoeteweij, and Ar- jan JC Van Gemund. Simultaneous debugging of software faults. Journal of Systems and Software, 84(4):573-586, 2011.
  5. [B. Le et al., 2016] Tien-Duy B. Le, David Lo, Claire Le Goues, and Lars Grunske. A Learning-to-Rank Based Fault Localization Approach Using Likely Invariants. In Proceedings of the 25th International Symposium on Soft- ware Testing and Analysis, ISSTA 2016, page 177-188, New York, NY, USA, 2016. Association for Computing Machinery.
  6. [Bandyopadhyay and Ghosh, 2012] Aritra Bandyopadhyay and Sudipto Ghosh. Tester feedback driven fault local- ization. In 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation, pages 41- 50, 2012.
  7. [Chatterjee et al., 2020] Prantik Chatterjee, Abhijit Chatter- jee, José Campos, Rui Abreu, and Subhajit Roy. Diagnos- ing software faults using multiverse analysis. In Christian Bessiere, editor, Proceedings of the Twenty-Ninth Interna- tional Joint Conference on Artificial Intelligence, IJCAI- 20, pages 1629-1635. International Joint Conferences on Artificial Intelligence Organization, 7 2020. Main track. IJCAI
  8. [Choi et al., 2010] Seung-Seok Choi, Sung-Hyuk Cha, and Charles C Tappert. A survey of binary similarity and dis- tance measures. Journal of systemics, cybernetics and in- formatics, 8(1):43-48, 2010.
  9. [Do et al., 2005] Hyunsook Do, Sebastian Elbaum, and Gregg Rothermel. Supporting controlled experimentation with testing techniques: An infrastructure and its potential impact. Empirical Software Engineering, 10(4):405-435, 2005.
  10. [Fraser and Arcuri, 2011] Gordon Fraser and Andrea Arcuri. EvoSuite: Automatic Test Suite Generation for Object- Oriented Software. In Proc. of the 19th ACM ESEC/FSE, page 416-419. ACM, 2011.
  11. [Hutchins et al., 1994] Monica Hutchins, Herb Foster, Tarak Goradia, and Thomas Ostrand. Experiments on the effec- tiveness of dataflow-and control-flow-based test adequacy criteria. In Proceedings of 16th International conference on Software engineering, pages 191-200. IEEE, 1994.
  12. [Jeffrey et al., 2009] Dennis Jeffrey, Neelam Gupta, and Ra- jiv Gupta. Effective and efficient localization of multiple faults using value replacement. In 2009 IEEE Interna- tional Conference on Software Maintenance, pages 221- 230. IEEE, 2009.
  13. [Jones and Harrold, 2005] James A Jones and Mary Jean Harrold. Empirical evaluation of the tarantula automatic fault-localization technique. In Proceedings of the 20th IEEE/ACM international Conference on Automated soft- ware engineering, pages 273-282, 2005.
  14. [Jones et al., 2002] James A Jones, Mary Jean Harrold, and John Stasko. Visualization of test information to assist fault localization. In Proceedings of the 24th International Conference on Software Engineering. ICSE 2002, pages 467-477. IEEE, 2002.
  15. [Just et al., 2014] René Just, Darioush Jalali, and Michael D. Ernst. Defects4J: A Database of Existing Faults to Enable Controlled Testing Studies for Java Programs. In Proc. of the 23rd ISSTA, page 437-440. ACM, 2014.
  16. [Li and Zhang, 2017] Xia Li and Lingming Zhang. Trans- forming Programs and Tests in Tandem for Fault Localiza- tion. Proc. ACM Program. Lang., 1(OOPSLA), oct 2017.
  17. [Majd et al., 2022] Amirabbas Majd, Mojtaba Vahidi-Asl, Alireza Khalilian, and Babak Bagheri. Consilientsfl: using preferential voting system to generate combinatorial rank- ing metrics for spectrum-based fault localization. Applied Intelligence, pages 1-21, 2022.
  18. [Naish et al., 2011] Lee Naish, Hua Jie Lee, and Kotagiri Ramamohanarao. A model for spectra-based software di- agnosis. ACM Transactions on software engineering and methodology (TOSEM), 20(3):1-32, 2011.
  19. [Pearson et al., 2017] Spencer Pearson, José Campos, René Just, Gordon Fraser, Rui Abreu, Michael D Ernst, Deric Pang, and Benjamin Keller. Evaluating and improving fault localization. In 2017 IEEE/ACM 39th International Conference on Software Engineering (ICSE), pages 609- 620. IEEE, 2017.
  20. [Perez et al., 2017] Alexandre Perez, Rui Abreu, and Arie van Deursen. A test-suite diagnosability metric for spectrum-based fault localization approaches. In 2017 IEEE/ACM 39th International Conference on Software Engineering (ICSE), pages 654-664. IEEE, 2017.
  21. [Rosner et al., 2006] Bernard Rosner, Robert J Glynn, and Mei-Ling T Lee. The wilcoxon signed rank test for paired comparisons of clustered data. Biometrics, 62(1):185-192, 2006.
  22. [Serra et al., 2019] Domenico Serra, Giovanni Grano, Fabio Palomba, Filomena Ferrucci, Harald C Gall, and Alberto Bacchelli. On the effectiveness of manual and automatic unit test generation: ten years later. In 2019 IEEE/ACM 16th International Conference on Mining Software Repos- itories (MSR), pages 121-125. IEEE, 2019.
  23. [Steimann and Frenkel, 2012] Friedrich Steimann and Mar- cus Frenkel. Improving coverage-based localization of multiple faults using algorithms from integer linear pro- gramming. In 2012 IEEE 23rd International Sympo- sium on Software Reliability Engineering, pages 121-130. IEEE, 2012.
  24. [Wei and Han, 2013] Zheng Wei and Bai Han. Multiple-bug oriented fault localization: A parameter-based combina- tion approach. In 2013 IEEE Seventh International Con- ference on Software Security and Reliability Companion, pages 125-130. IEEE, 2013.
  25. [Wong et al., 2013] W Eric Wong, Vidroha Debroy, Ruizhi Gao, and Yihao Li. The dstar method for effective soft- ware fault localization. IEEE Transactions on Reliability, 63(1):290-308, 2013.
  26. [Wong et al., 2016] W Eric Wong, Ruizhi Gao, Yihao Li, Rui Abreu, and Franz Wotawa. A survey on software fault localization. IEEE Transactions on Software Engineering, 42(8):707-740, 2016.
  27. [Zhao et al., 2022] Guyu Zhao, Hongdou He, and Yifang Huang. Fault centrality: boosting spectrum-based fault lo- calization via local influence calculation. Applied Intelli- gence, 52(7):7113-7135, 2022.
  28. [Zou et al., 2021] Daming Zou, Jingjing Liang, Yingfei Xiong, Michael D. Ernst, and Lu Zhang. An Empiri- cal Study of Fault Localization Families and Their Com- binations. IEEE Transactions on Software Engineering, 47(2):332-347, 2021.

References were extracted automatically from the PDF and may contain errors.

Welcome Future Conferences AI Journal Division IJCAI Proceedings About IJCAI IJCAI Awards