[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
research-article

HSFal

Published: 01 April 2014 Publication History

Abstract

HighlightsA novel fault localization approach (HSS) based on compounding full slices and execution slices.A maximal risk evaluation formula which is theoretically proved, for calculating suspiciousness based on a hybrid spectrum of full slices and execution slices.A prototype tool HSFal (hybrid slice spectrum fault locator) to implement our proposed approach.An empirical evaluation of proposed approach comparing with coverage-based approaches and slice-based approaches. Most of the existing fault localization approaches use execution coverage of test cases to isolate the suspicious codes that likely contain faults. Program slicing can extract the dependencies of program entities with respect to a specific criterion. Therefore this technique is expected to have a beneficial effect on fault localization. In this paper, we propose a novel approach using a hybrid spectrum of full slices and execution slices to improve the effectiveness of fault localization. In particular, our approach firstly computes full slices of failed test cases and execution slices of passed test cases respectively. Secondly it constructs the hybrid spectrum by intersecting full slices and execution slices. Finally it computes the suspiciousness of each statement in the hybrid slice spectrum and generates a fault location report with descending suspiciousness of each statement. We also implement our proposed approach in our prototype tool HSFal by Java programming language. To verify the effectiveness of our approach, we performed an empirical study by the prototype on several widely used open source programs. Our approach is compared with eight representative coverage-based and slice-based fault localization approaches. Final experimental results show that our proposed approach is more effective in fault localization than other compared approaches, and can reduce almost 2.98-31.79% of the average cost of examined code significantly.

References

[1]
R. Abreu, P. Zoeteweij, A.J.C. van Gemund, A evaluation of similarity coefficients for software fault localization, in: Proceedings of the 12th Pacific Rim International Symposium on Dependable Computing (PRDC 2006), 2006, pp. 39-46.
[2]
R. Abreu, P. Zoeteweij, A.J.C. van Gemund, Spectrum-based multiple fault localization, in: Proceedings of the 24th IEEE/ACM International Conference on Automated Software Engineering (ASE 2009), 2009, pp. 88-99.
[3]
R. Abreu, P. Zoeteweij, R. Golsteijn, A.J.C. van Gemund, A practical evaluation of spectrum-based fault localization, Journal of Systems and Software, 82 (2009) 1780-1792.
[4]
H. Agrawal, J.R. Horgan, Dynamic program slicing, SIGPLAN Not, 25 (1990) 246-256.
[5]
H. Agrawal, J.R. Horgan, S. London, W.E. Wong, Fault localization using execution slices and dataflow tests, in: Proceedings of the 6th International Symposium on Software Reliability Engineering (ISSRE 1995), 1995, pp. 143-151.
[6]
S. Ali, J.H. Andrews, T. Dhandapani, W. Wang, Evaluating the accuracy of fault localization techniques, in: Proceedings of the 24th IEEE/ACM International Conference on ACM International Conference on Automated Software Engineering (ASE 2009), 2009, pp. 76-87.
[7]
Z.A. Al-Khanjari, M.R. Woodward, H. Ramadhan, N.S. Kutti, The efficiency of critical slicing in fault localization, Software Quality Journal, 13 (2005) 129-153.
[8]
T.Y. Chen, Y.Y. Cheung, Dynamic program dicing, Journal of Software Maintenance-Research and Practice, 9 (1997) 33-46.
[9]
M. Chen, E. Kiciman, E. Fratkin, A. Fox, E. Brewer, Pinpoint: problem determination in large, dynamic internet services, in: Proceedings of International Conference on Dependable Systems and Networks (DSN 2002), 2002, pp. 595-604.
[10]
R.A. DeMillo, H. Pan, E.H. Spafford, Failure and fault analysis for software debugging, in: Proceedings of the 21st Annual International Computer Software and Applications Conference (COMPSAC 1997), 1997, pp. 515-521.
[11]
H. Do, S.G. Elbaum, G. Rothermel, Supporting controlled experimentation with testing techniques: an infrastructure and its potential impact, Empirical Software Engineering, 10 (2005) 405-435.
[12]
T. Gyimóthy, Á. Beszédes, I. Forgács, An efficient relevant slicing method for debugging, in: Proceedings of the 2nd Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE 1999), Vol. 1687, Springer, Berlin/Heidelberg/Toulouse, France, 1999, pp. 303-321.
[13]
J.A. Jones, M.J. Harrold, Empirical evaluation of the tarantula automatic fault-localization technique, in: Proceedings of the 20th IEEE/ACM international Conference on Automated Software Engineering (ASE 2005), 2005, pp. 273-282.
[14]
J.A. Jones, M.J. Harrold, J. Stasko, Visualization of test information to assist fault localization, in: Proceedings of the 24th International Conference on Software Engineering (ICSE 2002), 2002, pp. 467-477.
[15]
J.A. Jones, Fault localization using visualization of test information, in: Proceedings of the 26th International Conference on Software Engineering (ICSE 2004), 2004, pp. 54-56.
[16]
Y. Lei, X. Mao, Z. Dai, C. Wang, Effective statistical fault localization using program slices, in: Proceedings of the 36th Annual International Computer Software and Applications Conference (COMPSAC 2012), 2012, pp. 1-10.
[17]
J.R. Lyle, Evaluating variations on program slicing for debugging, University of Maryland, 1984.
[18]
W. Masri, Fault localization based on information flow coverage, Software Testing, Verification and Reliability, 20 (2010) 121-147.
[19]
M. Renieris, S.P. Reiss, Fault localization with nearest neighbor queries, in: Proceedings of the 18th IEEE International Conference on Automated Software Engineering (ASE 2003), 2003, pp. 30-39.
[20]
R. Santelices, J.A. Jones, Y. Yanbing, M.J. Harrold, Lightweight fault-localization using multiple coverage types, in: Proceedings of the 31st International Conference on Software Engineering (ICSE 2009), 2009, pp. 56-66.
[21]
J.R. Sun, Z.S. Li, J.C. Ni, F. Yin, Software fault localization basel on testing requirement and program slice, in: Proceedings of International Conference on Networking, Architecture, and Storage (NAS 2007), 2007, pp. 168-174.
[22]
X.M. Wang, S.C. Cheung, W.K. Chan, Z.Y. Zhang, Taming coincidental correctness: coverage refinement with context patterns to improve fault localization, in: Proceedings of the 31st International Conference on Software Engineering (ICSE 2009), 2009, pp. 45-55.
[23]
M. Weiglhofer, G. Fraser, F. Wotawa, Using spectrum-based fault localization for test case grouping, in: Proceedings of the 24th IEEE/ACM International Conference on Automated Software Engineering (ASE 2009), 2009, pp. 630-634.
[24]
M. Weiser, Programmers use slices when debugging, Communications of the ACM, 25 (1982) 446-452.
[25]
W. Wen, B. Li, X. Sun, J. Li, Program slicing spectrum-based software fault localization, in: Proceedings of the 23rd International Conference on Software Engineering and Knowledge Engineering (SEKE 2011), 2011, pp. 213-218.
[26]
W. Wen, Software fault localization based on program slicing spectrum, in: Proceedings of the 34th International Conference on Software Engineering (ICSE 2012), IEEE Press, Zurich, Switzerland, 2012, pp. 1511-1514.
[27]
W.E. Wong, Y. Qi, An execution slice and inter-block data dependency-based approach for fault localization, in: Proceedings of the 11th Asia-Pacific Software Engineering Conference (APSEC 2004), 2004, pp. 366-373.
[28]
W.E. Wong, Y. Qi, Effective program debugging based on execution slices and inter-block data dependency, Journal of Systems and Software, 79 (2006) 891-903.
[29]
W.E. Wong, Y. Qi, L. Zhao, K.Y. Cai, Effective fault localization using code coverage, in: Proceedings of the 31st Annual International Computer Software and Applications Conference, Vol. I (COMPSAC 2007), 2007, pp. 449-456.
[30]
W.E. Wong, T. Wei, Y. Qi, L. Zhao, A crosstab-based statistical method for effective fault localization, in: Proceedings of the 1st International Conference on Software Testing, 2008, pp. 42-51.
[31]
W.E. Wong, V. Debroy, B. Choi, A family of code coverage-based heuristics for effective fault localization, Journal of Systems and Software, 83 (2010) 188-208.
[32]
W.E. Wong, V. Debroy, Y.H. Li, R.Z. Gao, Software fault localization using dstar (d*), in: Proceedings of the 6th IEEE International Conference on Software Security and Reliability (SERE 2012), 2012, pp. 21-30.
[33]
X. Xie, T.Y. Chen, F.-C. Kuo, B. Xu, A theoretical analysis of the risk evaluation formulas for spectrum-based fault localization, ACM Transactions on Software Engineering and Methodology, 22 (2013) 1-40.
[34]
K. Yu, M. Lin, Q. Gao, H. Zhang, X. Zhang, Locating faults using multiple spectra-specific models, in: Proceedings of the 26th ACM Symposium on Applied Computing (SAC 2011), ACM, TaiChung, Taiwan, 2011, pp. 1404-1410.
[35]
X. Zhang, R. Gupta, Y. Zhang, Efficient forward computation of dynamic slices using reduced ordered binary decision diagrams, in: Proceedings of the 26th International Conference on Software Engineering (ICSE 2004), 2004, pp. 502-511.
[36]
X. Zhang, H. He, N. Gupta, R. Gupta, Experimental evaluation of using dynamic slices for fault location, in: Proceedings of the 6th International Symposium on Automated Analysis-driven Debugging (AADEBUG 2005), ACM, 2005, pp. 33-42.
[37]
X.Y. Zhang, N. Gupta, R. Gupta, Pruning dynamic slices with confidence, SIGPLAN Not, 41 (2006) 169-180.
[38]
X. Zhang, S. Tallam, N. Gupta, R. Gupta, Toward locating execution omission errors, SIGPLAN Not, 42 (2007) 415-424.
[39]
Z.Y. Zhang, W.K. Chan, T.H. Tse, B. Jiang, X.M. Wang, Capturing propagation of infected program states, in: Proceedings of the 7th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE 2009), Association for Computing Machinery, 2009, pp. 43-52.

Cited By

View all
  • (2023)GNet4FL: effective fault localization via graph convolutional neural networkAutomated Software Engineering10.1007/s10515-023-00383-z30:2Online publication date: 24-Apr-2023
  • (2022)Data flow Subsumption and its Impact on Spectrum-based Fault LocalizationProceedings of the 7th Brazilian Symposium on Systematic and Automated Software Testing10.1145/3559744.3559750(39-48)Online publication date: 3-Oct-2022
  • (2022)XAI4FLProceedings of the 30th IEEE/ACM International Conference on Program Comprehension10.1145/3524610.3527902(499-510)Online publication date: 16-May-2022
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Journal of Systems and Software
Journal of Systems and Software  Volume 90, Issue C
April 2014
204 pages

Publisher

Elsevier Science Inc.

United States

Publication History

Published: 01 April 2014

Author Tags

  1. Dynamic slicing
  2. Execute slicing
  3. Fault localization

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 13 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2023)GNet4FL: effective fault localization via graph convolutional neural networkAutomated Software Engineering10.1007/s10515-023-00383-z30:2Online publication date: 24-Apr-2023
  • (2022)Data flow Subsumption and its Impact on Spectrum-based Fault LocalizationProceedings of the 7th Brazilian Symposium on Systematic and Automated Software Testing10.1145/3559744.3559750(39-48)Online publication date: 3-Oct-2022
  • (2022)XAI4FLProceedings of the 30th IEEE/ACM International Conference on Program Comprehension10.1145/3524610.3527902(499-510)Online publication date: 16-May-2022
  • (2022)Fault localization via efficient probabilistic modeling of program semanticsProceedings of the 44th International Conference on Software Engineering10.1145/3510003.3510073(958-969)Online publication date: 21-May-2022
  • (2022)Real world projects, real faults: evaluating spectrum based fault localization techniques on Python projectsEmpirical Software Engineering10.1007/s10664-022-10189-427:6Online publication date: 1-Nov-2022
  • (2020)A multi-technique fusion approach for fault localization in manufacturing softwareJournal of Intelligent & Fuzzy Systems: Applications in Engineering and Technology10.3233/JIFS-17939738:1(229-238)Online publication date: 1-Jan-2020
  • (2020)Turn up the heat!Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering: Software Engineering Education and Training10.1145/3377814.3381707(34-44)Online publication date: 27-Jun-2020
  • (2020)CGT-FL: using cooperative game theory to effective fault localization in presence of coincidental correctnessEmpirical Software Engineering10.1007/s10664-020-09859-y25:5(3873-3927)Online publication date: 17-Aug-2020
  • (2019)Experiences Using Heat Maps to Help Students Find Their BugsProceedings of the 50th ACM Technical Symposium on Computer Science Education10.1145/3287324.3287474(260-266)Online publication date: 22-Feb-2019
  • (2019)InforenceFrontiers of Computer Science: Selected Publications from Chinese Universities10.1007/s11704-017-6512-z13:4(735-759)Online publication date: 1-Aug-2019
  • Show More Cited By

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media