skip to main content
10.1145/2976767.2976784acmconferencesArticle/Chapter ViewAbstractPublication PagesmodelsConference Proceedingsconference-collections
research-article

Towards mutation analysis for use cases

Published:02 October 2016Publication History

ABSTRACT

Requirements inspection is a well-known method for detecting defects. Various defect detection techniques for requirements inspection have been widely applied in practice such as checklist and defect-based techniques. Use case modelling is a widely accepted requirements specification method in practice; therefore, inspecting defects in use case models in a cost-effective manner is an important challenge. However, it does not exist a systematic mutation analysis approach for evaluating inspection techniques for use case models. In this paper we present the methodology we followed to systematically derive mutation operators for use case models. More specifically, we first proposed a defect taxonomy defining 94 defect types, based on the IEEE Std. 830-1998 standard. Second, we systematically applied the basic guide words of the standardized Hazard and Operability Study (HAZOP) methodology to define 191 mutation operators. Last, we defined a set of guidelines for devising defect seeding strategies. The proposed methodology was evaluated by a real world case study and six case studies from the literature. Results show that all the derived mutation operators for Restricted Use Case Modelling (RUCM) models are feasible to apply and the defect taxonomy is the most comprehensive one to compare with the literature.

References

  1. Neill, C. J. and Laplante, P. A. 2003. Requirements engineering: the state of the practice. IEEE software. 20, 6 (November 2003), 40--45. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. IEEE 1998. IEEE Recommended Practice for Software Requirements Specifications. IEEE Std. 830--1998.Google ScholarGoogle Scholar
  3. Fagan, M. E. 1986. Advances in software inspections. IEEE Transactons on Software Engineering. 12, 7 (1986), 744--751. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Miller, J., Wood, M., and Roper, M. 1998. Further experiences with scenarios and checklists. Empirical Software Engineering. 3, 1 (March 1998), 37--64. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Fagan, M. E. 1976. Design and code inspections to reduce errors in program development. IBM Systems Journal. 15, 3 (1976), 182--211. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Porter, A., Votta Jr, L. G., and Basili, V. R. 1995. Comparing detection methods for software requirements inspections: A replicated experiment. Software Engineering, IEEE Transactions on. 21, 6 (June 1995), 563--575. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Basili, V. R., Green, S., Laitenberger, O., Lanubile, F., Shull, F., Sørumgård, S., et al. 1996. The empirical investigation of perspective-based reading. Empirical Software Engineering. 1, 2 (January 1996), 133--164.Google ScholarGoogle ScholarCross RefCross Ref
  8. Thelin, T., Runeson, P., Wohlin, C., Olsson, T., and Andersson, C. 2004. Evaluation of Usage-Based Reading---Conclusions after Three Experiments. Empirical Software Engineering. 9, 1--2 (March 2004), 77--110. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Regnell, B., Runeson, P., and Thelin, T. 2000. Are the perspectives really different?--further experimentation on scenario-based reading of requirements. Empirical Software Engineering. 5, 4 (Decemeber, 2000), 331--356. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Jia, Y. and Harman, M. 2011. An analysis and survey of the development of mutation testing. Software Engineering, IEEE Transactions on. 37, 5 (June 2010), 649--678. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. DeMillo, R., Lipton, R., and Sayward, F. 1979. Program mutation: A new approach to program testing. Infotech State of the Art Report, Software Testing. 2, (1979), 107--126.Google ScholarGoogle Scholar
  12. Yue, T., Briand, L. C., and Labiche, Y. 2013. Facilitating the transition from use case models to analysis models: Approach and experiments. ACM Transaction on Software Engineering and Methodology (TOSEM). 22, 1 (February 2013), 5. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Yue, T. and Ali, S. 2012. Bridging the gap between requirements and aspect state machines to support non-functional testing: industrial case studies. In Proceedings of the ECMFA 2012. Springer, 133--145. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Wang, C., Pastore, F., Goknil, A., Briand, L., and Iqbal, Z. 2015. Automatic generation of system test cases from use case specifications. In Proceedings of the ISSTA 2015. ACM, 385--396. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Cox, K., Aurum, A., and Jeffery, R. 2004. An experiment in inspecting the quality of use case descriptions. Journal of Research and Practice in Information Technology. 36, 4 (November 2004), 211--229.Google ScholarGoogle Scholar
  16. Anda, B. and Sjøberg, D. I. 2002. Towards an inspection technique for use case models. In Proceedings of the 14th SEKE. ACM, 127--134. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. IEC. 2001. IEC 61882: 2001: Hazard and operability studies (HAZOP studies). Application guide.Google ScholarGoogle Scholar
  18. Yue, T., Briand, L. C., and Labiche, Y. 2009. A use case modeling approach to facilitate the transition towards analysis models: Concepts and empirical evaluation. In Proceedings of the MODELS 2009. Springer, 484--498. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Gomaa, H. 2000. Designing concurrent, distributed, and real-time applications with UML. Addison-Wesley. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Yue, T., Briand, L. C., and Labiche, Y. 2015. aToucan: An Automated Framework to Derive UML Analysis Models from Use Case Models. ACM Transaction on Software Engineering and Methodology (TOSEM). 24, 3 (2015), 13. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Yue, T., Ali, S., and Zhang, M. 2015. RTCM: a natural language based, automated, and practical test case generation framework. In Proceedings of the ISSTA'15. ACM, 397--408. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Zhang, M., Yue, T., Ali, S., Zhang, H., and Wu, J. 2014. A Systematic Approach to Automatically Derive Test Cases from Use Cases Specified in Restricted Natural Languages. In Proceedings of the SAM 2014. Springer, 142--157.Google ScholarGoogle Scholar
  23. Yue, T., Zhang, H., Ali, S., and Liu, C. 2016. A Practical Use Case Modeling Approach to Specify Crosscutting Concerns. In Proceedings of the ICSR 2016. Springer, 89--105. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. DeMillo, R. A., Lipton, R. J., and Sayward, F. G. 1978. Hints on test data selection: Help for the practicing programmer. Computer. 11, 4 (April 1978), 34--41. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Shahriar, H. and Zulkernine, M. 2008. Mutation-based testing of buffer overflow vulnerabilities. In Proceedings of the COMPSAC'08. IEEE, 979--984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Chevalley, P. and Thévenod-Fosse, P. 2003. A mutation analysis tool for Java programs. International journal on STTT. 5, 1 (November 2003), 90--103. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Offutt, A. J., Voas, J., and Payne, J. 1996. Mutation operators for Ada. Techniqual Report.Google ScholarGoogle Scholar
  28. Fabbri, S. C., Delamaro, M. E., Maldonado, J. C., and Masiero, P. C. 1994. Mutation analysis testing for finite state machines. In Proceedings of the 5th ISSRE, IEEE, 220--229.Google ScholarGoogle Scholar
  29. Mottu, J.-M., Baudry, B., and Le Traon, Y. 2006. Mutation analysis testing for model transformations. In Proceedings of the 2nd Conference ECMDA-FA. Springer, 376--390. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Sahin, D., Kessentini, M., Wimmer, M., and Deb, K. 2015. Model transformation testing: a bi-level search-based software engineering approach. Journal of Software: Evolution and Process. 27, 11 (November 015), 821--837. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Phalp, K. T., Vincent, J., and Cox, K. 2007. Assessing the quality of use case descriptions. Software Quality Journal. 15, 1 (March 2007), 69--97. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Denger, C., Paech, B., and Freimut, B. 2005. Achieving high quality of use-case-based requirements. Informatik-Forschung und Entwicklung. 20, 1 (October 2005), 11--23.Google ScholarGoogle ScholarCross RefCross Ref
  33. Kletz, T. A. 1999. HAZOP and HAZAN: identifying and assessing process industry hazards. IChemE.Google ScholarGoogle Scholar
  34. ISO 1996. ISO/IEC 14977: 1996 (e), information technology syntactic metalanguage extended bnf. International Organization for Standardization.Google ScholarGoogle Scholar
  35. Offutt, A. J. and Untch, R. H. 2001. Mutation 2000: Uniting the orthogonal. In Mutation Testing for the New Century, W. E. Wong, Eds. Springer, 34--44. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Just, R. and Schweiggert, F. 2015. Higher accuracy and lower run time: efficient mutation analysis using non - redundant mutation operators. Software Testing, Verification and Reliability. 25, 5--7 (August 2015), 490--507. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Zhang, H., Yue, T., Ali, S., and Liu, C. 2015. Facilitating Requirements Inspection with Search-Based Selection of Diverse Use Case Scenarios. In Proceedings of the 9th EAI International Conference on Bio-inspired Information and Communications Technologies (BICT). ACM, 229--236. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Capozucca, A., Cheng, B., Georg, G., Guelfi, N., Istoan, P., and Mussbacher, G. 2011. Requirements Definition Document For A Software Product Line Of Car Crash Management Systems. Techniqual Report. CS-11--105.Google ScholarGoogle Scholar

Index Terms

  1. Towards mutation analysis for use cases

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      MODELS '16: Proceedings of the ACM/IEEE 19th International Conference on Model Driven Engineering Languages and Systems
      October 2016
      414 pages
      ISBN:9781450343213
      DOI:10.1145/2976767

      Copyright © 2016 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 2 October 2016

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      Overall Acceptance Rate118of382submissions,31%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader