Using Classification for Cost Reduction of Applying Mutation Testing
Joanna Strug, Barbara Strug
DOI: http://dx.doi.org/10.15439/2017F215
Citation: Proceedings of the 2017 Federated Conference on Computer Science and Information Systems, M. Ganzha, L. Maciaszek, M. Paprzycki (eds). ACSIS, Vol. 11, pages 99–108 (2017)
Abstract. The paper uses machine learning methods to deal with the problem of reducing the cost of applying mutation testing. A method of classifying mutants of a program using structural similarity is proposed. To calculate such a similarity each mutant is firstly converted into a hierarchical graph, which represents the mutant's control flow, variables and conditions. Then using such a graph form graph kernels are introduced to calculate similarity among mutants.The classification algorithm is then applied for prediction. This approach helps to lower the number of mutants which have to be executed. An experimental validation of this approach is also presented.
References
- W. Afzal, R. Torkar, and R. Feldt, “A systematic review of search-based testing for non-functional system properties,” Information and Software Technology, vol. 51, no. 6, 2009, pp. 957-976.
- S. Ali, L. C. Briand, H. Hemmati, and R. K. Panesar-Walawege, “A systematic review of the application and empirical investigation of search-based test-case generation,” IEEE Transactions on Software Engineering, 2010, pp. 742-762
- V. U. B. Challagulla, F. B. Bastani, I.-L. Yen, and R. A. Paul, “Empirical assessment of machine learning based software defect prediction techniques,” International Journal on Artificial Intelligence Tools, vol. 17, no. 2,2008, pp. 389-400.
- J. Strug, B. Strug, “Machine learning approach in mutation testing,” LNCS, vol. 764, 2012, pp. 200-214, http://dx.doi.org/10.1007/978-3-642-34691-0_15
- J. Strug, B. Strug, “Classifying Mutants with Decomposition Kernel,” LNCS, vol. 9692,Springer, 2016, pp.644-654, http://dx.doi.org/10.1007/978-3-319-39378-0_55
- R. A. DeMillo, R. J. Lipton, F. G. Sayward, “Hints on test data selection: help for the practicing programmer,” Computer, vol. 11, no. 4, 1978, pp. 34-41, http://dx.doi.org/ 10.1109/C-M.1978.218136
- J. H. Andrews, L. C. Briand, Y. Labiche, “Is mutation an appropriate tool for testing experiments?,” in Proc. ICSE’05, 2005, pp. 402-411, http://dx.doi.org/10.1145/1062455.1062530
- M. Harman, Y. Jia, “An analysis and survey of the development of mutation testing,” IEEE Transactions Software Engineering, vol. 37, no. 5, 2011, pp. 649-678, http://dx.doi.org/10.1109/TSE.2010.62
- H. Agrawal, R. DeMillo, R. Hathaway, W. Hsu, W. Hsu, E. Krauser, R. J. Martin, A. Mathur, E.Spafford, “Design of mutant operators for the C programming language,” Department of Computer Science, Purdue University, Lafayette, Indiana, Technical Report SERC-TR-41-P, April, 2006.
- B. Aichernig, J. Auer, E. Jobstl, R. Korosec, W. Krenn, R. Schlick, B. V. Schmidt, “Model-based mutation testing of an industrial measurement device,” LNCS, vol. 8570, 2014, pp. 1-19, http://dx.doi.org /10.1007/978-3-319-09099-3_1
- A. Derezinska, “Object-oriented mutation to asses the quality of tests,” in Proc. of the 29th Euromicro Conference, Belek-Antalya, Turkey, 2003, pp. 417-420.
- R. Just, “The major mutation framework: Efficient and scalable mutation analysis for Java,” in Proc of ISSTA’14, San Jose, Bay Area, CA, 2014, pp. 433-436, http://dx.doi.org/10.1145/2610384.2628053
- G. Kaminski, P. Ammann, J. Offutt, “Improving logic-based testing,” Journal of Systems and Software, vol. 86, no. 8, 2013, pp. 2002-2012, http://dx.doi.org/10.1016/j.jss.2012.08.024
- S. Kim, J. A. Clark, J. A. McDermid, “Class mutation: mutation testing for object-oriented programs,” in Proc. Net.ObjectDays Conference on Object-Oriented Software Systems Conference’00, Erfurt, Germany, 2000, pp. 9-12.
- J. Strug, “Applying Mutation Testing for Assessing Test Suites Quality at Model Level,” in Proc. of FedCSIS’16, ACSIS, vol. 8, 2016, pp. 1593- 1596, http://dx.doi.org/10.15439/2016F82
- J. Strug, “Mutation Testing Approach to Negative Testing,” Journal of Engineering, vol. 2016, 13 pages, http://dx.doi.org/10.1155/2016/6589140
- A. P. Mathur, “Performance, effectiveness, and reliability issues in software testing,” in Proc. COMPSAC’91, Tokyo, Japan, 1991, pp. 604-605, http://dx.doi.org/10.1109/CMPSAC.1991.170248
- A. P. Mathur, E. W. Krauser, “Mutant Unification for Improved Vectorization,” Purdue University, West Lafayette, IN, Technique Repoer SERC-TR-14-P, 1988.
- S. Hussain, “Mutation clustering,” Master’s thesis, King’s College London, Strand, London, 2008.
- C. Ji, Z. Chen, B. Xu, Z. Zhao, “A novel method of mutation clustering based on domain analysis,” in Proc. of SEKE Conference’09, Boston, Massachusetts, 2009, pp. 422-425.
- A.T. Acree, “On mutation,” Master’s thesis, Georgia Institute of Technology, Atlanta, Georgia, 1980.
- T. A. Budd, “Mutation analysis of program test data,” Master’s thesis, Yale University, New Haven, Connecticut, 1980.
- A. P. Mathur, W. E. Wong, “An empirical comparison of mutation and data flow based test adequacy criteria,” Software Testing, Verification and Reliability, vol. 4, no. 1, 1994, pp. 9-31, http://dx.doi.org/10.1002/stvr.4370040104
- W. E. Wong, “On mutation and data flow,” Master’s thesis, Purdue University, West Lafayette, Indiana, 1993.
- R. Agrawal, T. Imielinski, A. Swami, “Mining association rules between sets of items in large databases,” in Proc. of ACM-SIGMOD’93, Washinghton, D.C, 1993, pp. 207-216, http://dx.doi.org/10.1145/170035.170072
- J. Han, J. Pei, Y. Yin, R. Mao, “Mining frequent patterns without candidate generation: a frequent-pattern tree approach,” Data Mining and Knowledge Discovery, vol 8, no. 1, 2004, pp. 53-87, http://dx.doi.org/10.1023/B:DAMI.0000005258.31418.83
- A. Inokuchi, T. Washio, H. A. Motoda, “An apriori-based algorithm for mining frequent substructures from graph data,” in Proc. of PKDD’00, Lyon, France, 2000, pp. 87-92.
- B. Strug, “Using co-occurring graph patterns in computer aided design evaluation,” LNCS, vol. 9120, 2015, pp. 768-777 , http://dx.doi.org/10.1007/ 978-3-319-19369-4_68
- H. Bunke, K. Riesen, “Recent advances in graph-based pattern recognition with applications in document analysis,” Pattern Recognition, vol. 44, no. 5, 2011, pp. 1057-1067, http://dx.doi.org/10.1016/j.patcog.2010.11.015
- K. Riesen, H. Bunke, “Reducing the dimensionality of dissimilarity space embedding graph kernels,” Engineering Applications of Artificial Intelligence, vol. 22, no. 1, 2009, pp. 48-56, http://dx.doi.org/10.1016/j.engappai.2008.04.006
- B. Scholkopf, A. J. Smola, Learning with kernels, Cambridge, MT, MIT Press, 2002.
- T. Gartner, Kernels for structured data, (Series in Machine Perception and Artificial Intelligence), World Scientific, 2009.
- H. Kashima, K. Tsuda, A. Inokuchi, “Marginalized kernels between labeled graphs,” in Proc. of ICML’03, Washington, DC, 2003, pp. 321-328.
- K. M. Borgwardt, H. P. Kriegel, “Shortest-path kernels on graphs,” in Proc. of ICDM’05, Houston, Texas, 2005, pp. 74-81, http://dx.doi.org/10.1109/ICDM.2005.132
- B. Strug, “Automatic design quality evaluation using graph similarity measures,” Automation in Construction, vol. 32, 2013, pp. 187-195, http://dx.doi.org/10.1016/j.autcon.2012.12.015
- M. Collins, N. Duffy, “New ranking algorithms for parsing and tagging kernels over discrete structures, and the voted perceptron,” in Proc. of ACL’02, Philadephia, Pennsylvania, July, 2002, pp. 263-270, http://dx.doi.org/10.3115/1073083.1073128
- D. Haussler, “Convolutional kernels on discrete structures,” Computer Science Department, UC Santa Cruz, Technical Report UCSC-CRL, 1999.
- K. Shin, T. Kuboyama, “A generalization of Haussler’s convolution kernel - mapping kernel and its application to tree kernels,” J. Comput. Sci. Technol, vol. 25, no. 5, 2010, pp. 1040-1054, http://dx.doi.org/10.1007/s11390-010-1082-7
- Y. Ma, J. Offutt, Y. R. Kwon, “Mujava: a mutation system for Java,” in Proc. ICSE’06, Shanghai, China, 2006, pp. 827-830, http://dx.doi.org/10.1145/1134285.1134425
- M. Chein, M.-L. Mugnier, G. Simonet, “Nested graphs: a graph-based knowledge representation model with FOL semantics,” in Proc. of KR’98, Trento, Italy, 1998, pp. 524-535.
- J. Strug, B. Strug, “Using structural similarity to classify tests in mutation testing,” Applied Mechanics and Materials, vol. 378, 2013, pp. 546-551, http://dx.doi.org/10.4028/www.scientific.net/AMM.378.546
- P. G. Frankl, S. N. Weiss, C. Hu, “All-uses vs mutation testing: an experimental comparison of effectiveness,” Journal of Systems and Software, vol. 38, no. 3, 1997, pp. 235-253, http://dx.doi.org/10.1016/S0164-1212(96)00154-9
- A. J. Offutt, J. Pan, K. Tewary, T. Zhang, “An experimental evaluation of data flow and mutation testing,” Software, Practice and Experience, vol. 26, no. 2, 1996, pp. 165-176, http://dx.doi.org/10.1002/(SICI)1097-024X(199602)26:2<165::AID-SPE5>3.0.CO;2-K
- Y.-S. Ma, Y.-R. Kwon, A. J. Offutt, “Inter-class mutation operators for Java,” in Proc. ISSRE’02, Annapolis, MD, 2002, pp. 352-366.
- H. Wang, I.Düntsch, G. Gediga, and G. Guo, “Nearest Neighbours without k”, In: Barbara Dunin-Keplicz, Andrzej Jankowski, Andrzej Skowron, and Marcin Szczuka, editors, Monitoring, Security, and Rescue Techniques in Multiagent Systems, Advances in Soft Computing, vol. 28, 2005, pp 179-189, http://dx.doi.org/10.1007/3-540-32370-8_12.