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.
Similar content being viewed by others
Notes
References
Aamodt A, Plaza E (1994) Case-based reasoning: foundational issues, methodological variations, and system approaches. AI Commun 7:39–59
Ackerman AF, Buchwald LS, Lewski FH (1989) Software inspections: an effective verification process. IEEE Softw 6:31–36
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
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
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
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
Bagnall AJ, Rayward-Smith VJ, Whittley IM (2001) The next release problem. Inf Softw Technol 43:883–890
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
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
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
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
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
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
Deb K, Pratap A, Agarwal S, Meyarivan T (2002) Fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Trans Evol Comput 6:182–197
del Sagrado J, del Águila IM, Orellana FJ (2015) Multi-objective ant colony optimization for requirements selection. Empir Softw Eng 20:577–610
Denger C, Paech B, Freimut B (2005) Achieving high quality of use-case-based requirements. Informatik-Forschung und Entwicklung 20:11–23
Dong G, Pei J (2007) Sequence data mining vol 33. Springer Sci Bus Med. doi:10.1007/978-0-387-69937-0
Droste S, Jansen T, Wegener I (2002) On the analysis of the (1+1) evolutionary algorithm. Theor Comput Sci 276:51–81
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
Fagan ME (1976) Design and code inspections to reduce errors in program development. IBM Syst J 15:182–211
Fagan ME (1986) Advances in software inspections. IEEE Trans Softw Eng 12:744–751
Fantechi A, Gnesi S, Lami G, Maccari A (2003) Applications of linguistic techniques for use case analysis. Requir Eng 8:161–170
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
Fusaro P, Lanubile F, Visaggio G (1997) A replicated experiment to assess requirements inspection techniques. Empir Softw Eng 2:39–57
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
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
Gusfield D (1997) Algorithms on strings, trees and sequences: computer science and computational biology. Cambridge university press, New York
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
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
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
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
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
Holland JH (1992) Adaptation in natural and artificial systems: an introductory analysis with applications to biology, control and artificial intelligence. MIT Press Cambridge, MA
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
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
Kollanus S, Koskinen J (2009) Survey of software inspection research. Open Softw Eng J 3:15–34
Korel B (1990) Automated software test data generation. IEEE Trans Softw Eng 16:870–879
Kruskal WH, Wallis WA (1952) Use of ranks in one-criterion variance analysis. J Am Stat Assoc 47:583–621
Laitenberger O (2002) A survey of software inspection technologies. Handbook Softw Eng Knowledge Eng 2:517–555
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
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
Miller J, Wood M, Roper M (1998) Further experiences with scenarios and checklists. Empir Softw Eng 3:37–64
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
Neill CJ, Laplante PA (2003) Requirements engineering: the state of the practice. IEEE Softw 6:40–45
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
Pohl K (2010) Requirements Engineering: Fundamentals, Principles, and Techniques. Springer Publishing Company, Incorporated
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
Prasad A, Park E (1994) Reuse system: an artificial intelligence-based approach. J Syst Softw 27:207–221
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
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
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
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
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
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
Wiegers KE (2002) Peer reviews in software: a practical guide. J Object Technol 2:121–122
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
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
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
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
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
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
Corresponding author
Additional information
Communicated by: Daniel M. Berry
Appendices
Appendix 1
Table 14 provides all the abbreviations used in the paper.
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.
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.
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.
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.
Rights and permissions
About this article
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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10664-017-9500-x