Skip to main content
Log in

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

  • Published:
Empirical Software Engineering Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21
Fig. 22
Fig. 23
Fig. 24
Fig. 25
Fig. 26

Similar content being viewed by others

Notes

  1. https://www.student.cs.uwaterloo.ca/~se463/

  2. The Abel cluster: http://www.uio.no/english/services/it/research/hpc/abel/

References

  • Aamodt A, Plaza E (1994) Case-based reasoning: foundational issues, methodological variations, and system approaches. AI Commun 7:39–59

    Google Scholar 

  • Ackerman AF, Buchwald LS, Lewski FH (1989) Software inspections: an effective verification process. IEEE Softw 6:31–36

    Article  Google Scholar 

  • Ali S, Briand LC, Hemmati H, Panesar-Walawege RK (2010) A systematic review of the application and empirical investigation of search-based test case generation. IEEE Trans Softw Eng 36:742–762

    Article  Google Scholar 

  • Ali S, Iqbal MZ, Arcuri A, Briand LC (2013) Generating test data from OCL constraints with search techniques. IEEE Trans Softw Eng 39:1376–1402

    Article  Google Scholar 

  • Allenby K, Kelly T (2001) Deriving safety requirements using scenarios. In: 5th IEEE International Symposium on Requirements Engineering, 2001. IEEE, pp 228–235

  • Anda B, Sjøberg DI (2002) Towards an Inspection technique for use case models. In: Proceedings of the 14th international conference on Software engineering and knowledge engineering, 2002. ACM, pp 127–134

  • Arcuri A (2009) Full Theoretical runtime analysis of alternating variable method on the triangle classification problem. In: SSBSE '09 Proceedings of the 2009 1st International Symposium on Search Based Software Engineering, 2009. IEEE, pp 113–121

  • Arcuri A (2013) It really does matter how you normalize the branch distance in search-based software testing. Software Testing. Verif Reliab (STVR) 23:119–147

    Article  Google Scholar 

  • Arcuri A, Briand L (2011) A practical guide for using statistical tests to assess randomized algorithms in software engineering. In: 33rd International Conference on Software Engineering (ICSE), 2011. IEEE, pp 1–10

  • Arcuri A, Fraser G (2011) On parameter tuning in search based software engineering. In: Search Based Software Engineering. Springer, pp 33–47

  • Aurum A, Petersson H, Wohlin C (2002) State-of-the-art: software inspections after 25 years. Software Testing. Verif Reliab (STVR) 12:133–154

    Article  Google Scholar 

  • Bagnall AJ, Rayward-Smith VJ, Whittley IM (2001) The next release problem. Inf Softw Technol 43:883–890

    Article  Google Scholar 

  • Baker P, Harman M, Steinhöfel K, Skaliotis A (2006) Search based approaches to component selection and prioritization for the next release problem. In: 22nd IEEE International Conference on Software Maintenance, ICSM’06, 2006. IEEE, pp 176–185

  • Basili VR, Green S, Laitenberger O, Lanubile F, Shull F, Sørumgård S, Zelkowitz MV (1996) The Empirical Investigation of Perspective-Based Reading Empirical Software Engineering 1:133–164

  • Basili VR, Caldiera G, Rombach HD (2002) Goal question metric (gqm) approach. Encyclopedia Softw Eng 1:528–532. doi:10.1002/0471028959.sof142

    Google Scholar 

  • Bernárdez B, Genero M, Durán A, Toro M (2004) A controlled experiment for evaluating a metric-based reading technique for requirements inspection. In: 10th International Symposium on Software Metrics, 2004b. IEEE, pp 257–268

  • Bernárdez B, Durán A, Genero M (2004b) Empirical evaluation and review of a metrics-based approach for use case verification. J Res Pract Inf Technol 36:247–258

    Google Scholar 

  • Blok MC, Cybulski JL (1998) Reusing UML specifications in a constrained application domain. In: 1998 Asia Pacific Software Engineering Conference, 1998. IEEE, pp 196–202

  • Bonferroni CE (1936) Teoria statistica delle classi e calcolo delle probabilita. Libreria internazionale Seeber

  • Capozucca A et al. (2011) Requirements definition document for a software product line of car crash management systems. ReMoDD repository, at http://wwwcscolostateedu/remodd/v1/content/bcms-requirements-definition

  • Carlshamre P (2002) Release planning in market-driven software product development: provoking an understanding. Requir Eng 7:139–151

    Article  Google Scholar 

  • Cartaxo EG, Machado PD, Neto FGO (2011) On the use of a similarity function for test case selection in the context of model-based testing. Software Testing. Verif Reliab (STVR) 21:75–100

    Article  Google Scholar 

  • Cox K, Aurum A, Jeffery R (2004) An experiment in inspecting the quality of use case descriptions. J Res Pract Inf Technol 36:211–229

    Google Scholar 

  • Cox1 K, Aurum A, Jeffery R (2004) A use case description inspection experiment. UNSW-CSE-TR-0414, University of New South Wales, School of Computer Science and Engineering

  • Deb K (2001) Multi-objective optimization using evolutionary algorithms: an introduction vol 16. John Wiley & Sons

  • Deb K, Kumar A (1995) Real-coded genetic algorithms with simulated binary crossover: studies on multimodal and multiobjective problems. Complex Syst 9:431–454

    Google Scholar 

  • Deb K, Pratap A, Agarwal S, Meyarivan T (2002) Fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Trans Evol Comput 6:182–197

    Article  Google Scholar 

  • del Sagrado J, del Águila IM, Orellana FJ (2015) Multi-objective ant colony optimization for requirements selection. Empir Softw Eng 20:577–610

    Article  Google Scholar 

  • Denger C, Paech B, Freimut B (2005) Achieving high quality of use-case-based requirements. Informatik-Forschung und Entwicklung 20:11–23

    Article  Google Scholar 

  • Dong G, Pei J (2007) Sequence data mining vol 33. Springer Sci Bus Med. doi:10.1007/978-0-387-69937-0

    Google Scholar 

  • Droste S, Jansen T, Wegener I (2002) On the analysis of the (1+1) evolutionary algorithm. Theor Comput Sci 276:51–81

    Article  MathSciNet  MATH  Google Scholar 

  • Durán A, Ruiz-Cortés A, Corchuelo R, Toro M (2002) Supporting Requirements Verification Using XSLT. In: IEEE Joint International Conference on Requirements Engineering, 2002. IEEE, pp 165–172

  • Durbin R, Eddy SR, Krogh A, Mitchison G (1998) Biological sequence analysis: probabilistic models of proteins and nucleic acids. Cambridge university press

  • Durillo JJ, Nebro AJ (2011) jMetal: a Java framework for multi-objective optimization. Adv Eng Softw 42:760–771

    Article  Google Scholar 

  • Fagan ME (1976) Design and code inspections to reduce errors in program development. IBM Syst J 15:182–211

    Article  Google Scholar 

  • Fagan ME (1986) Advances in software inspections. IEEE Trans Softw Eng 12:744–751

    Article  Google Scholar 

  • Fantechi A, Gnesi S, Lami G, Maccari A (2003) Applications of linguistic techniques for use case analysis. Requir Eng 8:161–170

    Article  Google Scholar 

  • Finkelstein A, Harman M, Mansouri SA, Ren J, Zhang Y (2009) A search based approach to fairness analysis in requirement assignments to aid negotiation, mediation and decision making. Requir Eng 14:231–245

    Article  Google Scholar 

  • Fusaro P, Lanubile F, Visaggio G (1997) A replicated experiment to assess requirements inspection techniques. Empir Softw Eng 2:39–57

    Article  Google Scholar 

  • Gilb T, Graham D, Finzi S (1993) Software Inspection. Addison-Wesley Longman Publishing Co., Inc

  • Golberg DE (1989) Genetic algorithms in search, optimization and machine learning. Addison-Wesley Longman Publishing Co., Inc. Boston

    Google Scholar 

  • Gomaa H (2001) Designing concurrent, distributed, and real-time applications with UML. In: ICSE ’01 Proceedings of the 23rd International Conference on Software Engineering, 2001. ACM, pp 737–738

  • Greer D, Ruhe G (2004) Software release planning: an evolutionary and iterative approach. Inf Softw Technol 46:243–253

    Article  Google Scholar 

  • Gusfield D (1997) Algorithms on strings, trees and sequences: computer science and computational biology. Cambridge university press, New York

    Book  MATH  Google Scholar 

  • Haimes YY, Lasdon LS, Wismer DA (1971) On a bicriterion formulation of the problems of integrated system identification and system optimization. IEEE Trans Syst, Man, Cybernet:296–297

  • Hajri I, Goknil A, Briand LC, Stephany T (2015) Applying product line use case modeling in an industrial automotive embedded system: lessons learned and a refined approach. In: ACM/IEEE 18th International Conference on Model Driven Engineering Languages and Systems (MODELS), 2015. IEEE, pp 338–347

  • Harman M (2007) The current state and future of search based software engineering. In: 2007 Future of Software Engineering, 2007. IEEE Computer Society, pp 342–357

  • Harman M, Jones BF (2001) Search-based software engineering. Inf Softw Technol 43:833–839

    Article  Google Scholar 

  • Harman M, McMinn P (2010) A theoretical and empirical study of search-based testing: local, global, and hybrid search. IEEE Trans Softw Eng 36:226–247

    Article  Google Scholar 

  • Harman M, Mansouri SA, Zhang Y (2009) Search based software engineering: a comprehensive analysis and review of trends techniques and applications. Technical Report TR-09-03, Department of Computer Science, King’s College London.

  • Haupt RL, Haupt SE (2004) Practical genetic algorithms, 2nd edn. Wiley, Hoboken

    MATH  Google Scholar 

  • Hemmati H, Briand L (2010) An industrial investigation of similarity measures for model-based test case selection. In: IEEE 21st International Symposium on Software Reliability Engineering (ISSRE), 2010. IEEE, pp 141–150

  • Hemmati H, Arcuri A, Briand L (2013) Achieving scalable model-based testing through test case diversity. ACM Trans Softw Eng Methodol (TOSEM) 22:6

    Article  Google Scholar 

  • Henard C, Papadakis M, Perrouin G, Klein J, Heymans P, Traon YL (2014) Bypassing the combinatorial explosion: using similarity to generate and prioritize T-wise test configurations for software product lines. IEEE Trans Softw Eng 40:650–670

    Article  Google Scholar 

  • Holland JH (1992) Adaptation in natural and artificial systems: an introductory analysis with applications to biology, control and artificial intelligence. MIT Press Cambridge, MA

    Google Scholar 

  • IEC (2001) IEC 61882: 2001: Hazard and Operability Studies (HAZOP studies). Application Guide

  • IEEE (1998) IEEE Recommended Practice for Software Requirements Specifications. IEEE Std 830–1998

  • Jaccard P (1901) Étude comparative de la distribution florale dans une portion des Alpes et du Jura vol 3. Bulletin del la Soci ́et ́e Vaudoise des Sciences Naturelles

  • Jacobson I, Spence I, Bittner K (2011) USE-CASE 2.0 The guide to succedding with use cases

  • Jedlitschka A, Ciolkowski M, Pfahl D (2008) Reporting experiments in software engineering. In: Guide to Advanced Empirical Software Engineering. Springer, pp 201–228

  • Karim MR, Ruhe G (2014) Bi-objective genetic search for release planning in support of themes. In: Search-Based Software Engineering. Springer, pp 123–137

  • Kendall MG (1938) A new measure of rank correlation. Biometrika 30:81–93. doi:10.2307/2332226

    Article  MATH  Google Scholar 

  • Kitchenham BA, Pfleeger SL, Pickard LM, Jones PW, Hoaglin DC, El Emam K, Rosenberg J (2002) Preliminary guidelines for empirical research in software engineering. IEEE Trans Softw Eng 28:721–734

    Article  Google Scholar 

  • Kollanus S, Koskinen J (2009) Survey of software inspection research. Open Softw Eng J 3:15–34

    Article  Google Scholar 

  • Korel B (1990) Automated software test data generation. IEEE Trans Softw Eng 16:870–879

    Article  Google Scholar 

  • Kruskal WH, Wallis WA (1952) Use of ranks in one-criterion variance analysis. J Am Stat Assoc 47:583–621

    Article  MATH  Google Scholar 

  • Laitenberger O (2002) A survey of software inspection technologies. Handbook Softw Eng Knowledge Eng 2:517–555

    Article  Google Scholar 

  • Ledru Y, Petrenko A, Boroday S (2009) Using string distances for test case prioritisation. In: Automated Software Engineering, 2009. ASE’09. 24th IEEE/ACM International Conference on, 2009. IEEE, pp 510–514

  • Li C, van den Akker M, Brinkkemper S, Diepen G (2010) An integrated approach for requirement selection and scheduling in software release planning. Requir Eng 15:375–396

    Article  Google Scholar 

  • Li Y, Yue T, Ali S, Zhang L (2016) Zen-ReqOptimizer: a search-based approach for requirements assignment optimization. Empirical Softw Eng:1–60

  • Martin J, Tsai WT (1990) N-Fold inspection: a requirements analysis technique. Commun ACM 33:225–232

    Article  Google Scholar 

  • Miller J, Wood M, Roper M (1998) Further experiences with scenarios and checklists. Empir Softw Eng 3:37–64

    Article  Google Scholar 

  • Naveed A, Ikram N (2015) A novel checklist: comparison of CBR and PBR to inspect use case specification. In: Requirements Engineering in the Big Data Era. Springer, pp 109–125

  • Needleman SB, Wunsch CD (1970) A general method applicable to the search for similarities in the amino acid sequence of two proteins. J Mol Biol 48:443–453

    Article  Google Scholar 

  • Neill CJ, Laplante PA (2003) Requirements engineering: the state of the practice. IEEE Softw 6:40–45

    Article  Google Scholar 

  • OMG (2011) Documents Associated With Business Process Model And Notation™ (BPMN™) Version 2.0. http://www.omg.org/spec/BPMN/2.0/PDF. Accessed Dec. 2, 2015

  • OMG (2015) Meta Object Facility (MOF) Core Specification V2.5. http://www.omg.org/spec/MOF/2.5/PDF/. Accessed Dec. 2, 2015

  • Phalp KT, Vincent J, Cox K (2007) Assessing the quality of use case descriptions. Softw Qual J 15:69–97

    Article  Google Scholar 

  • Pohl K (2010) Requirements Engineering: Fundamentals, Principles, and Techniques. Springer Publishing Company, Incorporated

    Book  Google Scholar 

  • Porter A, Votta LG Jr, Basili VR (1995) Comparing detection methods for software requirements inspections: a replicated experiment. IEEE Trans Softw Eng 21:563–575

    Article  Google Scholar 

  • Prasad A, Park E (1994) Reuse system: an artificial intelligence-based approach. J Syst Softw 27:207–221

    Article  Google Scholar 

  • Regnell B, Runeson P, Thelin T (2000) Are the perspectives really different?–further experimentation on scenario-based reading of requirements. Empir Softw Eng 5:331–356

    Article  MATH  Google Scholar 

  • RTCA (2011a) DO-178C Software considerations in airborne systems and equipment certification

  • RTCA (2011b) DO-332 Object-oriented technology and related techniques Supplement to DO-178C and DO-278A

  • Ruhe G, Greer D (2003) Quantitative studies in software release planning under risk and resource constraints In: International Symposium on Empirical Software Engineering, 2003. IEEE, pp 262–270

  • Ruhe G, Ngo A (2004) Hybrid intelligence in software release planning. Int J Hybrid Intell Syst 1:99–110

    Article  Google Scholar 

  • Saliu MO, Ruhe G (2007) Bi-objective release planning for evolving software systems In: 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on the foundations of software engineering, 2007. ACM, pp 105–114

  • Salton G (1989) Automatic text processing: the transformation, analysis, and retrieval of. Addison-Wesley, Reading

    Google Scholar 

  • Seong P-H (2008) Reliability and risk issues in large scale safety-critical digital control systems. Springer Science & Business Media

  • Sheskin DJ (2011) Handbook of parametric and nonparametric statistical procedures (5th edition). Chapman and Hall/CRC

  • Simao AdS, De Mello RF, Senger LJ (2006) A technique to reduce the test case suites for regression testing based on a self-organizing neural network architecture. In: 30th Annual International Conference on Computer Software and Applications (COMPSAC) 2006. IEEE, pp 93–96

  • Sinha A, Sutton SM, Paradkar A (2010) Text2Test: automated inspection of natural language use cases. In: 3rd International Conference on Software Testing, Verification and Validation (ICST), 2010. IEEE, pp 155–164

  • Srinivas K, Gupta M (2012) Software requirements selection using quantum-inspired elitist multi-objective evolutionary algorithm. In: International Conference on Advances in Engineering, Science and Management (ICAESM), 2012. IEEE, pp 782–787

  • Srisura B et al (2010) Retrieving use case diagram with case-based reasoning approach. J Theoret Appl Inform Technol 19:68–78

    Google Scholar 

  • Udomchaiporn A, Prompoon N, Kanongchaiyos P (2006) Software requirements retrieval using use case terms and structure similarity computation. In: 13th Asia Pacific Software Engineering Conference, 2006. IEEE, pp 113–120

  • Vargha A, Delaney HD (2000) A critique and improvement of the CL common language effect size statistics of mcgraw and wong. J Educ Behav Stat 25:101–132

    Google Scholar 

  • Vavak F, Fogarty TC (1996) Comparison of steady state and generational genetic algorithms for use in nonstationary environments. In: Proceedings of IEEE International Conference on Evolutionary Computation, 1996. IEEE, pp 192–195

  • Wang S, Ali S, Yue T, Li Y, Liaaen M (2016) A practical guide to select quality indicators for assessing pareto-based search algorithms in search-based software engineering. In: Proceedings of the 38th International Conference on Software Engineering, 2016. ACM, pp 631–642

  • Whitley LD (1989) The GENITOR algorithm and selection pressure: why rank-based allocation of reproductive trials is best. Proc Third Int Conf Genet Algorithms 1989:116–123

    Google Scholar 

  • Wiegers KE (2002) Peer reviews in software: a practical guide. J Object Technol 2:121–122

    Google Scholar 

  • Wilcoxon F, Katti S, Wilcox RA (1963) Critical values and probability levels for the wilcoxon rank sum test and the wilcoxon signed rank test. Lederle Laboratories, Division Amer Cyanamid Company Pearl River, New York

    MATH  Google Scholar 

  • Wohlin C, Runeson P, Höst M, Ohlsson MC, Regnell B, Wesslén A (2012) Experimentation in Software Engineering. Springer Science & Business Media

  • Xu R, Wunsch D (2005) Survey of clustering algorithms. IEEE Trans Neural Netw 16:645–678

    Article  Google Scholar 

  • Yue T, Ali S (2014) Applying search algorithms for optimizing stakeholders familiarity and balancing workload in requirements assignment. In: Proceedings of the 2014 conference on Genetic and evolutionary computation, 2014. ACM, pp 1295–1302

  • Yue T, Briand LC, Labiche Y (2009) A use case modeling approach to facilitate the transition towards analysis models: concepts and empirical evaluation. In: International Conference on Model Driven Engineering Languages and Systems, 2009. Springer, pp 484–498

  • Yue T, Briand LC, Labiche Y (2013) Facilitating the transition from use case models to analysis models: approach and experiments. ACM Trans Softw Eng Methodol (TOSEM) 22:5

    Article  Google Scholar 

  • Yue T, Ali S, Zhang M (2015) RTCM: a natural language based, automated, and practical test case generation framework. In: Proceedings of the 2015 International Symposium on Software Testing and Analysis, 2015a. ACM, pp 397–408

  • Yue T, Briand LC, Labiche Y (2015b) aToucan: an automated framework to derive UML analysis models from use case models. ACM Trans Softw Eng Methodol (TOSEM) 24:13

    Article  Google Scholar 

  • Zhang Y, Harman M, Mansouri SA (2007) The multi-objective next release problem. In: Proceedings of the 9th annual conference on Genetic and evolutionary computation, 2007. ACM, pp 1129–1137

  • Zhang M, Yue T, Ali S, Zhang H, Wu J (2014) A systematic approach to automatically derive test cases from use cases specified in restricted natural languages. In: System Analysis and Modeling: Models and Reusability. Springer, pp 142–157

  • Zhang H, Yue T, Ali S, Liu C (2015) Facilitating requirements inspection with search-based selection of diverse use case scenarios In: 9th EAI International Conference on Bio-inspired Information and Communications Technologies (formerly BIONETICS), 2015. ICST, pp 229–236

  • Zhang H, Yue T, Shaukat A, Liu C (2016) Towards mutation analysis for use cases. In: ACM/IEEE 19th International Conference on Model Driven Engineering Languages and Systems (MODELS’16), October 2–7 2016. ACM, pp 363–373

Download references

Acknowledgements

Huihui Zhang was supported by the exchange program between the Research Council of Norway and China Scholarship Council (project number: 249086). Tao Yue and Shaukat Ali were supported by RCN funded Zen-Configurator project, the EU Horizon 2020 funded project on testing cyber-physical systems under uncertainty, RFF Hovedstaden funded MBE-CR project, RCN funded MBT4CPS project, RCN funded Certus SFI, and the EU COST action MPM4CPS. The work was also partially supported by Ministry of Industry and Information Technology, China (project number: MJ-S-2012-05). We acknowledge the Abel computer cluster for supporting the conducting of the experiments.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Tao Yue.

Additional information

Communicated by: Daniel M. Berry

Appendices

Appendix 1

Table 14 provides all the abbreviations used in the paper.

Table 14 Abbreviations

Appendix 2

The encoding mechanism of the RUCM mutation operators (Zhang et al. 2016):

RUCM mutation operator = Operation, −, Element, −, {Defect}-;

Operation = ADD | DEL | SWAP | REP | ICR | DEC;

Element = UC | AR | INC | EXD | ASSO | UCS | UCN | ARN | PAR | SAR | BD | GA | GUC | SenBD | PreC | SenPreC | AF | SenAF | BF | SenBF | PostC | SenPostC | AS | RFS | ABORT | IFELSE | DO | VLD | MW |RFSsi | RFSflow | toABT | RES | toRES | IFELSE | IFELSEcs | IFELSEas | DOcs | DOas;

Defect = Defect Prefix, Defect ID

Defect Prefix = Defect Category, Defect Element;

Defect Category = C1 | C2 | C3 | C4 | C5 | C6 | C7 | C8 | C9;

Defect Element = AR | UC | R | H | F | UCM | UCS;

Defect ID = ‘1’|‘2’|‘3’|‘4’|‘5’|‘6’|‘7’|‘8’|‘9’;

UC = Use Case; AR = Actor; INC = Include; EXD = Extend;

ASSO = Association; PAR = primary actor; SAR = secondary actor;

UCS = use case specification; UCN = use case name;

UCM = use case model; BD = use case brief description;

ARN = Actor name; GAR = generalization between actors;

GUC = generalization between use cases;

SenBD = sentence in BD;

PreC = pre-condition; SenPreC = sentence in PreC;

BF = Basic Flow; SenBF = sentence in BF;

AF = Alternative Flow; SenAF = sentence in AF;

PostC = post-condition; SenPostC = sentence in PostC;

AS = Action step; VLD = VALIDATES THAT; MW = MEANWHILE;

RFS = sentence RFS; RFSsi = step index of RFS;

RFSflow = reference flow name of RFS;

ABORT = sentence ABORT; toRES = changing ABORT to RESUME STEP;

RES = RESUME STEP; toABT = changing RES to ABORT;

IFELSE = IF-SELSE-ENDIF; IFELSEcs = condition sentence in IF-ELSE-ENDIF; IFELSEas = Action Step in IF-ELSE-ENDIF;

DO = DO-UNTIL; DOcs = condition sentence in DO-UNITL;

DOas = Action step in DO-UNITL;

Appendix 3

In Table 15, we report, for each mutated use case, all the seeded defects and the number of use case scenarios generated from the mutated use case specifications. For example, as shown in the 2nd row of Table 3, MO1 (1) indicates that the mutation operator MO1 (i.e., ‘DEL-SenBF-C1F1’, Table 3) was used once to seed a defect to use case UC1 (Section 4.3.1.1) and 202 use case scenarios were automatically generated when all the defects listed in the 2nd column were seeded into the mutated use case specification of UC1.

Table 15 All manually seeded defects in the mutated use case specifications

Appendix 4

In this section, we provide detailed statistical test results for related RQs.

4.1 Results for RQ1

To answer RQ1, for each similarity function, we compared every selected search algorithm with RS in terms of FV and DDR respectively. In Table 16, we report the results for RQ1. The A>B category denotes the number of the optimization problems that one search algorithm performed significantly better than RS (denoted as A>B); A<B means vice versa; and A=B means the number of optimization problems for which there was no significant difference since p-value > 0.05.

Table 16 Vargha and Delaney statistic and Wilcoxon rank sum test in conjunction with Bonferroni Correction for RQ1 (at significance level of 0.05)

4.2 Results for RQ2

To answer RQ2, for each similarity function, we compared each pair of selected search algorithm in terms of DDR (Table 17) and FV (Table 18), respectively. Similar to RQ1, A>B denotes the total number of optimization problems that one search algorithm performed significantly better than the other; A<B means vice versa; and A=B means the number of optimization problems, for which there was no significant difference since p-value > 0.05.

Table 17 Vargha and Delaney statistic and Wilcoxon rank sum test in conjunction with Bonferroni Correction for DDR of RQ2 (at significance level of 0.05)
Table 18 Vargha and Delaney statistic and Wilcoxon rank sum test in conjunction with Bonferroni Correction for FV of RQ2 (at significance level of 0.05)

4.3 Results for RQ6

Table 19 presents the average running time for each combination of the similarity functions and search algorithms for each NUCS value.

Table 19 Average running time for each CSA (time unit: second)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Zhang, H., Wang, S., Yue, T. et al. Search and similarity based selection of use case scenarios: An empirical study. Empir Software Eng 23, 87–164 (2018). https://doi.org/10.1007/s10664-017-9500-x

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10664-017-9500-x

Keywords

Navigation