A Study and Review on the Development of Mutation Testing Tools for Java and Aspect-J Programs

Full Text (PDF, 341KB), PP.1-10

Views: 0 Downloads: 0

Author(s)

Pradeep Kumar Singh 1,* Om Prakash Sangwan 2 Arun Sharma 3

1. Department of Computer Science Engineering, Amity University, Uttar Pradesh, India

2. School of ICT, Gautam Buddha University, Greater Noida, India

3. Indira Gandhi Delhi Technical University for Women, New Delhi, India

* Corresponding author.

DOI: https://doi.org/10.5815/ijmecs.2014.11.01

Received: 10 Aug. 2014 / Revised: 6 Sep. 2014 / Accepted: 2 Oct. 2014 / Published: 8 Nov. 2014

Index Terms

Software Testing, Mutation Testing, Aspect Oriented Programs, Mutation Testing Tool, ITDs: Inter-type Declarations, Join Points, Pointcut Descriptors and Mutation Analysis.

Abstract

Mutation analysis in software testing is observed as the most effective way to validate the software under inspection. In last decade, number of researchers developed various methods and tools to apply mutation testing on Aspect Oriented Programs. In this paper, authors analyzed numerous mutation testing based tools available to test the Java and AspectJ programs. All effective and popular Aspect-J testing tools have been considered and analyzed in this paper, based on essential requirements in this context, considered to be fulfilled by testing tools decided by testing professional and researchers for such tools. This paper analyzed the work progress in the field of mutation testing techniques and tools specific to Java and AspectJ. This work considered essential parameters on which the analysis of analyzed tools is carried out. In case of addition parameters considered for evaluation, some of the resultant metrics may vary slightly under modification in basic requirements. Based on the numeric value estimated, it is finally suggested the merits of a mutation tool under different circumstances. This is the extension of the work carried by us in previous review for aspect based mutation testing techniques.

Cite This Paper

Pradeep Kumar Singh, Om Prakash Sangwan, Arun Sharma, "A Study and Review on the Development of Mutation Testing Tools for Java and Aspect-J Programs", International Journal of Modern Education and Computer Science (IJMECS), vol.6, no.11, pp.1-10, 2014. DOI:10.5815/ijmecs.2014.11.01

Reference

[1]Tassey G., “The economic impacts of inadequate infrastructure for software testing”, Technical Planning Report 02-3, National Institute of Standards and Technology, Program Office Strategic Planning and Economic Analysis Group, May 2002.
[2]Zuhoor A. K., Woodward M., and Ramadhan H.A., “Critical analysis of the pie testability technique”, Software Quality Control, 10(4):331-354, 2002.
[3]Filman R., Elrad T., Clarke S., “Aspect Oriented Software Development”, Addison-Wesley Publishing Company, 2004.
[4]Anbalagan P. and Tao X., “Automated Generation of Pointcut Mutants for Testing Pointcuts in AspectJ Programs”, in Proceedings of the 19th International Symposium on Software Reliability Engineering (ISSRE’08), IEEE Computer Society, pp. 239–248, 11-14 November 2008.
[5]Zhao C. and Alexander R.T.,“Testing AspectJ Programs using Fault-Based Testing”, Workshop on Testing Aspect Oriented Programs (WTAOP’07), Vancouver, British Columbia, Canada, ACM, 2007.
[6]Alexander R.T., Bieman J.M. and Andrews A. A., “Towards the Systematic Testing of Aspect-Oriented Programs”, Technical Report CS-4-105, Colorado State University, 2004.
[7]DeMillo R.A., Lipton R.J., Sayward F.G., “Hints on test data selection: help for the practicing programmer”, IEEE Computer, 11 (4), pp. 34–41, 1978.
[8]Offutt A. J. and Untch R. H., "Mutation 2000: Uniting the Orthogonal", In Mutation 2000: Mutation Testing in the Twentieth and the Twenty First Centuries, pp. 45-55, 2000.
[9]DeMillo R. A. and Offutt A. J., “Constraint-based automatic test data generation”, IEEE Trans. Softw. Eng., 17(9), pp. 900– 910, 1991.
[10]Offutt A.J., “A Practical System for Mutation Testing: Help for the Common Programmer”, Twelfth International Conference on Testing Computer Software, pp. 99-109, 1995.
[11]Andrews J.H., Briand L.C., Labiche Y., “Is mutation an appropriate tool for testing experiments?”, In Proc. of 27th International Conference on Software Engineering (ICSE 2005), pp. 402–411, 2005.
[12]Anbalagan P. and Tao X., “Efficient Mutant Generation for Mutation Testing of Pointcuts in Aspect-Oriented Programs”, Mutation 2006 - ISSRE Workshops, 2006.
[13]Lemos O. A. L., Ferrari F. C., Lopes C. V. and Maseiro P. C., “Testing Aspect Oriented Programming Pointcut Descriptors”, In Proceedings of the 2nd workshop on Testing aspect-oriented programs(WTAOP '06), Portland, ACM, 2006.
[14]Ferrari F.C., Maldonado J.C., Rashid A., “Mutation Testing for Aspect-Oriented Programs”, International Conference on Software Testing, Verification, and Validation, pp. 52-61, IEEE 2008.
[15]Mortensen M. and Alexander R. T., “An approach for adequate testing of AspectJ programs”, In Proc. 1st Workshop on Testing Aspect-Oriented Programs, 2005.
[16]Yamazaki Y., Sakurai K., Matsuura S., Masuhara H., Hashiura H., and Komiya S., “A unit testing framework for aspects without weaving”, In Proc. 1st Workshop on Testing Aspect-Oriented Programs, 2005.
[17]AspectJ benchmark, 2004, available at http://www.sable.mcgill.ca/benchmarks/.
[18]Singh M., Mishra S., “Mutant generation for Aspect oriented Programs”, International Journal of Computer Science and Engineering, Vol.1, pages 409-415, 2010.
[19]Delamare R., Baudry B. , Ghosh S., and Le T.Y., “A Test- Driven Approach to Developing Pointcut Descriptors in AspectJ”, in Proceedings of the 2nd International Conference on Software Testing Verification and Validation (ICST’09), pp. 376–38, 2009.
[20]Delamare R., Advicetracer. Available at: www.irisa.fr/triskell/Softwares/protos/advicetracer.
[21]Dahm M. and Zyl J. Van, Byte Code Engineering Library, April 2003. Available at: http://jakarta.apache.org/bcel/.
[22]Sun Microsystems. Java Reflection API. Online manual, 2001.
[23]Eclipse, AspectJ compiler 1.5, May 2005. Available at: http://eclipse.org/aspectj/.
[24]Arnold K., Gosling J., and Holmes D., “The Java Programming Language”, Addison-Wesley Longman, 2000.
[25]Singh M, Gupta P.K., Mishra S., “Automated Test Data Generation for Mutation Using AspectJ Programs”, In Proceedings of ICIIP-2011, IEEE, 2011.
[26]Jackson A. and Clarke S., “MuAspectJ: Mutant Generation to Support Measuring the Testability of AspectJ Programs”, Technical report, ACM, 2009.
[27]Delamare R., Baudry B., and Le T. Y., “AjMutator: A Tool for The Mutation Analysis of AspectJ Pointcut Descriptors”, in Proceedings of the 4th International Workshop on Mutation Analysis (MUTATION’09), pp. 200–204, 2009.
[28]Ferrari F.C., Nakagawa E.Y., Maldonado J.C., Rashid A., “Proteum/AJ: a mutation system for AspectJ programs”, in Proceedings of AOSD-11, ACM, 2010.
[29]Do H. and Rothermel H., “A controlled experiment assessing test case prioritization techniques via mutation faults”, In Proc. of the 21st IEEE International Conference on Software Maintenance (ICSM 2005), pp. 411–420, 2005.
[30]Horgan J.R., Mathur A., “Assessing testing tools in research and education”, IEEE Software, 9(3), pp.61–69, 1992.
[31]Madeyski L., Radyk N., “Judy – a mutation testing tool for Java”, Published in IET Softw., Vol. 4, Issue 1, pp. 32–42, 2010.
[32]Delamaro, M. E.; Maldonado, J. C., “Proteum: A tool for the assessment of test adequacy for C programs”, In: Conference on Performability in Computing Systems (PCS), USA, pp. 79-95, 1996.
[33]Singh M., Mishra S. and Mall R., “Accessing and Evaluating AspectJ based Mutation Testing Tools”, published in Iinternational Journal of Computer Application, pp. 33-38, 2011.
[34]Vincenzi A. M. R., Simao, A. S., Delamaro, M. E.,Maldonado, J. C., “Muta-Pro: Towards the definition of a mutation testing process”, Journal of the Brazilian Computer Society, Vol.12, No.2, pp. 49-61, 2006.
[35]Ceccato, M., Tonella, P., Ricca, F., “Is AOP code easier or harder to test than OOP code?” In Proceedings of the First Workshop on Testing Aspect-Oriented Programs (WTAOP 2005). Chicago, Illinois, 2005.
[36]Scholivé, M., Beroulle, V., Robach, C., Flottes, M.L., Rouzeyre, B., “Mutation Sampling Technique for the Generation of Structural Test Data”, published in proceedings of Design, Automation and Test in Europe (DATE’05), 2005.
[37]Moore I., “Jester and Pester,” http://jester.sourceforge.net/, 2001.
[38]Chevalley P. and The′venod-Fosse P., “A Mutation Analysis Tool for Java Programs”, International Journal of Software Tools for Technology Transfer, Vol. 5, No. 1, pp. 90-103, Nov. 2002.
[39]Ma Y.S., Offutt J., and Kwon Y.R., “MuJava: An Automated Class Mutation System,” Software Testing, Verification, and Reliability, Vol. 15, No. 2, pp. 97-133, 2005.
[40]Ma Y.S., Offutt J., and Kwon Y.R., “MuJava: A Mutation System for Java,” Proc. 28th International Conference on Software Engg., pp. 827-830, 2006.
[41]Offutt J., Ma Y.S., Kwon Y.R., “An Experimental Mutation System for Java”, ACM SIGSOFT Software Eng. Notes, Vol. 29, No. 5, pp. 1-4, 2004.
[42]Bradbury J.S., Cordy J.R., and Dingel J., “ExMAn: A Generic and Customizable Framework for Experimental Mutation Analysis”, Proc. Second Workshop Mutation Analysis, pp. 57-62, 2006.
[43]Kim S.W., Harrold M.J., and Kwon Y.R., “MUGAMMA: Mutation Analysis of Deployed Software to Increase Confidence Assist Evolution”, Proc. Second Workshop Mutation Analysis, pp. 10, 2006.
[44]Smith B.H.,Williams L., “An Empirical Evaluation of the MuJava Mutation Operators”, Proc. Third Workshop Mutation Analysis, pp. 193-202, Sept. 2007.
[45]SourceForge, “Jumble,” http://jumble.sourceforge.net/, 2007.
[46]Polo M., Tendero S., and Piattini M., “Integrating Techniques and Tools for Testing Automation”, Software Testing, Verification, and Reliability, Vol. 17, No. 1, pp. 3-39, 2007.
[47]Grun B.J., Schuler D., Zeller A., “The Impact of Equivalent Mutants”, Proc. Fourth International Workshop Mutation Analysis, pp. 192-199, Apr. 2009.
[48]Tanaka A., “Equivalence Testing for Fortran Mutation System Using Data Flow Analysis”, Master’s Thesis, Georgia Inst. of Technology, 1981.
[49]Just R., Schweiggert F., Kapfhammer G.M., “MAJOR: An efficient and extensible tool for mutation analysis in a Java compiler”, published with Proceedings 26th IEEE/ACM International Conference on Automated Software Engineering, pp. 612-615, 2011.
[50]Offutt A.J. and Untch R.H., “Mutation 2000: Uniting the Orthogonal”, Proc. First Workshop Mutation Analysis, pp. 34-44, 2000.
[51]Hamlet R.G., “Testing programs with the aid of a compiler”, IEEE Trans. on Soft. Engg., pp. 279-290, Vol. (4), Jul. 1977.
[52]Singh, P.K, Sangwan O.P. and Sharma A., “A Systematic Review on Fault Based Mutation Testing Techniques and Tools for Aspect-J Programs”, published in proceedings of 3rd IEEE International Advance Computing Conference, IACC-2013, India, 22-23 Feb. 2013.