ABSTRACT
Genetic Programming has been successfully applied to learn to rank program elements according to their likelihood of containing faults. However, all GP-evolved formulæ that have been studied in the fault localization literature up to now are single expressions that only use a small set of basic functions. Based on recent theoretical analysis that different formulæ may be more effective against different classes of faults, we evaluate the impact of allowing ternary conditional operators in GP-evolved fault localization by extending our fault localization tool called FLUCCS. An empirical study based on 210 real world Java faults suggests that the simple inclusion of ternary conditional operator can help fault localization by placing up to 11% more faults at the top compared to our baseline, FLUCCS, which in itself can already rank 50% more faults at the top compared to the state-of-the-art SBFL formulæ.
- JaCoCo. http://www.eclemma.org/jacoco/. (????). http://www.eclemma.org/jacoco/Google Scholar
- R. Abreu, P. Zoeteweij, and A.J.C. van Gemund. 2009. Spectrum-Based Multiple Fault Localization. In Proceedings of the 24th IEEE/ACM International Conference on Automated Software Engineering (ASE 2009). 88--99. Google ScholarDigital Library
- Tien-Duy B. Le, David Lo, Claire Le Goues, and Lars Grunske. 2016. A Learning-to-rank Based Fault Localization Approach Using Likely Invariants. In Proceedings of the 25th International Symposium on Software Testing and Analysis (ISSTA 2016). ACM, New York, NY, USA, 177--188. Google ScholarDigital Library
- Yanping Chen, Robert L. Probert, and D. Paul Sims. 2002. Specification-based regression test selection with risk analysis. In Proceedings of the Conference of the Centre for Advanced Studies on Collaborative research (GASCON 2002). IBM Press, 1--14. Google ScholarDigital Library
- Valentin Dallmeier, Christian Lindig, and Andreas Zeller. 2005. Lightweight bug localization with AMPLE. In Proceedings of the sixth international symposium on Automated, analysis-driven debugging (AADEBUG'05). ACM, New York, NY, USA, 99--104. Google ScholarDigital Library
- Michael D. Ernst, Jake Cockrell, William G. Griswold, and David Notkin. 1999. Dynamically Discovering Likely Program Invariants to Support Program Evolution. In Proceedings of the 21st International Conference on Software Engineering (ICSE-99). ACM Press, NY, 213--225. Google ScholarDigital Library
- Gordon Fraser and Andrea Arcuri. 2013. Whole Test Suite Generation. IEEE Trans. Softw. Eng. 39, 2 (Feb. 2013), 276--291. Google ScholarDigital Library
- Mark Harman, S. Afshin Mansouri, and Yuanyuan Zhang. 2012. Search-based software engineering: Trends, techniques and applications. Comput. Surveys 45, 1, Article 11 (December 2012), 61 pages. Google ScholarDigital Library
- Jerry L. Hintze and Ray D. Nelson. 1998. Violin Plots: A Box Plot-Density Trace Synergism. The American Statistician 52, 2 (1998), 181--184.Google Scholar
- Paul Jaccard. 1901. Étude comparative de la distribution florale dans une portion des Alpes et des Jura. Bulletin del la Société Vaudoise des Sciences Naturelles 37 (1901), 547--579.Google Scholar
- Tom Janssen, Rui Abreu, and Arjan J. C. van Gemund. 2009. Zoltar: A Toolset for Automatic Fault Localization. In Proceedings of the 2009 IEEE/ACM International Conference on Automated Software Engineering (ASE '09). IEEE Computer Society, Washington, DC, USA, 662--664. Google ScholarDigital Library
- James A.Jones and Mary Jean Harro Id. 2005. Empirical evaluation of the tarantula automatic fault-localization technique. In Proceedings of the 20th International Conference on Automated Software Engineering (ASE2005). ACM Press, 273--282. Google ScholarDigital Library
- James A. Jones, Mary Jean Harrold, and John Stasko. 2002. Visualization of test information to assist fault localization. In Proceedings of the 24th International Conference on Software Engineering. ACM, New York, NY, USA, 467--477. Google ScholarDigital Library
- James A. Jones, Mary Jean Harrold, and John T. Stasko. 2001. Visualization for Fault Localization. In Proceedings of ICSE Workshop on Software Visualization. 71--75.Google Scholar
- René Just, Darioush Jalali, and Michael D. Ernst. 2014. Defects4J: A Database of Existing Faults to Enable Controlled Testing Studies for Java Programs. In Proceedings of the 2014 International Symposium on Software Testing and Analysis (ISSTA 2014). ACM, New York, NY, USA, 437--440. Google ScholarDigital Library
- Ke Mao, Mark Harman, and Yue Jia. 2016. Sapienz: Multi-objective Automated Testing for Android Applications. In Proceedings of the 25th International Symposium on Software Testing and Analysis (ISSTA 2016). ACM, New York, NY, USA, 94--105. Google ScholarDigital Library
- Phil McMinn. 2007. IGUANA: Input Generation Using Automated Novel Algorithms. A Plug and Play Research Tool. Technical Report CS-07--14. Department of Computer Science, University of Sheffield.Google Scholar
- Lee Naish, Hua Jie Lee, and Kotagiri Ramamohanarao. 2011. A model for spectra-based software diagnosis. ACM Transactions on Software Engineering Methodology 20, 3, Article 11 (August 2011), 32 pages. Google ScholarDigital Library
- A Ochiai. 1957. Zoogeographic studies on the soleoid fishes found in Japan and its neighbouring regions. Bulletin of the Japanese Society of Scientific Fisheries 22, 9(1957), 526--530.Google ScholarCross Ref
- Chris Parnin and Alessandro Orso. 2011. Are automated debugging techniques actually helping programmers?. In Proceedings of the 2011 International Symposium on Software Testing and Analysis (ISSTA 2011). ACM, New York, NY, USA, 199--209. Google ScholarDigital Library
- Jeongju Sohn and Shin Yoo. 2017. Using Source Code Metrics to Improve Fault Localisation. Technical Report CS-TR-2017--408. School of Computing, Korean Advanced Institute of Science and Technology.Google Scholar
- Gregory Tassey. 2002. The Economic Impacts of Inadequate Infrastructure for Software Testing. Technical Report. National Institute of Standards and Technology.Google Scholar
- András Vargha and Harold D. Delaney. 2000. A Critique and Improvement of the "CL" Common Language Effect Size Statistics of McGraw and Wong. Journal of Educational and Behavioral Statistics 25, 2 (2000), pp. 101--132.Google Scholar
- W. E. Wong, Ruizhi Gao, Yihao Li, Rui Abreu, and Franz Wotawa. 2016. A Survey on Software Fault Localization. IEEE Transactions on Software Engineering 42, 8 (August 2016), 707. Google ScholarDigital Library
- W. Eric Wong, Yu Qi, Lei Zhao, and Kai-Yuan Cai. 2007. Effective Fault Localization using Code Coverage. In Proceedings of the 31st Annual International Computer Software and Applications Conference - Volume 01 (COMPSAC '07). IEEE Computer Society, Washington, DC, USA, 449--456. Google ScholarDigital Library
- Xiaoyuan Xie. 2012. On the analysis of spectrum-based fault localization. Ph.D. Dissertation. Swinburne University of Technology.Google Scholar
- Xiaoyuan Xie, Tsong Yueh Chen, Fei-Ching Kuo, and Baowen Xu. 2013. A Theoretical Analysis of the Risk Evaluation Formulas for Spectrum-based Fault Localization. ACM Transactions on Software Engineering Methodology 22, 4, Article 31 (October 2013), 40 pages. Google ScholarDigital Library
- Xiaoyuan Xie, Fei-Ching Kuo, Tsong Yueh Chen, Shin Yoo, and Mark Harman. 2013. Provably Optimal and Human-Competitive Results in SBSE for Spectrum Based Fault Localisation. In Search Based Software Engineering, Günther Ruhe and Yuanyuan Zhang (Eds.). Lecture Notes in Computer Science, Vol. 8084. Springer Berlin Heidelberg, 224--238. Google ScholarDigital Library
- Jifeng Xuan and M. Monperrus. 2014. Learning to Combine Multiple Ranking Metrics for Fault Localization. In Proceedings of the IEEE International Conference on Software Maintenance and Evolution (ICSME 2014). 191--200. Google ScholarDigital Library
- Shin Yoo. 2012. Evolving Human Competitive Spectra-Based Fault Localisation Techniques. In Search Based Software Engineering, Gordon Fraser and Jerffeson Teixeira de Souza (Eds.). Lecture Notes in Computer Science, Vol. 7515. Springer Berlin Heidelberg, 244--258. Google ScholarDigital Library
- Shin Yoo, Xiaoyuan Xie, Fei-Ching Kuo, Tsong Yueh Chen, and Mark Harman. 2014. No Pot of Gold at the End of Program Spectrum Rainbow: Greatest Risk Evaluation Formula Does Not Exist. Technical Report RN/14/14. University College London.Google Scholar
Index Terms
- Empirical evaluation of conditional operators in GP based fault localization
Recommendations
FLUCCS: using code and change metrics to improve fault localization
ISSTA 2017: Proceedings of the 26th ACM SIGSOFT International Symposium on Software Testing and AnalysisFault localization aims to support the debugging activities of human developers by highlighting the program elements that are suspected to be responsible for the observed failure. Spectrum Based Fault Localization (SBFL), an existing localization ...
Fault density, fault types, and spectra-based fault localization
This paper presents multiple empirical experiments that investigate the impact of fault quantity and fault type on statistical, coverage-based fault localization techniques and fault-localization interference. Fault-localization interference is a ...
Factorising the Multiple Fault Localization Problem: Adapting Single-Fault Localizer to Multi-fault Programs
APSEC '12: Proceedings of the 2012 19th Asia-Pacific Software Engineering Conference - Volume 01Software failures are not rare and fault localizations always an important but laborious activity. Since there is no guarantee that no more than one fault exists in a faulty program, the approach to locate all the faults is necessary. Spectrum-based ...
Comments