Proceedings

Demystifying the Combination of Dynamic Slicing and Spectrum-based Fault Localization

Download BibTeX Cite

Proceedings of the Twenty-Eighth International Joint Conference on Artificial Intelligence. Main track. Pages 4760-4766.

https://doi.org/10.24963/ijcai.2019/661

Abstract

Several approaches have been proposed to reduce debugging costs through

automated software fault diagnosis. Dynamic Slicing (DS) and Spectrum-based

Fault Localization (SFL) are popular fault diagnosis techniques and normally

seen as complementary. This paper reports on a comprehensive

study to reassess the effects of combining DS with SFL. With this

combination, components that are often involved in failing but seldom in passing

test runs could be located and their suspiciousness reduced.

Results show that the DS-SFL combination, coined

as Tandem-FL, improves the diagnostic accuracy up

to 73.7% (13.4% on average). Furthermore, results

indicate that the risk of missing faulty statements,

which is a DS?s key limitation, is not high ? DS

misses faulty statements in 9% of the 260 cases. To

sum up, we found that the DS-SFL combination

was practical and effective and encourage new SFL

techniques to be evaluated against that optimization.

  1. [Abreu et al., 2008] Rui Abreu, Alberto González, Peter Zoeteweij, and Arjan J. C. van Gemund. Automatic soft- ware fault localization using generic program invariants. In SAC, 2008.
  2. [Abreu et al., 2009] Rui Abreu, Peter Zoeteweij, Rob Gol- steijn, and Arjan J. C. van Gemund. A practical evaluation of spectrum-based fault localization. JSS, 2009.
  3. [Agrawal and Horgan, 1990] Hiralal Agrawal and Joseph R. Horgan. Dynamic program slicing. In PLDI, 1990.
  4. [Alves et al., 2011] Elton Alves, Milos Gligoric, Vilas Jagan- nath, and Marcelo d'Amorim. Fault-localization using dynamic slicing and change impact analysis. In ASE, 2011.
  5. [Ang et al., 2017] Aaron Ang, Alexandre Perez, Arie van Deursen, and Rui Abreu. Revisiting the practical use of au- tomated software fault localization techniques. In ISSREW, 2017.
  6. [Christi et al., 2018] Arpit Christi, Matthew Lyle Olson, Mo- hammad Amin Alipour, and Alex Groce. Reduce before you localize: Delta-debugging and spectrum-based fault localization. In ISSREW, 2018.
  7. [de Kleer and Kurien, 2003] Johan de Kleer and James Kurien. Fundamentals of model-based diagnosis. IFAC Proc. Volumes, 2003. SAFEPROCESS.
  8. [DeMillo et al., 1996] Richard A. DeMillo, Hsin Pan, and Eugene H. Spafford. Critical slicing for software fault localization. In ISSTA, 1996.
  9. [Guo et al., 2018] Anbang Guo, Xiaoguang Mao, Deheng Yang, and Shangwen Wang. An empirical study on the effect of dynamic slicing on automated program repair effi- ciency. In ICSME, 2018.
  10. [Harrold et al., 2000] Mary Jean Harrold, Gregg Rothermel, Kent Sayre, Rui Wu, and Liu Yi. An empirical investigation of the relationship between spectra differences and regres- sion faults. Software: Testing, Verification and Reliability, 2000.
  11. [Hofer and Wotawa, 2012] Birgit Hofer and Franz Wotawa. Spectrum enhanced dynamic slicing for better fault local- ization. In ECAI, 2012.
  12. [Jones and Harrold, 2005] James A. Jones and Mary Jean Harrold. Empirical evaluation of the tarantula automatic fault-localization technique. In ASE, 2005.
  13. [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 ISSTA, 2014.
  14. [Ko and Myers, 2008] Andrew J. Ko and Brad A. Myers. De- bugging reinvented: Asking and answering why and why not questions about program behavior. In ICSE, 2008.
  15. [Lei et al., 2012] Yan Lei, Xiaoguang Mao, Ziying Dai, and Chengsong Wang. Effective statistical fault localization using program slices. In COMPSAC, 2012.
  16. [Lin et al., 2018] Yun Lin, Jun Sun, Lyly Tran, Guangdong Bai, Haijun Wang, and Jinsong Dong. Break the dead end of dynamic slicing: Localizing data and control omission bug. In ASE, 2018.
  17. [Lucia et al., 2014a] Lucia, David Lo, Lingxiao Jiang, Fer- dian Thung, and Aditya Budi. Extended comprehensive study of association measures for fault localization. Journal of Software: Evolution and Process, 2014.
  18. [Lucia et al., 2014b] Lucia, David Lo, and Xin Xia. Fusion fault localizers. In ASE, 2014. [Mayer and Stumptner, 2008] Wolfgang Mayer and Markus Stumptner. Evaluating models for model-based debugging. In ASE, 2008.
  19. [Mayer et al., 2008] Wolfgang Mayer, Rui Abreu, Markus Stumptner, Arjan JC Van Gemund, et al. Prioritising model- based debugging diagnostic reports. In DX, 2008.
  20. [Nica et al., 2013] Mihai Nica, Simona Nica, and Franz Wotawa. On the use of mutations and testing for debugging. Software: practice and experience, 2013.
  21. [Parnin and Orso, 2011] Chris Parnin and Alessandro Orso. Are automated debugging techniques actually helping pro- grammers? In ISSTA, 2011.
  22. [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 ICSE, 2017.
  23. [Perez and Abreu, 2018] Alexandre Perez and Rui Abreu. Leveraging qualitative reasoning to improve sfl. In IJCAI, 2018. IJCAI
  24. [Reiter, 1987] Raymond Reiter. A theory of diagnosis from first principles. Artificial Intelligence, 1987.
  25. [Silva, 2012] Josep Silva. A vocabulary of program slicing- based techniques. ACM Computing Surveys, 2012.
  26. [Wang and Roychoudhury, 2004] Tao Wang and Abhik Roy- choudhury. Using compressed bytecode traces for slicing java programs. In ICSE, 2004.
  27. [Wang and Roychoudhury, 2008] Tao Wang and Abhik Roy- choudhury. Dynamic slicing on java bytecode traces. TOPLAS, 2008.
  28. [Wen et al., 2016] Ming Wen, Rongxin Wu, and Shing-Chi Cheung. Locus: Locating bugs from software changes. In ASE, 2016.
  29. [Wong et al., 2016] W. Eric Wong, Ruizhi Gao, Yihao Li, Rui Abreu, and Franz Wotawa. A survey on software fault localization. TSE, 2016.
  30. [Wotawa et al., 2002] Franz Wotawa, Markus Stumptner, and Wolfgang Mayer. Model-based debugging or how to diag- nose programs automatically. In IEA/AIE, 2002.
  31. [Wotawa, 2002] Franz Wotawa. On the relationship between model-based debugging and program slicing. Artificial Intelligence, 2002.
  32. [Wotawa, 2010] Franz Wotawa. Fault localization based on dynamic slicing and hitting-set computation. In QSIC, 2010.
  33. [Wu et al., 2014] Rongxin Wu, Hongyu Zhang, Shing-Chi Cheung, and Sunghun Kim. Crashlocator: Locating crash- ing faults based on crash stacks. In ISSTA, 2014.
  34. [Zhang et al., 2007] Xiangyu Zhang, Sriraman Tallam, Nee- lam Gupta, and Rajiv Gupta. Towards locating execution omission errors. In PLDI, 2007.

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

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