Search and similarity based selection of use case scenarios: An empirical study

Use case modeling is a well-known requirements specification method and has been widely applied in practice. Use case scenarios of use case models are input elements for requirements inspection and analysis, requirements-based testing, and other downstream activities. It is, however, a practical challenge to inspect all use case scenarios that can be obtained from any non-trivial use case model, as such an inspection activity is often performed manually by domain experts. Therefore, it is needed to propose an automated solution for selecting a subset of use case scenarios with the ultimate aim of enabling cost-effective requirements (use case) inspection, analysis, and other relevant activities. Our solution is built on a natural language based, restricted use case modeling methodology (named as RUCM), in the sense that requirements specifications are specified as RUCM use case models. Use case scenarios can be automatically derived from RUCM use case models with the already established Zen-RUCM framework. In this paper, we propose a search-based and similarity-based approach called S3RCUM, through an empirical study, to select most diverse use case scenarios to enable cost-effective use case inspections. The empirical study was designed to evaluate the performance of three search algorithms together with eight similarity functions, through one real-world case study and six case studies from literature. Results show that (1+1) Evolutionary Algorithm together with Needleman-Wunsch similarity function significantly outperformed the other 31 combinations of the search algorithms and similarity functions. The combination managed to select 50% of all the generated RUCM use case scenarios for all the case studies to detect all the seeded defects.

[1]  B. Srisura,et al.  Journal of Theoretical and Applied Information Technology Retrieving Use Case Diagram with Case-based Reasoning Approach , 2022 .

[2]  Tim Kelly,et al.  Deriving safety requirements using scenarios , 2001, Proceedings Fifth IEEE International Symposium on Requirements Engineering.

[3]  Acidsby,et al.  Biological Sequence Analysis : Probabilistic Models of Proteins andNucleic , 2009 .

[4]  W. Kruskal,et al.  Use of Ranks in One-Criterion Variance Analysis , 1952 .

[5]  Rafael Corchuelo,et al.  Supporting requirements verification using XSLT , 2002, Proceedings IEEE Joint International Conference on Requirements Engineering.

[6]  Yan Li,et al.  Zen-ReqOptimizer: a search-based approach for requirements assignment optimization , 2015, Empirical Software Engineering.

[7]  A. Vargha,et al.  A Critique and Improvement of the CL Common Language Effect Size Statistics of McGraw and Wong , 2000 .

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

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

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

[11]  Christine M. Anderson-Cook Practical Genetic Algorithms (2nd ed.) , 2005 .

[12]  Kalyanmoy Deb,et al.  A fast and elitist multiobjective genetic algorithm: NSGA-II , 2002, IEEE Trans. Evol. Comput..

[13]  Claes Wohlin,et al.  Experimentation in Software Engineering , 2012, Springer Berlin Heidelberg.

[14]  Dan Gusfield,et al.  Algorithms on Strings, Trees, and Sequences - Computer Science and Computational Biology , 1997 .

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

[16]  Yuanyuan Zhang,et al.  Search Based Software Engineering: A Comprehensive Analysis and Review of Trends Techniques and Applications , 2009 .

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

[18]  Lionel C. Briand,et al.  Achieving scalable model-based testing through test case diversity , 2013, TSEM.

[19]  Yuanyuan Zhang,et al.  The multi-objective next release problem , 2007, GECCO '07.

[20]  Yuanyuan Zhang,et al.  A search based approach to fairness analysis in requirement assignments to aid negotiation, mediation and decision making , 2009, Requirements Engineering.

[21]  John H. Holland,et al.  Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence , 1992 .

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

[23]  Patrícia Duarte de Lima Machado,et al.  On the use of a similarity function for test case selection in the context of model‐based testing , 2011, Softw. Test. Verification Reliab..

[24]  Andy Huber,et al.  Peer reviews in software: a practical guide , 2002, SOEN.

[25]  Sjaak Brinkkemper,et al.  An integrated approach for requirement selection and scheduling in software release planning , 2010, Requirements Engineering.

[26]  Randy L. Haupt,et al.  Practical Genetic Algorithms , 1998 .

[27]  D. Sheskin Handbook of Parametric and Nonparametric Statistical Procedures: Third Edition , 2000 .

[28]  Lionel C. Briand,et al.  Applying product line Use case modeling in an industrial automotive embedded system: Lessons learned and a refined approach , 2015, 2015 ACM/IEEE 18th International Conference on Model Driven Engineering Languages and Systems (MODELS).

[29]  Stefania Gnesi,et al.  Applications of linguistic techniques for use case analysis , 2003, Requirements Engineering.

[30]  Giuseppe Visaggio,et al.  A Replicated Experiment to Assess Requirements Inspection Techniques , 2004, Empirical Software Engineering.

[31]  Sean R. Eddy,et al.  Biological Sequence Analysis: Probabilistic Models of Proteins and Nucleic Acids , 1998 .

[32]  Lionel C. Briand,et al.  A practical guide for using statistical tests to assess randomized algorithms in software engineering , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[33]  Gerard Salton,et al.  Automatic Text Processing: The Transformation, Analysis, and Retrieval of Information by Computer , 1989 .

[34]  Claes Wohlin,et al.  State‐of‐the‐art: software inspections after 25 years , 2002, Softw. Test. Verification Reliab..

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

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

[37]  José del Sagrado Martínez,et al.  Multi-objective ant colony optimization for requirements selection , 2015 .

[38]  Marcela Genero,et al.  Empirical Evaluation and Review of a Metrics-Based Approach for Use Case Verification , 2004, J. Res. Pract. Inf. Technol..

[39]  Mark Harman,et al.  Search Based Approaches to Component Selection and Prioritization for the Next Release Problem , 2006, 2006 22nd IEEE International Conference on Software Maintenance.

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

[41]  Thomas Jansen,et al.  On the analysis of the (1+1) evolutionary algorithm , 2002, Theor. Comput. Sci..

[42]  Pär Carlshamre,et al.  Release Planning in Market-Driven Software Product Development: Provoking an Understanding , 2002, Requirements Engineering.

[43]  S. B. Needleman,et al.  A general method applicable to the search for similarities in the amino acid sequence of two proteins. , 1970, Journal of molecular biology.

[44]  Gordon Fraser,et al.  On Parameter Tuning in Search Based Software Engineering , 2011, SSBSE.

[45]  Alexandre Petrenko,et al.  Using String Distances for Test Case Prioritisation , 2009, 2009 IEEE/ACM International Conference on Automated Software Engineering.

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

[47]  E. K. Park,et al.  Reuse system: An artificial intelligence - based approach , 1994, J. Syst. Softw..

[48]  Miguel Toro,et al.  A controlled experiment for evaluating a metric-based reading technique for requirements inspection , 2004 .

[49]  Chao Liu,et al.  Towards mutation analysis for use cases , 2016, MoDELS.

[50]  Kalyanmoy Deb,et al.  Real-coded Genetic Algorithms with Simulated Binary Crossover: Studies on Multimodal and Multiobjective Problems , 1995, Complex Syst..

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

[52]  Rui Xu,et al.  Survey of clustering algorithms , 2005, IEEE Transactions on Neural Networks.

[53]  Shari Lawrence Pfleeger,et al.  Preliminary Guidelines for Empirical Research in Software Engineering , 2002, IEEE Trans. Software Eng..

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

[55]  Rodrigo Fernandes de Mello,et al.  A Technique to Reduce the Test Case Suites for Regression Testing Based on a Self-Organizing Neural Network Architecture , 2006, 30th Annual International Computer Software and Applications Conference (COMPSAC'06).

[56]  Sami Kollanus,et al.  Survey of Software Inspection Research , 2009 .

[57]  A. Frank Ackerman,et al.  Software inspections: an effective verification process , 1989, IEEE Software.

[58]  Des Greer,et al.  Software release planning: an evolutionary and iterative approach , 2004, Inf. Softw. Technol..

[59]  L. Lasdon,et al.  On a bicriterion formation of the problems of integrated system identification and system optimization , 1971 .

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

[61]  Lionel C. Briand,et al.  An Industrial Investigation of Similarity Measures for Model-Based Test Case Selection , 2010, 2010 IEEE 21st International Symposium on Software Reliability Engineering.

[62]  Wei-Tek Tsai,et al.  N-Fold inspection: a requirements analysis technique , 1990, Commun. ACM.

[63]  Jacob L. Cybulski,et al.  Reusing UML specifications in a constrained application domain , 1998, Proceedings 1998 Asia Pacific Software Engineering Conference (Cat. No.98EX240).

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

[65]  Mark Harman,et al.  The Current State and Future of Search Based Software Engineering , 2007, Future of Software Engineering (FOSE '07).

[66]  Agnar Aamodt,et al.  Case-Based Reasoning: Foundational Issues, Methodological Variations, and System Approaches , 1994, AI Commun..

[67]  Mark Harman,et al.  Search-based software engineering , 2001, Inf. Softw. Technol..

[68]  Günther Ruhe,et al.  Bi-objective release planning for evolving software systems , 2007, ESEC-FSE '07.

[69]  L. Darrell Whitley,et al.  The GENITOR Algorithm and Selection Pressure: Why Rank-Based Allocation of Reproductive Trials is Best , 1989, ICGA.

[70]  Andrea Arcuri,et al.  It really does matter how you normalize the branch distance in search‐based software testing , 2013, Softw. Test. Verification Reliab..

[71]  Terence C. Fogarty,et al.  Comparison of steady state and generational genetic algorithms for use in nonstationary environments , 1996, Proceedings of IEEE International Conference on Evolutionary Computation.

[72]  Kalyanmoy Deb,et al.  Multi-objective Optimisation Using Evolutionary Algorithms: An Introduction , 2011, Multi-objective Evolutionary Optimisation for Product Design and Manufacturing.

[73]  M. P. Gupta,et al.  Software requirements selection using Quantum-inspired Elitist Multi-objective Evolutionary algorithm , 2012, IEEE-International Conference On Advances In Engineering, Science And Management (ICAESM -2012).

[74]  Rini van Solingen,et al.  Goal Question Metric (GQM) Approach , 2002 .

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

[76]  Günther Ruhe,et al.  Hybrid Intelligence in Software Release Planning , 2004, Int. J. Hybrid Intell. Syst..

[77]  Klaus Pohl,et al.  Requirements Engineering - Fundamentals, Principles, and Techniques , 2010 .

[78]  Poong Hyun Seong Reliability and Risk Issues in Large Scale Safety-critical Digital Control Systems , 2008 .

[79]  Nakornthip Prompoon,et al.  Software Requirements Retrieval Using Use Case Terms and Structure Similarity Computation , 2006, 2006 13th Asia Pacific Software Engineering Conference (APSEC'06).

[80]  M. Kendall A NEW MEASURE OF RANK CORRELATION , 1938 .

[81]  Lionel C. Briand,et al.  Generating Test Data from OCL Constraints with Search Techniques , 2013, IEEE Transactions on Software Engineering.

[82]  Mark Harman,et al.  A Theoretical and Empirical Study of Search-Based Testing: Local, Global, and Hybrid Search , 2010, IEEE Transactions on Software Engineering.

[83]  Claes Wohlin,et al.  Experimentation in Software Engineering , 2000, The Kluwer International Series in Software Engineering.

[84]  Shaukat Ali,et al.  Applying search algorithms for optimizing stakeholders familiarity and balancing workload in requirements assignment , 2014, GECCO.

[85]  Victor J. Rayward-Smith,et al.  The next release problem , 2001, Inf. Softw. Technol..

[86]  Des Greer,et al.  Quantitative studies in software release planning under risk and resource constraints , 2003, 2003 International Symposium on Empirical Software Engineering, 2003. ISESE 2003. Proceedings..

[87]  Bogdan Korel,et al.  Automated Software Test Data Generation , 1990, IEEE Trans. Software Eng..

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

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

[90]  Günther Ruhe,et al.  Bi-objective Genetic Search for Release Planning in Support of Themes , 2014, SSBSE.

[91]  David E. Goldberg,et al.  Genetic Algorithms in Search Optimization and Machine Learning , 1988 .

[92]  Dietmar Pfahl,et al.  Reporting Experiments in Software Engineering , 2008, Guide to Advanced Empirical Software Engineering.

[93]  Yan Li,et al.  A Practical Guide to Select Quality Indicators for Assessing Pareto-Based Search Algorithms in Search-Based Software Engineering , 2016, 2016 IEEE/ACM 38th International Conference on Software Engineering (ICSE).

[94]  Lionel C. Briand,et al.  A Systematic Review of the Application and Empirical Investigation of Search-Based Test Case Generation , 2010, IEEE Transactions on Software Engineering.

[95]  Naveed Ikram,et al.  A Novel Checklist: Comparison of CBR and PBR to Inspect Use Case Specification , 2015, APRES.

[96]  Antonio J. Nebro,et al.  jMetal: A Java framework for multi-objective optimization , 2011, Adv. Eng. Softw..

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

[98]  Andrea Arcuri,et al.  Full Theoretical Runtime Analysis of Alternating Variable Method on the Triangle Classification Problem , 2009, 2009 1st International Symposium on Search Based Software Engineering.

[99]  Stanley M. Sutton,et al.  Text2Test: Automated Inspection of Natural Language Use Cases , 2010, 2010 Third International Conference on Software Testing, Verification and Validation.

[100]  Jacques Klein,et al.  Bypassing the Combinatorial Explosion: Using Similarity to Generate and Prioritize T-Wise Test Configurations for Software Product Lines , 2014, IEEE Transactions on Software Engineering.

[101]  Thomas Gilb,et al.  Software Inspection , 1994 .