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

An effective fault localization approach based on PageRank and mutation analysis

Published: 01 October 2023 Publication History

Abstract

Mutation-based fault localization (MBFL) is a popular method based on mutation testing. MBFL applies a variety of operators to generate mutants and calculates the statement’s suspiciousness by counting the execution results of the test cases on the mutants. However, the tie problem of MBFL creates obstacles to accurate fault localization. The tie problem refers to that many statements have the same suspiciousness. To solve the tie problem, we propose a fault localization approach based on the PageRank algorithm and mutation analysis (PRMA). We first apply the PageRank algorithm to calculate the faultiness scores of the statements. Then, we weight the suspicious value of the statements with faultiness scores to solve the tie problem. Finally, the weighted suspicious values are sorted in descending order to generate a list, which is provided to developers for fault localization. To evaluate our approach, we conduct experiments on the real fault benchmark Defects4J and the artificial fault dataset Siemens. We compare PRMA with the traditional MBFL techniques (Metallaxis and MUSE) and recently proposed MBFL methods (MCBFL-hybrid-avg, SMFL and SMBFL). The experimental results show that our approach outperforms above comparison methods and improves the effect of fault localization in both quantity and accuracy.

Highlights

PRMA combines PageRank and mutation analysis for fault localization.
Solving the tie problem by weighting the mutating suspicious value with the PageRank score.
Evaluating on the real and artificial faults from Defects4J and Siemens, respectively.
PRMA outperforms traditional and recently proposed MBFL methods.

References

[1]
Abreu R., Zoeteweij P., Van Gemund Arjan J.C., An evaluation of similarity coefficients for software fault localization, in: 2006 12th Pacific Rim International Symposium on Dependable Computing (PRDC’06), 2006, pp. 39–46,.
[2]
Bhattacharya P., Iliofotou M., Neamtiu I., Faloutsos M., Graph-based analysis and prediction for software evolution, in: 2012 34th International Conference on Software Engineering (ICSE), 2012, pp. 419–429,.
[3]
Borodin A., Roberts G.O., Rosenthal J.S., Tsaparas P., Link analysis ranking: Algorithms, theory, and experiments, ACM Trans. Int. Technol. 5 (1) (2005) 231–297,.
[4]
Campos J., Riboira A., Perez A., Abreu R., GZoltar: an eclipse plug-in for testing and debugging, in: ACM International Conference on Automated Software Engineerin, ACM, 2012, pp. 378–381,.
[5]
Chaleshtari N.B., Parsa S., SMBFL: slice-based cost reduction of mutation-based fault localization, Empir. Softw. Eng. 25 (5) (2020) 1–33.
[6]
Cui Z., Jia M., Chen X., Zheng L., Liu X., Improving software fault localization by combining spectrum and mutation, IEEE Access 8 (2020) 172296–172307.
[7]
Do H., Elbaum S., Rothermel G., Supporting controlled experimentation with testing techniques: An infrastructure and its potential impact, Empir. Softw. Eng. 10 (4) (2005) 405–435.
[8]
Dutta A., Godboley S., MSFL: a model for fault localization using mutation-spectra technique, in: Lean and Agile Software Development: 5th International Conference, LASD 2021, Virtual Event, January 23, 2021, Proceedings 5, Springer, 2021, pp. 156–173.
[9]
F G.D., PageRank beyond the web, Siam Rev. 57 (4) (2015) 321–363.
[10]
Farahat A., LoFaro T., Miller J.C., Rae G., Ward L.A., Authority rankings from HITS, PageRank, and SALSA: Existence, uniqueness, and effect of initialization, SIAM J. Sci. Comput. 27 (4) (2006) 1181–1201,.
[11]
G A., S. S., B. R., Automated fault localization for C programs, Electron. Notes Theor. Comput. Sci. 174 (4) (2007) 95–111,.
[12]
Jia Y., Harman M., An analysis and survey of the development of mutation testing, IEEE Trans. Softw. Eng. 37 (5) (2011) 649–678,.
[13]
Just, R., Jalali, D., E., M.D., 2014. Defects4J: a database of existing faults to enable controlled testing studies for Java programs. In: Proceedings of the International Symposium on Software Testing and Analysis. pp. 437–440. https://doi.org/10.1145/2610384.2628055.
[14]
Just R., Kapfhammer G.M., Schweiggert F., Using non-redundant mutation operators and test suite prioritization to achieve efficient and scalable mutation analysis, in: 2012 IEEE 23rd International Symposium on Software Reliability Engineering, 2012, pp. 11–20,.
[15]
Kleinberg J.M., Authoritative sources in a hyperlinked environment, J. ACM 46 (5) (1999) 604–632,.
[16]
Laurent T., Papadakis M., Kintis M., Henard C., Le Traon Y., Ventresque A., Assessing and improving the mutation testing practice of PIT, in: 2017 IEEE International Conference on Software Testing, Verification and Validation (ICST), 2017, pp. 430–435,.
[17]
Laurent T., Ventresque A., PIT-HOM: an extension of pitest for higher order mutation analysis, in: 2019 IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW), 2019, pp. 83–89,.
[18]
Lempel, R., Moran, S., 2000. The Stochastic Approach for Link-Structure Analysis (SALSA) and the TKC Effect. In: Proceedings of the 9th International World Wide Web Conference on Computer Networks: The International Journal of Computer and Telecommunications Netowrking. pp. 387–401.
[19]
Li X., Li W., Zhang Y., Zhang L., DeepFL: integrating multiple fault diagnosis dimensions for deep fault localization, in: Proceedings of the 28th ACM SIGSOFT International Symposium on Software Testing and Analysis, ACM, 2019, pp. 169–180.
[20]
Liu Y., Li Z., Wang L., Hu Z., Zhao R., Statement-oriented mutant reduction strategy for mutation based fault localization, in: 2017 IEEE International Conference on Software Quality, Reliability and Security (QRS), 2017, pp. 126–137,.
[21]
Liu C., Ma C., Zhang T., Improving Spectrum-Based Fault Localization using quality assessment and optimization of a test suite, in: 20th IEEE International Conference on Software Qualit, IEEE, 2020, pp. 72–78,.
[22]
Moon S., Kim Y., Kim M., Yoo S., Ask the mutants: Mutating faulty programs for fault localization, in: 2014 IEEE Seventh International Conference on Software Testing, Verification and Validation, 2014, pp. 153–162,.
[23]
Page, L., Brin, S., Motwani, R., Winograd, T., 1998. The PageRank Citation Ranking: Bringing Order to the Web. Stanford Digital Libraries Working Paper.
[24]
Papadakis M., Delamaro M.E., Le Traon Y., Proteum/FL: A tool for localizing faults using mutation analysis, in: 2013 IEEE 13th International Working Conference on Source Code Analysis and Manipulation (SCAM), 2013, pp. 94–99,.
[25]
Papadakis M., Le Traon Y., Using mutants to locate ”unknown” faults, in: 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation, 2012, pp. 691–700,.
[26]
Papadakis M., Le Traon Y., Metallaxis-FL: mutation-based fault localization, J. Softw. Test., Verication, Reliab. 25 (5–7) (2015) 605–628,.
[27]
Pearson, S., Campos, J., Just, R., Fraser, G., Abreu, R., E., M.D., Pang, D., Keller, B., 2017. Evaluating and improving fault localization. In: Proceedings of the 39th International Conference on Software Engineering. pp. 609–620. https://doi.org/10.1109/ICSE.2017.62.
[28]
Rabinowitz P.H., Some minimax theorems and applications to nonlinear partial differential equations, in: Nonlinear Analysis, Academic Press, 1978, pp. 161–177,.
[29]
Siami Namin A., Andrews J., Murdoch D., Sufficient mutation operators for measuring test effectiveness, in: 2008 ACM/IEEE 30th International Conference on Software Engineering, 2008, pp. 351–360,.
[30]
Vessey I., Expertise in debugging computer programs: A process analysis, Int. J. Man-Mach. Stud. 23 (5) (1985) 459–494.
[31]
Wong W.E., Debroy V., Golden R., Xu X., Thuraisingham B., Effective software fault localization using an RBF neural network, IEEE Trans. Reliab. 61 (1) (2012) 149–169,.
[32]
Wong W.E., Gao R., Li Y., Abreu R., Wotawa F., A survey on software fault localization, IEEE Trans. Softw. Eng. 42 (8) (2016) 707–740,.
[33]
Xie X., Chen T.Y., Kuo F., Xu B., A theoretical analysis of the risk evaluation formulas for spectrum-based fault localization, ACM Trans. Softw. Eng. Methodol. 22 (4) (2013) 31:1–31:40,.
[34]
Zhang M., Li X., Zhang L., Khurshid S., Boosting spectrum-based fault localization using PageRank, in: Proceedings of the 26th ACM SIGSOFT International Symposium on Software Testing and Analysis, in: ISSTA 2017, Association for Computing Machinery, 2017, pp. 261–272,.
[35]
Zhang L., Zhang L., Khurshid S., Injecting mechanical faults to localize developer faults for evolving software, in: Conference on Object-Oriented Programming Systems, Languages, and Applications, 2013, pp. 765–784.
[36]
Zou D., Liang J., Xiong Y., Ernst M.D., Zhang L., An empirical study of fault localization families and their combinations, IEEE Trans. Softw. Eng. 47 (2) (2021) 332–347,.

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 204, Issue C
Oct 2023
486 pages

Publisher

Elsevier Science Inc.

United States

Publication History

Published: 01 October 2023

Author Tags

  1. Software fault localization
  2. Mutation-based fault localization
  3. PageRank algorithm
  4. Mutation analysis

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 0
    Total Downloads
  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 05 Feb 2025

Other Metrics

Citations

View Options

View options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media