Table of Contents
Advances in Software Engineering
Volume 2014 (2014), Article ID 197983, 16 pages
http://dx.doi.org/10.1155/2014/197983
Research Article

Mutation Analysis Approach to Develop Reliable Object-Oriented Software

Indian Institute of Technology Kharagpur, Kharagpur 721302, India

Received 4 April 2014; Revised 19 August 2014; Accepted 22 September 2014; Published 25 December 2014

Academic Editor: Henry Muccini

Copyright © 2014 Monalisa Sarma. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Linked References

  1. J. B. Goodenough, “Exception handling: issues and proposed notations,” Communications of the ACM, vol. 18, no. 12, pp. 683–696, 1975. View at Publisher · View at Google Scholar · View at Scopus
  2. J. D. Musa, Software Reliability Engineering, McGraw-Hill, London, UK, 1998.
  3. W. N. Toy, “Fault tolerant design of local ESS processor,” in The Theory and Practice of Reliable System Design, 1981. View at Google Scholar
  4. S. Sinha and M. J. Harrold, “Analysis and testing of programs with exception handling constructs,” IEEE Transactions on Software Engineering, vol. 26, no. 9, pp. 849–871, 2000. View at Publisher · View at Google Scholar · View at Scopus
  5. B. G. Ryder, D. Smith, U. Kremer, M. Gordon, and N. Shah, “A static study of java exceptions using JSEP,” Tech. Rep. DCS-TR-403, Rutgers University, November 1999. View at Google Scholar
  6. N. Tracey, J. Clark, K. Mander, and J. McDermid, “Automated test-data generation for exception conditions,” Software: Practice and Experience, vol. 30, pp. 61–79, 2000. View at Google Scholar
  7. A. Bertolino, “Software testing research: achievements, challenges, dreams,” in Proceedings of the Future of Software Engineering (FoSE '07), pp. 85–103, May 2007. View at Publisher · View at Google Scholar · View at Scopus
  8. M. J. Gallagher and V. L. Narasimhan, “Adtest: a test data generation suite for ada software systems,” IEEE Transactions on Software Engineering, vol. 23, no. 8, pp. 473–484, 1997. View at Publisher · View at Google Scholar · View at Scopus
  9. S. Sinha and M. J. Harrold, “Criteria for testing exception-handling constructs in Java programs,” in Proceedings of the IEEE International Conference on Software Maintenance (ICSM'99), pp. 265–275, September 1999. View at Scopus
  10. M. P. Robillard and G. C. Murphy, “Analyzing exception flow in java TM programs,” in Proceedings of the Joint 7 th European Software Engineering Conference and the 7 th ACM SIGSOFT Internation al Symposium on the Foundations of Software Engineering (LNCS '99), vol. 1687, pp. 322–337, Toulouse, France, Septembe 1999.
  11. J.-D. Choi, D. Grove, M. Hind, and V. Sarkar, “Efficient and precise modeling of exceptions for the analysis of Java programs,” in Proceedings of the ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering (PASTE '99), pp. 21–31, 1999. View at Publisher · View at Google Scholar
  12. T. A. Budd and D. Angluin, “Two notions of correctness and their relation to testing,” Acta Informatica, vol. 18, no. 1, pp. 31–45, 1982. View at Publisher · View at Google Scholar · View at MathSciNet · View at Scopus
  13. S.-W. Kim, J. A. Clark, and J. A. McDermid, “Investigating the effectiveness of object-oriented testing strategies using the mutation method,” Software Testing Verification and Reliability, vol. 11, no. 4, pp. 207–225, 2001. View at Publisher · View at Google Scholar · View at Scopus
  14. J. H. Andrews, L. C. Briand, and Y. Labiche, “Is mutation an appropriate tool for testing experiments?” in Proceedings of the 27th International Conference on Software Engineering (ICSE '05), pp. 402–411, IEEE, May 2005. View at Publisher · View at Google Scholar
  15. C. Ji, Z. Chen, B. Xu, and Z. Wang, “A new mutation analysis method for testing java exception handling,” in Proceedings of the 33rd Annual IEEE International Computer Software and Applications Conference (COMPSAC '09), vol. 2, pp. 556–561, IEEE Computer Society Press, July 2009. View at Publisher · View at Google Scholar · View at Scopus
  16. http://junit.org/.
  17. http://www.jumble.sourceforge.net/.
  18. http://www.java.com/.
  19. D. Samanta, Object-Oriented Programming with C++ and Java, Prentice Hall of India, New Delhi, India, 2003.
  20. J. Gosling, B. Joy, and G. Steele, The Java Language Specification, Addison-Wesley, Reading, Mass, USA, 1996.
  21. P. A. Buhr, “Advanced exception handling mechanisms,” IEEE Transactions on Software Engineering, vol. 26, no. 9, pp. 820–836, 2000. View at Publisher · View at Google Scholar · View at Scopus
  22. G. J. Myers, The Art of Software Testing, John Wiley & Sons, Hoboken, NJ, USA, 2nd edition, 2004.
  23. R. A. DeMillo, R. J. Lipton, and F. G. Sayward, “Hints on test data selection: help for the practicing programmer,” IEEE Computer, vol. 11, no. 4, pp. 34–41, 1978. View at Publisher · View at Google Scholar · View at Scopus
  24. M. E. Delamaro, J. C. Maldonado, and A. P. Mathur, “Interface mutation: an approach for integration testing,” IEEE Transactions on Software Engineering, vol. 27, no. 3, pp. 228–247, 2001. View at Publisher · View at Google Scholar · View at Scopus
  25. J. B. Rainsberger and S. Stirling, JUnit Recipes: Practical Methods for Programmer Testing, Manning, Greenwich, UK, 2005.
  26. 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 Proceedings of the IEEE Proceedings of Testing: Academic and Industrial Conference—Practice and Research Techniques, pp. 169–175, September 2007. View at Publisher · View at Google Scholar · View at Scopus
  27. Y.-S. Ma, J. Offutt, and Y.-R. Kwon, “MuJava: a mutation system for java,” in Proceedings of the 28th International Conference on Software Engineering (ICSE '06), pp. 827–830, ACM, May 2006. View at Scopus
  28. http://cs.gmu.edu/~offutt/mujava/.
  29. K. Dobolyi and W. Weimer, “Changing java's semantics for handling null pointer exceptions,” in Proceedings of the 19th International Symposium on Software Reliability Engineering (ISSRE '08), pp. 47–56, November 2008. View at Publisher · View at Google Scholar · View at Scopus
  30. L. Briand and Y. Labiche, “A UML-based approach to system testing,” Tech. Rep. TR SCE-01-01, Version 4, Carleton University, 2002. View at Google Scholar
  31. A. Abdurazik, J. Offutt, and A. Baldini, “A comparative evaluation of tests generated from different UML diagrams: diagrams and data,” Tech. Rep. ISE-TR-05-04, George Mason University, Fairfax, Va, USA, 2005. View at Google Scholar
  32. M. Sarma, Automatic test specification generation for state-based system testing [Ph.D. thesis], Indian Institute of Technology, Kharagpur, India, 2008.
  33. M. Sarma, “System state model generation from UML 2.0,” Tech. Rep. CSE-TR-04-07, Indian Institute of Technology, Kharagpur, India, April 2007. View at Google Scholar
  34. L. C. Briand, J. Cui, and Y. Labiche, “Towards automated support for deriving test data from UML statecharts,” in Proceedings of the Unified Modeling Language Conference (UML '03), vol. 2863 of Lecture Notes in Computer Science, pp. 249–264, Springer, San Francisco, Calif, USA, October 2003.
  35. S. C. Ntafos, “A comparison of some structural testing strategies,” IEEE Transactions on Software Engineering, vol. 14, no. 6, pp. 868–874, 1988. View at Publisher · View at Google Scholar · View at Scopus
  36. J. C. Huang, “An approach to program testing,” ACM Computing Surveys, vol. 7, no. 3, pp. 114–128, 1975. View at Google Scholar
  37. P. G. Frankl and E. J. Weyuker, “An applicable family of data flow testing criteria,” IEEE Transactions on Software Engineering, vol. 14, no. 10, pp. 1483–1498, 1988. View at Publisher · View at Google Scholar · View at MathSciNet · View at Scopus
  38. M. J. Harrold and M. L. Soffa, “Interprocedural data flow testing,” in Proceedings of the ACM SIGSOFT of 3rd Symposium of Software Testing, Analysis and Verification (SIGSOFT '89), pp. 158–167, December 1989. View at Publisher · View at Google Scholar
  39. J. W. Laski and B. Korel, “A data flow oriented program testing strategy,” IEEE Transactions on Software Engineering, vol. 9, no. 3, pp. 347–354, 1983. View at Publisher · View at Google Scholar · View at Scopus
  40. S. Rapps and E. J. Weyuker, “Selecting software test data using data flow information,” IEEE Transactions on Software Engineering, vol. 11, no. 4, pp. 367–375, 1985. View at Publisher · View at Google Scholar · View at Scopus
  41. P. G. Frankl and S. N. Weiss, “Experimental comparison of the effectiveness of branch testing and data flow testing,” IEEE Transactions on Software Engineering, vol. 19, no. 8, pp. 774–787, 1993. View at Publisher · View at Google Scholar · View at Scopus
  42. W. E. Howden, “Methodology for the generation of program test data,” IEEE Transactions on Computers, vol. 24, no. 5, pp. 554–560, 1975. View at Publisher · View at Google Scholar · View at Scopus
  43. T. J. McCabe, “A complexity measure,” IEEE Transactions on Software Engineering, vol. 2, no. 4, pp. 308–320, 1976. View at Google Scholar · View at MathSciNet · View at Scopus
  44. P. G. Frankl and E. J. Weyuker, “Provable improvements on branch testing,” IEEE Transactions on Software Engineering, vol. 19, no. 10, pp. 962–975, 1993. View at Publisher · View at Google Scholar · View at Scopus
  45. B. Beizer, Software Testing Techniques, Thomson Computer Press, New York, NY, USA, 2nd edition, 1990.
  46. R. Boyer, B. Elspas, and K. Levitt, “SELECT—a formal system for testing and debugging programs by symbolic execution,” in Proceedings of International Conference on Reliable Software, pp. 234–245, 1975.
  47. L. A. Clarke, “A system to generate test data and symbolically execute programs,” IEEE Transactions on Software Engineering, vol. 2, no. 3, pp. 215–222, 1976. View at Google Scholar · View at MathSciNet · View at Scopus
  48. J. C. King, “Symbolic execution and program testing,” Communications of the Association for Computing Machinery, vol. 19, no. 7, pp. 385–394, 1976. View at Publisher · View at Google Scholar · View at Zentralblatt MATH · View at MathSciNet · View at Scopus
  49. C. V. Ramamoorthy, S.-B. F. Ho, and W. T. Chen, “On the automated generation of program test data,” IEEE Transactions on Software Engineering, vol. 2, no. 4, pp. 293–300, 1976. View at Publisher · View at Google Scholar · View at Scopus
  50. R. A. DeMillo and A. J. Offutt, “Experimental results from an automatic test case generator,” ACM Transactions on Software Engineering and Methodology, vol. 2, no. 2, pp. 109–127, 1993. View at Publisher · View at Google Scholar · View at Scopus
  51. B. Korel, “Automated software test data generation,” IEEE Transactions on Software Engineering, vol. 16, no. 8, pp. 870–879, 1990. View at Publisher · View at Google Scholar · View at Scopus
  52. B. F. Jones, H.-H. Sthamer, and D. E. Eyres, “Automatic structural testing using genetic algorithms,” Software Engineering Journal, vol. 11, no. 5, pp. 299–306, 1996. View at Publisher · View at Google Scholar · View at Scopus
  53. R. A. DeMillo and A. J. Offutt, “Constraint-based automatic test data generation,” IEEE Transactions on Software Engineering, vol. 17, no. 9, pp. 900–910, 1991. View at Publisher · View at Google Scholar · View at Scopus
  54. A. J. Offutt, Z. Jin, and J. Pan, “The dynamic domain reduction procedure for test data generation,” Software—Practice and Experience, vol. 29, no. 2, pp. 167–193, 1999. View at Google Scholar · View at Scopus
  55. R. V. Binder, Testing Object Oriented Systems: Models, Patterns and Tools, The Object Technology, Addison-Wesley, 1999.
  56. J. Z. Gao, H.-S. J. Tsao, and Y. Wu, Testing and Quality Assurance for Component-Based Software, Artech House, Norwood, Mass, USA, 2003.
  57. K. Adamopoulos, M. Harman, and R. M. Hierons, “How to overcome the equivalent mutant problem and achieve tailored selective mutation using co-evolution,” in Proceedings of the Genetic and Evolutionary Computation Conference (LNCS '04), vol. 3103, pp. 1338–1349, Seattle, Wash, USA, June 2004.
  58. A. J. Offutt and J. Pan, “Automatically detecting equivalent mutants and infeasible paths,” Software Testing Verification and Reliability, vol. 7, no. 3, pp. 165–192, 1997. View at Google Scholar · View at Scopus