Papers
Topics
Authors
Recent
Gemini 2.5 Flash
Gemini 2.5 Flash
129 tokens/sec
GPT-4o
28 tokens/sec
Gemini 2.5 Pro Pro
42 tokens/sec
o3 Pro
4 tokens/sec
GPT-4.1 Pro
38 tokens/sec
DeepSeek R1 via Azure Pro
28 tokens/sec
2000 character limit reached

Mutation Analysis with Execution Taints (2403.01146v1)

Published 2 Mar 2024 in cs.SE

Abstract: Mutation analysis is one of the most effective, but costly means of assessing the ability of software test suites to prevent bugs. Traditional mutation analysis involves producing and evaluating syntactic variants of the original to check whether the test suite under evaluation is capable of distinguishing between the variant and the original in terms of behavior. Evaluating each mutant separately means a large amount of redundant computation, both between the original program and mutants, and also between different mutants. Previous work explored numerous means of removing redundancy. However, some amount of redundancy has remained especially in the post-mutation phase. In this paper, we propose execution taints--A novel technique that repurposes dynamic data-flow taints for mutation analysis. Our technique is the only technique that can remove the redundancy in post-mutation phase, achieving better efficiency in mutation analysis. We further leverage memoization to eliminate redundant execution between program variants.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (28)
  1. R. Gopinath, “On the limits of mutation analysis,” dissertation, Oregon State University, 2017. [Online]. Available: https://rahul.gopinath.org/resources/icse2016/gopinath2016on.pdf
  2. D. Schuler and A. Zeller, “Javalanche: Efficient mutation testing for java,” in Proceedings of the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering, 2009, pp. 297–298.
  3. R. Just, M. D. Ernst, and G. Fraser, “Efficient mutation analysis by propagating and partitioning infected execution states,” in Proceedings of the 2014 International Symposium on Software Testing and Analysis.   ACM, 2014, pp. 315–326.
  4. K. N. King and A. J. Offutt, “A fortran language system for mutation-based software testing,” Software: Practice and Experience, vol. 21, no. 7, pp. 685–718, 1991.
  5. R. Gopinath, C. Jensen, and A. Groce, “Topsy-turvy: a smarter and faster parallelization of mutation analysis,” in Proceedings of the 38th International Conference on Software Engineering Companion, 2016, pp. 740–743.
  6. S. Tokumoto, H. Yoshida, K. Sakamoto, and S. Honiden, “Muvm: Higher order mutation analysis virtual machine for c,” in 2016 IEEE International Conference on Software Testing, Verification and Validation (ICST).   IEEE, 2016, pp. 320–329.
  7. B. Wang, Y. Xiong, Y. Shi, L. Zhang, and D. Hao, “Faster mutation analysis via equivalence modulo states,” in Proceedings of the 26th ACM SIGSOFT International Symposium on Software Testing and Analysis, 2017, pp. 295–306.
  8. J. Allen, “Perl version 5.8. 8 documentation-perlsec,” http://perldoc.perl.org/perlsec.pdf, 2006, accessed: 2018-07-30.
  9. B. Livshits, “Dynamic taint tracking in managed runtimes,” https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/tr-6.pdf, Microsoft Research Technical Report, Tech. Rep. MSR-TR-2012-114, 2012.
  10. V. Haldar, D. Chandra, and M. Franz, “Dynamic taint propagation for java,” in 21st Annual Computer Security Applications Conference (ACSAC’05).   IEEE, 2005, pp. 9–pp.
  11. J. J. Conti and A. Russo, “A taint mode for python via a library,” in Nordic Conference on Secure IT Systems.   Springer, 2010, pp. 210–222.
  12. A. Zeller, R. Gopinath, M. Böhme, G. Fraser, and C. Holler, “Tracking information flow,” in The Fuzzing Book.   CISPA Helmholtz Center for Information Security, 2021, retrieved 2021-11-13 17:58:11+01:00. [Online]. Available: https://www.fuzzingbook.org/html/InformationFlow.html
  13. J. Hunt, “Python properties,” in A Beginners Guide to Python 3 Programming.   Springer, 2019, pp. 253–261.
  14. R. A. DeMillo, R. J. Lipton, and F. G. Sayward, “Hints on test data selection: Help for the practicing programmer,” Computer, vol. 11, no. 4, pp. 34–41, 1978.
  15. M. Papadakis, M. Kintis, J. Zhang, Y. Jia, Y. Le Traon, and M. Harman, “Mutation testing advances: an analysis and survey,” in Advances in Computers.   Elsevier, 2019, vol. 112, pp. 275–378.
  16. A. V. Pizzoleto, F. C. Ferrari, J. Offutt, L. Fernandes, and M. Ribeiro, “A systematic literature review of techniques and metrics to reduce the cost of mutation testing,” Journal of Systems and Software, vol. 157, p. 110388, 2019.
  17. A. J. Offutt, G. Rothermel, and C. Zapf, “An experimental evaluation of selective mutation,” in Proceedings of 1993 15th international conference on software engineering.   IEEE, 1993, pp. 100–107.
  18. W. E. Howden, “Weak mutation testing and completeness of test sets,” IEEE Transactions on Software Engineering, no. 4, pp. 371–379, 1982.
  19. A. J. Offutt and S. D. Lee, “How strong is weak mutation?” in Proceedings of the symposium on Testing, analysis, and verification, 1991, pp. 200–213.
  20. ——, “An empirical evaluation of weak mutation,” IEEE Transactions on Software Engineering, vol. 20, no. 5, pp. 337–344, 1994.
  21. V. H. Durelli, J. Offutt, and M. E. Delamaro, “Toward harnessing high-level language virtual machines for further speeding up weak mutation testing,” in 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation.   IEEE, 2012, pp. 681–690.
  22. D. Schuler and A. Zeller, “Checked coverage: an indicator for oracle quality,” Software testing, verification and reliability, vol. 23, no. 7, pp. 531–551, 2013.
  23. A. J. Offutt, R. P. Pargas, S. V. Fichter, and P. K. Khambekar, “Mutation testing of software using mimd computer.” in ICPP (2).   Citeseer, 1992, pp. 257–266.
  24. E. W. Krauser, A. P. Mathur, and V. J. Rego, “High performance software testing on simd machines,” IEEE Transactions on Software Engineering, vol. 17, no. 5, p. 403, 1991.
  25. P. C. Cañizares, M. G. Merayo, and A. Núñez, “Eminent: Embarrassingly parallel mutation testing,” Procedia Computer Science, vol. 80, pp. 63–73, 2016.
  26. I. Saleh and K. Nagi, “Hadoopmutator: A cloud-based mutation testing framework,” in International Conference on Software Reuse.   Springer, 2015, pp. 172–187.
  27. V. N. Fleyshgakker and S. N. Weiss, “Efficient mutation analysis: A new approach,” in Proceedings of the 1994 ACM SIGSOFT international symposium on Software testing and analysis, 1994, pp. 185–195.
  28. R. H. Untch, A. J. Offutt, and M. J. Harrold, “Mutation analysis using mutant schemata,” in Proceedings of the 1993 ACM SIGSOFT international symposium on Software testing and analysis, 1993, pp. 139–148.

Summary

We haven't generated a summary for this paper yet.

X Twitter Logo Streamline Icon: https://streamlinehq.com