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.
- Neill, C. J. and Laplante, P. A. 2003. Requirements engineering: the state of the practice. IEEE software. 20, 6 (November 2003), 40--45. Google ScholarDigital Library
- IEEE 1998. IEEE Recommended Practice for Software Requirements Specifications. IEEE Std. 830--1998.Google Scholar
- Fagan, M. E. 1986. Advances in software inspections. IEEE Transactons on Software Engineering. 12, 7 (1986), 744--751. Google ScholarDigital Library
- Miller, J., Wood, M., and Roper, M. 1998. Further experiences with scenarios and checklists. Empirical Software Engineering. 3, 1 (March 1998), 37--64. Google ScholarDigital Library
- Fagan, M. E. 1976. Design and code inspections to reduce errors in program development. IBM Systems Journal. 15, 3 (1976), 182--211. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- IEC. 2001. IEC 61882: 2001: Hazard and operability studies (HAZOP studies). Application guide.Google Scholar
- 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 ScholarDigital Library
- Gomaa, H. 2000. Designing concurrent, distributed, and real-time applications with UML. Addison-Wesley. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Shahriar, H. and Zulkernine, M. 2008. Mutation-based testing of buffer overflow vulnerabilities. In Proceedings of the COMPSAC'08. IEEE, 979--984. Google ScholarDigital Library
- 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 ScholarDigital Library
- Offutt, A. J., Voas, J., and Payne, J. 1996. Mutation operators for Ada. Techniqual Report.Google Scholar
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- Kletz, T. A. 1999. HAZOP and HAZAN: identifying and assessing process industry hazards. IChemE.Google Scholar
- ISO 1996. ISO/IEC 14977: 1996 (e), information technology syntactic metalanguage extended bnf. International Organization for Standardization.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
Index Terms
- Towards mutation analysis for use cases
Recommendations
Towards a Problem-Driven Approach to Perspective-Based Reading
HASE '02: Proceedings of the 7th IEEE International Symposium on High Assurance Systems EngineeringThe quality of a requirements specification has a great impact on the quality of the software developed. Because of this, a requirements specification should be complete, correct, consistent, and unambiguous. Otherwise, defects may remain undetected, ...
Use of the q-Gaussian mutation in evolutionary algorithms
Special issue on advances in computational intelligence and bioinformaticsThis paper proposes the use of the q-Gaussian mutation with self-adaptation of the shape of the mutation distribution in evolutionary algorithms. The shape of the q-Gaussian mutation distribution is controlled by a real parameter q. In the proposed ...
A requirements inspection method based on scenarios generated by model mutation and the experimental validation
AbstractThe requirements phase is the most critical phase of the software development life cycle. The quality of the requirements specification affects the overall quality of the subsequent phases and hence, the software product. An effective and ...
Comments