Papers
Topics
Authors
Recent
Gemini 2.5 Flash
Gemini 2.5 Flash
97 tokens/sec
GPT-4o
53 tokens/sec
Gemini 2.5 Pro Pro
43 tokens/sec
o3 Pro
4 tokens/sec
GPT-4.1 Pro
47 tokens/sec
DeepSeek R1 via Azure Pro
28 tokens/sec
2000 character limit reached

MMT: Mutation Testing of Java Bytecode with Model Transformation -- An Illustrative Demonstration (2404.14097v1)

Published 22 Apr 2024 in cs.SE

Abstract: Mutation testing is an approach to check the robustness of test suites. The program code is slightly changed by mutations to inject errors. A test suite is robust enough if it finds such errors. Tools for mutation testing usually integrate sets of mutation operators such as, for example, swapping arithmetic operators; modern tools typically work with compiled code such as Java bytecode. In this case, the mutations must be defined in such a way that the mutated program still can be loaded and executed. The results of mutation tests depend directly on the possible mutations. More advanced mutations and even domain-specific mutations can pose another challenge to the test suite. Since extending the classical approaches to more complex mutations is not well supported and is difficult, we propose a model-driven approach where mutations of Java bytecode can be flexibly defined by model transformation. The corresponding tool called MMT has been extended with advanced mutation operators for modifying object-oriented structures, Java-specific properties and method calls of APIs, making it the only mutation testing tool for Java bytecode that supports such mutations.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (19)
  1. A. J. Offutt and R. H. Untch, “Mutation 2000: Uniting the orthogonal,” Mutation testing for the new century, pp. 34–44, 2001.
  2. N. Nystrom, M. R. Clarkson, and A. C. Myers, “Polyglot: An extensible compiler framework for java,” in Compiler Construction.   Springer, 2003, pp. 138–152. [Online]. Available: https://doi.org/10.1007/3-540-36579-6_11
  3. E. Bruneton, R. Lenglet, and T. Coupaye, “ASM: a code manipulation tool to implement adaptable systems,” Adaptable and extensible component systems, vol. 30, p. 19, 2002. [Online]. Available: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.117.5769
  4. “The BCEL homepage,” https://commons.apache.org/proper/commons-bcel/, May 2022, accessed: October 10, 2022.
  5. R. Just, “The major mutation framework: Efficient and scalable mutation analysis for java,” in Proc. of the 2014 Int. Symp. on Software Testing and Analysis, 2014, pp. 433–436.
  6. D. Schuler and A. Zeller, “Javalanche: Efficient mutation testing for java,” in Proc. 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.
  7. H. Coles, T. Laurent, C. Henard, M. Papadakis, and A. Ventresque, “Pit: a practical mutation testing tool for java,” in Proc. of the 25th Int. Symp. on Software Testing and Analysis, 2016, pp. 449–452.
  8. C. Bockisch, G. Taentzer, N. Nassar, and L. Wydra, “Java bytecode verification with OCL: Why, how and when,” J. Object Technol., vol. 19, no. 3, pp. 3:1–16, 2020. [Online]. Available: https://doi.org/10.5381/jot.2020.19.3.a13
  9. B. M. Yildiz, C. Bockisch, A. Rensink, and M. Aksit, “An MDE approach for modular program analyses,” in Companion to the 1st Int. Conf. on the Art, Science and Engineering of Programming, J. B. Sartor, T. D’Hondt, and W. D. Meuter, Eds.   ACM, 2017, pp. 15:1–15:5. [Online]. Available: https://doi.org/10.1145/3079368.3079392
  10. T. Arendt, E. Biermann, S. Jurack, C. Krause, and G. Taentzer, “Henshin: Advanced Concepts and Tools for In-Place EMF Model Transformations,” in Proc. MODELS.   Springer, 2010, pp. 121–135. [Online]. Available: https://www.eclipse.org/henshin
  11. “Eclipse Modeling Framework website,” https://www.eclipse.org/modeling/emf/, Apr. 2016.
  12. “Object Constraint Language, Version 2.4, Object Management Group,” http://www.omg.org/spec/OCL/2.4, Object Management Group, 2014.
  13. J. Offutt, Y.-S. Ma, and Y.-R. Kwon, “The class-level mutants of mujava,” in Proceedings of the 2006 International Workshop on Automation of Software Test, ser. AST ’06.   ACM, 2006, p. 78–84. [Online]. Available: https://doi.org/10.1145/1138929.1138945
  14. E. Biermann, C. Ermel, and G. Taentzer, “Formal foundation of consistent EMF model transformations by algebraic graph transformation,” Softw. Syst. Model., vol. 11, no. 2, pp. 227–250, 2012. [Online]. Available: https://doi.org/10.1007/s10270-011-0199-7
  15. N. Nassar, J. Kosiol, T. Arendt, and G. Taentzer, “OCL2AC: automatic translation of OCL constraints to graph constraints and application conditions for transformation rules,” in Graph Transformation - 11th International Conference, ICGT 2018, Proceedings, ser. LNCS, vol. 10887.   Springer, 2018, pp. 171–177. [Online]. Available: https://doi.org/10.1007/978-3-319-92991-0_11
  16. S. A. Irvine, T. Pavlinic, L. Trigg, J. G. Cleary, S. Inglis, and M. Utting, “Jumble: Java byte code to measure the effectiveness of unit tests,” in Testing: Academic and Industrial Conference Practice and Research Techniques.   IEEE, 2007, pp. 169–175.
  17. A. Parsai, A. Murgia, and S. Demeyer, “LittleDarwin: a feature-rich and extensible mutation testing framework for large and complex Java systems,” in Int. Conf. on Fundamentals of Software Engineering.   Springer, 2017, pp. 148–163.
  18. J.-M. Mottu, B. Baudry, and Y. L. Traon, “Mutation analysis testing for model transformations,” in Europ. Conf. on Model Driven Architecture-Foundations and Applications.   Springer, 2006, pp. 376–390.
  19. P. Gómez-Abajo, E. Guerra, J. de Lara, and M. G. Merayo, “Wodel-test: a model-based framework for language-independent mutation testing,” Softw. Syst. Model., vol. 20, no. 3, pp. 767–793, 2021. [Online]. Available: https://doi.org/10.1007/s10270-020-00827-0
User Edit Pencil Streamline Icon: https://streamlinehq.com
Authors (3)
  1. Christoph Bockisch (3 papers)
  2. Gabriele Taentzer (10 papers)
  3. Daniel Neufeld (1 paper)

Summary

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

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