Facilitating Requirements Inspection with Search-Based Selection of Diverse Use Case Scenarios

Use case scenarios are often used for conducting requirements inspection and other relevant downstream activities. While working with industrial partners, we discovered that an automated solution is required for optimally selecting a subset of use case scenarios, aiming to enable cost-effective requirements inspection. In this paper, relying on a natural language based use case modeling methodology to specify requirements as use case models and derive use case scenarios automatically, we propose a search based and similarity function based approach to optimally select most diverse use case scenarios from the ones automatically generated from the use case models. We conducted an empirical study to evaluate the performance of various search algorithms together with eight similarity functions, through an industrial case study and six case studies from the literature. Results show that the search algorithms significantly outperformed Random Search and (1+1) Evolutionary Algorithm together with the Normalized Longest Common Subsequence (NLCS) similarity function performed significantly better than the other 31 combinations of the search algorithms and similarity functions for most of the problems.

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

[2]  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).

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

[4]  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).

[5]  Per Runeson,et al.  Usage-based readingan experiment to guide reviewers with use cases , 2001, Inf. Softw. Technol..

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

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

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

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

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

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

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

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

[14]  Jian Pei,et al.  Sequence Data Mining , 2007, Advances in Database Systems.

[15]  Yuanyuan Zhang,et al.  Empirical evaluation of search based requirements interaction management , 2013, Inf. Softw. Technol..

[16]  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..

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

[18]  Debasish Kundu,et al.  A Novel Approach of Prioritizing Use Case Scenarios , 2007, 14th Asia-Pacific Software Engineering Conference (APSEC'07).

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

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

[21]  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.

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

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

[24]  Dirk Sudholt,et al.  A theoretical runtime and empirical analysis of different alternating variable searches for search-based testing , 2013, GECCO '13.

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