{"type":"ScholarlyArticle","title":"Demystifying the Combination of Dynamic Slicing and Spectrum-based Fault Localization","authors":[{"name":"Sofia Reis","slug":"sofia-reis","given":"Sofia","family":"Reis","affiliation":"IST , University of Lisbon , Portugal; INESC-ID , Portugal"},{"name":"Rui Abreu","slug":"rui-abreu","given":"Rui","family":"Abreu","affiliation":"IST , University of Lisbon , Portugal; INESC-ID , Portugal"},{"name":"Marcelo d'Amorim","slug":"marcelo-d-amorim","given":"Marcelo","family":"d'Amorim","affiliation":"Federal University of Pernambuco , Brazil"}],"abstract":"Several approaches have been proposed to reduce debugging costs through\r\nautomated software fault diagnosis.  Dynamic Slicing (DS) and Spectrum-based\r\nFault Localization (SFL) are popular fault diagnosis techniques and normally\r\nseen as complementary. This paper reports on a comprehensive\r\nstudy to reassess the effects of combining DS with SFL.  With this\r\ncombination, components that are often involved in failing but seldom in passing\r\ntest runs could be located and their suspiciousness reduced. \r\nResults show that the DS-SFL combination, coined\r\nas Tandem-FL, improves the diagnostic accuracy up\r\nto 73.7%  (13.4%  on average). Furthermore, results\r\nindicate that the risk of missing faulty statements,\r\nwhich is a DS?s key limitation, is not high ? DS\r\nmisses faulty statements in 9%  of the 260 cases. To\r\nsum up, we found that the DS-SFL combination\r\nwas practical and effective and encourage new SFL\r\ntechniques to be evaluated against that optimization.","doi":"10.24963/ijcai.2019/661","url":"https://ijcai.org/proceedings/2019/661","pdf":"https://ijcai.org/proceedings/2019/0661.pdf","markdown":"https://ijcai.org/proceedings/2019/661.md","bibtex":"https://ijcai.org/proceedings/2019/bibtex/661","volume":{"slug":"2019","title":"Proceedings of the Twenty-Eighth International Joint Conference on Artificial Intelligence","short_title":"IJCAI 2019","url":"https://ijcai.org/proceedings/2019/","year":2019,"location":"Macao","dates":"10-16 August 2019","editors":"Sarit Kraus","isbn":"978-0-9992411-4-1","publisher":"International Joint Conferences on Artificial Intelligence Organization","doi_prefix":"10.24963/ijcai.2019"},"section":"Multidisciplinary Topics and Applications","track":"Main track","number":661,"pages":{"first":4760,"last":4766},"keywords":["Multidisciplinary Topics and Applications: Knowledge-based Software Engineering","Multidisciplinary Topics and Applications: Validation and Verification"],"videos":[],"references":[{"position":1,"raw":"[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.","title":"Automatic software fault localization using generic program invariants","authors":"Rui Abreu, Alberto González, Peter Zoeteweij, Arjan J C Van Gemund","year":"2008","venue":"SAC","doi":null,"url":null,"internal_url":null},{"position":2,"raw":"[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.","title":"A practical evaluation of spectrum-based fault localization","authors":"Rui Abreu, Peter Zoeteweij, Rob Golsteijn, Arjan J C Van Gemund","year":"2009","venue":"JSS","doi":null,"url":null,"internal_url":null},{"position":3,"raw":"[Agrawal and Horgan, 1990] Hiralal Agrawal and Joseph R. Horgan. Dynamic program slicing. In PLDI, 1990.","title":"Dynamic program slicing","authors":"Hiralal Agrawal, Joseph R Horgan","year":"1990","venue":"PLDI","doi":null,"url":null,"internal_url":null},{"position":4,"raw":"[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.","title":"Fault-localization using dynamic slicing and change impact analysis","authors":"Alves","year":"2011","venue":"ASE","doi":null,"url":null,"internal_url":null},{"position":5,"raw":"[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.","title":"Revisiting the practical use of automated software fault localization techniques","authors":"Aaron Ang, Alexandre Perez, Arie Van Deursen, Rui Abreu","year":"2017","venue":"ISSREW","doi":null,"url":null,"internal_url":null},{"position":6,"raw":"[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.","title":"Reduce before you localize: Delta-debugging and spectrum-based fault localization","authors":"Arpit Christi, Matthew Lyle Olson, Mohammad Amin Alipour, Alex Groce","year":"2018","venue":"ISSREW","doi":null,"url":null,"internal_url":null},{"position":7,"raw":"[de Kleer and Kurien, 2003] Johan de Kleer and James Kurien. Fundamentals of model-based diagnosis. IFAC Proc. Volumes, 2003. SAFEPROCESS.","title":"Fundamentals of model-based diagnosis","authors":"Kurien ; Johan De Kleer, Kleer De, James Kurien","year":"2003","venue":"IFAC Proc. Volumes","doi":null,"url":null,"internal_url":null},{"position":8,"raw":"[DeMillo et al., 1996] Richard A. DeMillo, Hsin Pan, and Eugene H. Spafford. Critical slicing for software fault localization. In ISSTA, 1996.","title":"Critical slicing for software fault localization","authors":"Richard A Demillo, Hsin Pan, Eugene H Spafford","year":"1996","venue":"ISSTA","doi":null,"url":null,"internal_url":null},{"position":9,"raw":"[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.","title":"An empirical study on the effect of dynamic slicing on automated program repair efficiency","authors":"Guo","year":"2018","venue":"ICSME","doi":null,"url":null,"internal_url":null},{"position":10,"raw":"[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.","title":"An empirical investigation of the relationship between spectra differences and regression faults","authors":"Mary Jean, Harrold, Gregg Rothermel, Kent Sayre, Rui Wu, Liu Yi","year":"2000","venue":"Software: Testing, Verification and Reliability","doi":null,"url":null,"internal_url":null},{"position":11,"raw":"[Hofer and Wotawa, 2012] Birgit Hofer and Franz Wotawa. Spectrum enhanced dynamic slicing for better fault local- ization. In ECAI, 2012.","title":"Spectrum enhanced dynamic slicing for better fault localization","authors":"Birgit Hofer, Franz Wotawa","year":"2012","venue":"ECAI","doi":null,"url":null,"internal_url":null},{"position":12,"raw":"[Jones and Harrold, 2005] James A. Jones and Mary Jean Harrold. Empirical evaluation of the tarantula automatic fault-localization technique. In ASE, 2005.","title":"Empirical evaluation of the tarantula automatic fault-localization technique","authors":"James A Jones, Mary Jean, Harrold","year":"2005","venue":"ASE","doi":null,"url":null,"internal_url":null},{"position":13,"raw":"[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.","title":"Defects4j: A database of existing faults to enable controlled testing studies for java programs","authors":"Just","year":"2014","venue":"ISSTA","doi":null,"url":null,"internal_url":null},{"position":14,"raw":"[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.","title":"Debugging reinvented: Asking and answering why and why not questions about program behavior","authors":"Andrew J Ko, Brad A Myers","year":"2008","venue":"ICSE","doi":null,"url":null,"internal_url":null},{"position":15,"raw":"[Lei et al., 2012] Yan Lei, Xiaoguang Mao, Ziying Dai, and Chengsong Wang. Effective statistical fault localization using program slices. In COMPSAC, 2012.","title":"Effective statistical fault localization using program slices","authors":"Yan Lei, Xiaoguang Mao, Ziying Dai, Chengsong Wang","year":"2012","venue":"COMPSAC","doi":null,"url":null,"internal_url":null},{"position":16,"raw":"[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.","title":"Break the dead end of dynamic slicing: Localizing data and control omission bug","authors":"Yun Lin, Jun Sun, Lyly Tran, Guangdong Bai, Haijun Wang, Jinsong Dong","year":"2018","venue":"ASE","doi":null,"url":null,"internal_url":null},{"position":17,"raw":"[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.","title":"Extended comprehensive study of association measures for fault localization","authors":"Lucia","year":"2014","venue":"Journal of Software: Evolution and Process","doi":null,"url":null,"internal_url":null},{"position":18,"raw":"[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.","title":"Evaluating models for model-based debugging","authors":"Lucia","year":"2008","venue":"Mayer and Stumptner","doi":null,"url":null,"internal_url":null},{"position":19,"raw":"[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.","title":"Prioritising modelbased debugging diagnostic reports","authors":"Wolfgang Mayer, Rui Abreu, Markus Stumptner, J C Arjan, Van Gemund","year":"2008","venue":"DX","doi":null,"url":null,"internal_url":null},{"position":20,"raw":"[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.","title":"On the use of mutations and testing for debugging","authors":"Mihai Nica, Simona Nica, Franz Wotawa","year":"2013","venue":"Software: practice and experience","doi":null,"url":null,"internal_url":null},{"position":21,"raw":"[Parnin and Orso, 2011] Chris Parnin and Alessandro Orso. Are automated debugging techniques actually helping pro- grammers? In ISSTA, 2011.","title":"Are automated debugging techniques actually helping programmers?","authors":"Chris Parnin, Alessandro Orso","year":"2011","venue":"ISSTA","doi":null,"url":null,"internal_url":null},{"position":22,"raw":"[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.","title":"Evaluating and improving fault localization","authors":"Spencer Pearson, José Campos, René Just, Gordon Fraser, Rui Abreu, Michael D Ernst, Deric Pang, Benjamin Keller","year":"2017","venue":"ICSE","doi":null,"url":null,"internal_url":null},{"position":23,"raw":"[Perez and Abreu, 2018] Alexandre Perez and Rui Abreu. Leveraging qualitative reasoning to improve sfl. In IJCAI, 2018.","title":"Leveraging qualitative reasoning to improve sfl","authors":"Alexandre Perez, Rui Abreu","year":"2018","venue":"IJCAI","doi":null,"url":null,"internal_url":"/proceedings/2018/267"},{"position":24,"raw":"[Reiter, 1987] Raymond Reiter. A theory of diagnosis from first principles. Artificial Intelligence, 1987.","title":"A theory of diagnosis from first principles","authors":"Raymond Reiter","year":"1987","venue":"Artificial Intelligence","doi":null,"url":null,"internal_url":null},{"position":25,"raw":"[Silva, 2012] Josep Silva. A vocabulary of program slicing- based techniques. ACM Computing Surveys, 2012.","title":"A vocabulary of program slicingbased techniques","authors":"Josep Silva","year":"2012","venue":"ACM Computing Surveys","doi":null,"url":null,"internal_url":null},{"position":26,"raw":"[Wang and Roychoudhury, 2004] Tao Wang and Abhik Roy- choudhury. Using compressed bytecode traces for slicing java programs. In ICSE, 2004.","title":"Using compressed bytecode traces for slicing java programs","authors":"Roychoudhury Wang","year":"2004","venue":"ICSE","doi":null,"url":null,"internal_url":null},{"position":27,"raw":"[Wang and Roychoudhury, 2008] Tao Wang and Abhik Roy- choudhury. Dynamic slicing on java bytecode traces. TOPLAS, 2008.","title":"Dynamic slicing on java bytecode traces","authors":"Roychoudhury Wang","year":"2008","venue":"TOPLAS","doi":null,"url":null,"internal_url":null},{"position":28,"raw":"[Wen et al., 2016] Ming Wen, Rongxin Wu, and Shing-Chi Cheung. Locus: Locating bugs from software changes. In ASE, 2016.","title":"Locus: Locating bugs from software changes","authors":"Ming Wen, Rongxin Wu, Shing-Chi Cheung","year":"2016","venue":"ASE","doi":null,"url":null,"internal_url":null},{"position":29,"raw":"[Wong et al., 2016] W. Eric Wong, Ruizhi Gao, Yihao Li, Rui Abreu, and Franz Wotawa. A survey on software fault localization. TSE, 2016.","title":"A survey on software fault localization","authors":"W Eric Wong, Ruizhi Gao, Yihao Li, Rui Abreu, Franz Wotawa","year":"2016","venue":"TSE","doi":null,"url":null,"internal_url":null},{"position":30,"raw":"[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.","title":"Model-based debugging or how to diagnose programs automatically","authors":"Wotawa","year":"2002","venue":"IEA/AIE","doi":null,"url":null,"internal_url":null},{"position":31,"raw":"[Wotawa, 2002] Franz Wotawa. On the relationship between model-based debugging and program slicing. Artificial Intelligence, 2002.","title":"On the relationship between model-based debugging and program slicing","authors":"Franz Wotawa, Wotawa","year":"2002","venue":"Artificial Intelligence","doi":null,"url":null,"internal_url":null},{"position":32,"raw":"[Wotawa, 2010] Franz Wotawa. Fault localization based on dynamic slicing and hitting-set computation. In QSIC, 2010.","title":"Fault localization based on dynamic slicing and hitting-set computation","authors":"Franz Wotawa, Wotawa","year":"2010","venue":"QSIC","doi":null,"url":null,"internal_url":null},{"position":33,"raw":"[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.","title":"Crashlocator: Locating crashing faults based on crash stacks","authors":"Rongxin Wu, Hongyu Zhang, Shing-Chi Cheung, Sunghun Kim","year":"2014","venue":"ISSTA","doi":null,"url":null,"internal_url":null},{"position":34,"raw":"[Zhang et al., 2007] Xiangyu Zhang, Sriraman Tallam, Nee- lam Gupta, and Rajiv Gupta. Towards locating execution omission errors. In PLDI, 2007.","title":"Towards locating execution omission errors","authors":"Xiangyu Zhang, Sriraman Tallam, Neelam Gupta, Rajiv Gupta","year":"2007","venue":"PLDI","doi":null,"url":null,"internal_url":null}],"license_note":"Copyright International Joint Conferences on Artificial Intelligence."}