Advertisement

Classifying Mutants with Decomposition Kernel

  • Joanna Strug
  • Barbara StrugEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9692)

Abstract

The paper deals with the problem of reducing the cost of mutation testing using artificial intelligence methods. The presented approach is based on the similarity of mutants. The mutants are coded as control flow diagrams representing the programs structure, variables and conditions. The similarity is then calculated with the use of a new graph kernel and used to predict if a given test case detects a mutant or not. The prediction process is performed by a classification algorithm. Experimental results are also presented in this paper on the basis of two systems.

Keywords

Mutation testing Machine learning Graph distance Classification Test evaluation 

References

  1. 1.
    Aichernig, B.K., Auer, J., Jöbstl, E., Korošec, R., Krenn, W., Schlick, R., Schmidt, B.V.: Model-based mutation testing of an industrial measurement device. In: Seidl, M., Tillmann, N. (eds.) TAP 2014. LNCS, vol. 8570, pp. 1–19. Springer, Heidelberg (2014)Google Scholar
  2. 2.
    Acree, A.T.: On mutation, PhD Thesis, Georgia Institute of Technology, Atlanta, Georgia (1980)Google Scholar
  3. 3.
    Agrawal, R., Imielinski, T., Swami, A.: Mining association rules between sets of items in large databases. In: Proceedings of SIGMOD 1993, pp. 207–216 (1993)Google Scholar
  4. 4.
    Andrews, J.H., Briand, L.C., Labiche, Y.: Is mutation an appropriate tool for testing experiments? In: Proceedings of ICSE, pp. 402–411 (2005)Google Scholar
  5. 5.
    Borgwardt, K.M., Kriegel, H.P.: Shortest-path kernels on graphs. In: Proceedings of ICDM 2005, pp. 74–81 (2005)Google Scholar
  6. 6.
    Bunke, H., Riesen, K.: Recent advances in graph-based pattern recognition with applications in document analysis. Pattern Recognit. 44(5), 1057–1067 (2011)CrossRefzbMATHGoogle Scholar
  7. 7.
    Ji, C., Chen, Z., Xu, B., Zhao, Z.: A novel method of mutation clustering based on domain analysis. In: Proceedings of the 21st International Conference on Software Engineering and Knowledge Engineering (2009)Google Scholar
  8. 8.
    Chevalley, P., Thévenod-Fosse, P.: A mutation analysis tool for Java programs. Int. J. Softw. Tools Technol. Transf. 5(1), 90–103 (2002)CrossRefGoogle Scholar
  9. 9.
    Collins, M., Duffy, N.: New ranking algorithms for parsing and tagging, kernels over discrete structures, and the voted perceptron. In: Proceedings of ACL 2002 (2002)Google Scholar
  10. 10.
    DeMillo, R.A., Lipton, R.J., Sayward, F.G.: Hints on test data selection: help for the practicing programmer. Computer 11(4), 34–41 (1978)CrossRefGoogle Scholar
  11. 11.
    Gartner, T.: A survey of kernels for structured data. SIGKDD Explor. 5(1), 49–58 (2003)MathSciNetCrossRefGoogle Scholar
  12. 12.
    Gartner, T.: Kernels for Structured Data. Machine Perception and Artificial Intelligence, vol. 72. World Scientific, London (2009)Google Scholar
  13. 13.
    Han, J., Pei, J., Yin, Y., Mao, R.: Mining frequent patterns without candidate generation: a frequent-pattern tree approach. Data Min. Knowl. Discov. Int. J. 8(1), 53–87 (2004)MathSciNetCrossRefGoogle Scholar
  14. 14.
    Haussler, D.: Convolutional kernels on discrete structures, Technical report UCSC-CRL-99-10. Computer Science Department, UC Santa Cruz (1999)Google Scholar
  15. 15.
    Howden, W.E.: Weak mutation testing and completeness of test sets. IEEE Trans. Softw. Eng. 8, 371–379 (1982)CrossRefGoogle Scholar
  16. 16.
    Hussain, S.: Mutation clustering, Masters thesis, Kings College London, Strand, London (2008)Google Scholar
  17. 17.
    Inokuchi, A., Washio, T., Motoda, H.: An apriori-based algorithm for mining frequent substructures from graph data. In: Zighed, D.A., Komorowski, J., Żytkow, J.M. (eds.) PKDD 2000. LNCS (LNAI), vol. 1910, pp. 13–23. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  18. 18.
    Jia, Y., Harman, M.: An analysis and survey of the development of mutation testing. IEEE Trans. Softw. Eng. 37(5), 649–678 (2011)CrossRefGoogle Scholar
  19. 19.
    Kashima, H., Tsuda, K., Inokuchi, A.: Marginalized kernels between labeled graphs. In: ICML 2003, pp. 321–328 (2003)Google Scholar
  20. 20.
    Liwicki, M., Bunke, H., Pittman, J.A., Knerr, S.: Combining diverse systems for handwritten text line recognition. Mach. Vis. Appl. 22(1), 39–51 (2011)CrossRefGoogle Scholar
  21. 21.
    Liwicki, M., Schlapbach, A., Bunke, H.: Automatic gender detection using on-line and off-line information. Pattern Anal. Appl. 14(1), 87–92 (2011)MathSciNetCrossRefGoogle Scholar
  22. 22.
    Ma, Y., Offutt, J., Kwon, Y.R.: MuJava: a mutation system for Java. In: Proceedings of ICSE 2006, pp. 827–830 (2006)Google Scholar
  23. 23.
    Mathur, A.P.: Performance, effectiveness, and reliability issues in software testing. In: Proceedings of COMPSAC 1991, pp. 604–605 (1991)Google Scholar
  24. 24.
    Mathur, A.P., Krauser, E.W.: Mutant unification for improved vectorization, Purdue University, West Lafayette, IN, Technique report SERC-TR-14-P (1988)Google Scholar
  25. 25.
    Myers, G., Sandler, C., Badgett, T.: The Art of Software Testing. Wiley, Hoboken (2011)Google Scholar
  26. 26.
    Offutt, J., Untch, R.H.: Mutation 2000: uniting the orthogonal. In: Proceedings of Mutation Testing in the Twentieth and the Twenty First Centuries, pp 45–55 (2000)Google Scholar
  27. 27.
    Radu, V.: Application. In: Radu, V. (ed.) Stochastic Modeling of Thermal Fatigue Crack Growth. ACM, vol. 1, pp. 63–70. Springer, Heidelberg (2015)Google Scholar
  28. 28.
    Roman, A.: Testing and software quality. In: PWN (2015) (in Polish)Google Scholar
  29. 29.
    Schlkopf, B.: A Short Introduction to Learning with Kernels. LNAI, vol. 2600, pp. 41–64. Springer, Heidelberg (2003)Google Scholar
  30. 30.
    Schlkopf, B., Smola, A.J.: Learning with Kernels. MIT Press, Cambridge (2002)Google Scholar
  31. 31.
    Strug, B., Slusarczyk, G.: Frequent pattern mining in a design supporting system. Key Eng. Mater. 450, 1–4 (2011)CrossRefGoogle Scholar
  32. 32.
    Strug, J.: Classification of mutation operators applied to design models. Key Eng. Mater. 572, 539–542 (2014)CrossRefGoogle Scholar
  33. 33.
    Strug, J.: Mutation testing approach to evaluation of design models. Key Eng. Mater. 572, 543–546 (2014)CrossRefGoogle Scholar
  34. 34.
    Strug, J., Strug, B.: Machine learning approach in mutation testing. In: Nielsen, B., Weise, C. (eds.) ICTSS 2012. LNCS, vol. 7641, pp. 200–214. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  35. 35.
    Strug, J., Strug, B.: Using structural similarity to classify tests in mutation testing. Appl. Mech. Mater. 378, 546–551 (2013)CrossRefGoogle Scholar
  36. 36.
    Untch, R.H.: Mutation-based software testing using program schemata. In: Proceedings of the 30th Annual Southeast Regional Conference, pp. 285–291 (1992)Google Scholar
  37. 37.
    Yan, X., Yu, P.S., Han, J.: Substructure similarity search in graph databases. In: Proceedings of International Conference on Management of Data (2005)Google Scholar
  38. 38.
    Yan, X., Yu, P.S., Han, J.: Graph indexing, a frequent structure-based approach. In: Proceedings of International Conference on Management of Data (2004)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  1. 1.Faculty of Electrical and Computer EngineeringCracow University of TechnologyKrakowPoland
  2. 2.Department of Physics, Astronomy and Applied Computer ScienceJagiellonian UniversityKrakowPoland

Personalised recommendations