Towards mutation analysis for use cases

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.

[1]  Richard J. Lipton,et al.  Hints on Test Data Selection: Help for the Practicing Programmer , 1978, Computer.

[2]  Jin-hua Li,et al.  Mutation Analysis for Testing Finite State Machines , 2009, 2009 Second International Symposium on Electronic Commerce and Security.

[3]  James Miller,et al.  Further Experiences with Scenarios and Checklists , 1998, Empirical Software Engineering.

[4]  Lionel C. Briand,et al.  Automatic generation of system test cases from use case specifications , 2015, ISSTA.

[5]  Barbara Paech,et al.  Achieving high quality of use-case-based requirements , 2005, Informatik - Forschung und Entwicklung.

[6]  Lionel C. Briand,et al.  aToucan: An Automated Framework to Derive UML Analysis Models from Use Case Models , 2015, TSEM.

[7]  Keith Phalp,et al.  Assessing the quality of use case descriptions , 2007, Software Quality Journal.

[8]  Hassan Gomaa,et al.  Designing concurrent, distributed, and real-time applications with UML , 2000, ICSE.

[9]  Lionel C. Briand,et al.  A Use Case Modeling Approach to Facilitate the Transition towards Analysis Models: Concepts and Empirical Evaluation , 2009, MoDELS.

[10]  Shaukat Ali,et al.  Bridging the Gap between Requirements and Aspect State Machines to Support Non-functional Testing: Industrial Case Studies , 2012, ECMFA.

[11]  Kalyanmoy Deb,et al.  Model transformation testing: a bi‐level search‐based software engineering approach , 2015, J. Softw. Evol. Process..

[12]  Michael E. Fagan Design and Code Inspections to Reduce Errors in Program Development , 1976, IBM Syst. J..

[13]  René Just,et al.  Higher accuracy and lower run time: efficient mutation analysis using non‐redundant mutation operators , 2015, Softw. Test. Verification Reliab..

[14]  Pascale Thévenod-Fosse,et al.  A mutation analysis tool for Java programs , 2003, International Journal on Software Tools for Technology Transfer.

[15]  Aybüke Aurum,et al.  An Experiment in Inspecting the Quality of Use Case Descriptions , 2004, J. Res. Pract. Inf. Technol..

[16]  Mark Harman,et al.  An Analysis and Survey of the Development of Mutation Testing , 2011, IEEE Transactions on Software Engineering.

[17]  Forrest Shull,et al.  The empirical investigation of Perspective-Based Reading , 1995, Empirical Software Engineering.

[18]  Chao Liu,et al.  A Practical Use Case Modeling Approach to Specify Crosscutting Concerns , 2016, ICSR.

[19]  Per Runeson,et al.  Are the Perspectives Really Different? – Further Experimentation on Scenario-Based Reading of Requirements , 2000, Empirical Software Engineering.

[20]  Colin J. Neill,et al.  Requirements Engineering: The State of the Practice , 2003, IEEE Softw..

[21]  Claes Wohlin,et al.  Evaluation of Usage-Based Reading—Conclusions after Three Experiments , 2004, Empirical Software Engineering.

[22]  Trevor A. Kletz,et al.  Hazop & Hazan: Identifying and Assessing Process Industry Hazards, Fouth Edition , 1999 .

[23]  Bente Anda,et al.  Towards an inspection technique for use case models , 2002, SEKE '02.

[24]  Yves Le Traon,et al.  Mutation Analysis Testing for Model Transformations , 2006, ECMDA-FA.

[25]  A. Jefferson Offutt,et al.  Mutation 2000: uniting the orthogonal , 2001 .

[26]  J. M. Singer,et al.  IEEE Recommended Practice for Software Requirements SpeciÞcations , 1993 .

[27]  Man Zhang,et al.  RTCM: a natural language based, automated, and practical test case generation framework , 2015, ISSTA.

[28]  Michael E. Fagan Advances in software inspections , 1986, IEEE Transactions on Software Engineering.

[29]  H. C. Wilson,et al.  Hazop and Hazan: Identifying and Assessing Process Industry Hazards, 4th edition , 2001 .

[30]  Chao Liu,et al.  Facilitating Requirements Inspection with Search-Based Selection of Diverse Use Case Scenarios , 2015, EAI Endorsed Trans. Creative Technol..

[31]  C KingJames A new approach to program testing , 1975 .

[32]  Ji Wu,et al.  A Systematic Approach to Automatically Derive Test Cases from Use Cases Specified in Restricted Natural Languages , 2014, SAM.

[33]  A. Jefferson Offutt,et al.  Mutation Operators for Ada , 1996 .

[34]  Mohammad Zulkernine,et al.  Mutation-Based Testing of Buffer Overflow Vulnerabilities , 2008, 2008 32nd Annual IEEE International Computer Software and Applications Conference.

[35]  Adam A. Porter,et al.  Comparing Detection Methods for Software Requirements Inspections: A Replicated Experiment , 1995, IEEE Trans. Software Eng..

[36]  YueTao,et al.  Facilitating the transition from use case models to analysis models , 2013 .

[37]  Lionel C. Briand,et al.  Facilitating the transition from use case models to analysis models: Approach and experiments , 2013, TSEM.