Advertisement

Multimedia Tools and Applications

, Volume 78, Issue 21, pp 29881–29898 | Cite as

Automatic debugging of operator errors based on efficient mutation analysis

  • TianTian WangEmail author
  • JiaHuan Xu
  • XiaoHong Su
  • ChenShi Li
  • Yang Chi
Article
  • 39 Downloads

Abstract

It takes a lot of time and effort to manually locate and fix software bugs. This paper proposes a method for automatically debugging operator related bugs. Testing, fault localization, and bug-fixing are closely linked based on mutation analysis. However, in the process of mutation analysis, the generation of a large number of mutants and the execution of test cases on mutants, is fairly time-consuming. To solve this problem, optimization methods for selection of mutants and test cases have been proposed. Experiment results has shown that it can improve the efficiency of mutation analysis, so that the cost of fault-localization and bug-fixing can be reduced. We also implemented the exhaustive mutation method and the random mutation method and compared these three methods. These three method have different application scenarios. As the mutation based fault localization can rank statements by suspiciousness, the method integrated with fault localization is more stable and has batter performance. Also, it is more suitable for analyzing program with multi-bugs.

Keywords

Mutation analysis Fault-localization Automatic repair Operator error 

Notes

Acknowledgements

This study was supported by National Key R&D Program of China (Grant No. 2018YFB1004800), the National Natural Science Foundation of China(Grant No. 61672191) and Harbin science and technology innovation talents research project(Grant No. 2016RAQXJ013).

References

  1. 1.
    Debroy V, Wong WE (2014) Combining mutation and fault localization for automated program debugging. J Syst Softw 90(1):45–60CrossRefGoogle Scholar
  2. 2.
    Demillo RA, Lipton RJ, Sayward FG (1978) Hints on test data selection: help for the practicing programmer. Computer 11(4):34–41CrossRefGoogle Scholar
  3. 3.
    Gazzola L, Micucci D, Mariani L (2017) Automatic software repair: a survey. IEEE Trans Softw Eng PP(99):1–1Google Scholar
  4. 4.
    Gong P, Zhao R, Li Z (2015) Faster mutation-based fault localization with a novel mutation execution strategy. In: IEEE eighth international conference on software testing, verification and validation workshops, pp 1–10Google Scholar
  5. 5.
    Huang JC (1978) Program instrumentation and software testing. Computer 11 (4):25–32CrossRefGoogle Scholar
  6. 6.
    Jia Y, Harman M (2011) An analysis and survey of the development of mutation testing. IEEE Trans Softw Eng 37(5):649–678CrossRefGoogle Scholar
  7. 7.
    Lin B, Guo W, Xiong N, Chen G, Vasilakos AV, Zhang H (2016) A pretreatment workflow scheduling approach for big data applications in multicloud environments. IEEE Trans Netw Serv Manag 13(3):581–594CrossRefGoogle Scholar
  8. 8.
    Moon S, Kim Y, Kim M, Yoo S (2014) Ask the mutants: mutating faulty programs for fault localization. In: IEEE seventh international conference on software testing, verification and validation, pp 153–162Google Scholar
  9. 9.
    Offutt AJ (1996) An experimental determination of sufficient mutant operators. ACM Trans Softw Eng Methodol (TOSEM) 5(2):99–118CrossRefGoogle Scholar
  10. 10.
    Papadakis M, Traon YL (2014) Effective fault localization via mutation analysis: a selective mutation approach. In: ACM symposium on applied computing, pp 1293–1300Google Scholar
  11. 11.
    Renieris M, Reiss SP (2003) Fault localization with nearest neighbor queries. In: Proceedings of IEEE international conference on automated software engineering, 2003, pp 30–39Google Scholar
  12. 12.
    Rui A, Zoeteweij P, Gemund AJCV (2007) On the accuracy of spectrum-based fault localization. In: Testing: academic and industrial conference practice and research techniques - mutation, 2007. Taicpart-Mutation, pp 89–98Google Scholar
  13. 13.
    Wei W, Yong Q (2011) Information potential fields navigation in wirelessad-hocsensor networks. Sensors 11(5):4794–4807MathSciNetCrossRefGoogle Scholar
  14. 14.
    Wei W, Yang XL, Shen PY, Zhou B (2012) Holes detection in anisotropic sensornets: topological methods. Int J Distrib Sens Netw, 2012,(2012-10-23) 2012(2012):1–9Google Scholar
  15. 15.
    Wong WE, Gao R, Li Y, Rui A, Wotawa F (2016) A survey on software fault localization. IEEE Trans Softw Eng 42(8):707–740CrossRefGoogle Scholar
  16. 16.
    Zheng H, Guo W, Xiong N (2017) A kernel-based compressive sensing approach for mobile data gathering in wireless sensor network systems. IEEE Trans Syst Man Cybern Syst Hum PP(99):1–13Google Scholar

Copyright information

© Springer Science+Business Media, LLC, part of Springer Nature 2018

Authors and Affiliations

  1. 1.School of Computer Science and TechnologyHarbin Institute of TechnologyHarbinChina

Personalised recommendations