Software & Systems Modeling

, Volume 18, Issue 4, pp 2465–2505 | Cite as

Static slicing of Use Case Maps requirements models

  • Taha Binalialhag
  • Jameleddine HassineEmail author
  • Daniel Amyot
Regular Paper


Requirements specification is a crucial stage in many software development life cycles. As requirements specifications evolve, they often become more complex. The development of methods to assist the comprehension and maintenance of requirements specifications has gained much attention in the past 20 years. However, there is much room for improvement for model-based specifications. The Use Case Maps (UCM) language, part of the ITU-T Z.151 User Requirements Notation standard, is a visual modeling notation that aims to describe requirements at a high level of abstraction. A UCM specification is used to integrate and capture both functional aspects (based on causal scenarios representing behavior) and architectural aspects (actors and system components responsible for scenario activities). As UCM models evolve and grow, they rapidly become hard to understand and to maintain. In this paper, we propose a static slicing technique to enhance the comprehension of UCM models. The developed slicing approach is implemented within the jUCMNav tool. We validate the proposed approach using a mock system and three publicly available UCM specifications. The results suggest that, on average, the models can be reduced by about 70% through slicing without losing information required for comprehension and maintenance activities. A small experiment involving 9 participants also suggests that the understandability of UCM specifications and comprehension speed have both improved substantially by using jUCMNav’s new slicing feature.


Requirements specification Use Case Maps Slicing User Requirements Notation Comprehension Maintenance 



The authors would like to acknowledge the support provided by the Deanship of Scientific Research at King Fahd University of Petroleum & Minerals for funding this work through project No. FT141006.

Supplementary material


  1. 1.
    Alkaf, H.S., Hassine, J., Hamou-Lhadj, A., Alawneh, L.: An automated change impact analysis approach to GRL models. In: SDL 2017: Model-Driven Engineering for Future Internet—18th International SDL Forum, Budapest, Hungary, October 9–11, 2017, Proceedings, pp. 157–172 (2017).
  2. 2.
    Amyot, D., Mussbacher, G.: User requirements notation: the first ten years, the next ten years (invited paper). J. Softw. (JSW) 6(5), 747–768 (2011)Google Scholar
  3. 3.
    Androutsopoulos, K., Binkley, D., Clark, D., Gold, N., Harman, M., Lano, K., Li, Z.: Model projection: simplifying models in response to restricting the environment. In: Proceedings of the 33rd International Conference on Software Engineering, pp. 291–300. ACM (2011)Google Scholar
  4. 4.
    Androutsopoulos, K., Clark, D., Harman, M., Hierons, R.M., Li, Z., Tratt, L.: Amorphous slicing of extended finite state machines. IEEE Trans. Softw. Eng. 39(7), 892–909 (2013). CrossRefGoogle Scholar
  5. 5.
    Androutsopoulos, K., Clark, D., Harman, M., Krinke, J., Tratt, L.: State-based model slicing: a survey. ACM Comput. Surv. (CSUR) 45(4), 53 (2013)CrossRefGoogle Scholar
  6. 6.
    Androutsopoulos, K., Clark, D., Harman, M., Li, Z., Tratt, L.: Control dependence for extended finite state machines. In: International Conference on Fundamental Approaches to Software Engineering, pp. 216–230. Springer (2009)Google Scholar
  7. 7.
    Androutsopoulos, K., Gold, N., Harman, M., Li, Z., Tratt, L.: A theoretical and empirical study of EFSM dependence. In: Software Maintenance, 2009. ICSM 2009. IEEE International Conference, pp. 287–296. IEEE Computer Society (2009)Google Scholar
  8. 8.
    Beck, J., Eichmann, D.: Program and interface slicing for reverse engineering. In: Proceedings of the 15th International Conference on Software Engineering, ICSE ’93, pp. 509–518. IEEE Computer Society Press, Los Alamitos (1993)Google Scholar
  9. 9.
    Bergeretti, J.F., Carré, B.A.: Information-flow and data-flow analysis of while-programs. ACM Trans. Program. Lang. Syst. (TOPLAS) 7(1), 37–61 (1985)CrossRefzbMATHGoogle Scholar
  10. 10.
    Best, E., Rakow, A.: A slicing technique for business processes. In: International United Information Systems Conference, pp. 45–51. Springer (2008)Google Scholar
  11. 11.
    Binkley, D.: Precise executable interprocedural slices. ACM Lett. Program. Lang. Syst. 2(1–4), 31–45 (1993). CrossRefGoogle Scholar
  12. 12.
    Binkley, D., Danicic, S., Gyimóthy, T., Harman, M., Kiss, A., Ouarbya, L.: Formalizing executable dynamic and forward slicing. In: Fourth IEEE International Workshop on Source Code Analysis and Manipulation, 2004, pp. 43–52. IEEE (2004).
  13. 13.
    Binkley, D., Harman, M.: A survey of empirical results on program slicing. Adv. Comput. 62(105178), 105–178 (2004)CrossRefGoogle Scholar
  14. 14.
    Blouin, A., Combemale, B., Baudry, B., Beaudoux, O.: Kompren: modeling and generating model slicers. Softw. Syst. Model. 14(1), 321–337 (2015). CrossRefGoogle Scholar
  15. 15.
    Boubaker, A., Mili, H., Leshob, A., Charif, Y.: Towards automating business process compensation scoping logic. In: E-Technologies—6th International Conference, MCETECH 2015, Montréal, QC, Canada, May 12–15, 2015, Proceedings, pp. 20–36 (2015).
  16. 16.
    Bouras, Z.E., Talai, A.: Software evolution based sequence diagrams merging. Complexity 1, 2 (2015)Google Scholar
  17. 17.
    Bozga, M., Fernandez, J.C., Ghirvu, L.: Using static analysis to improve automatic test generation. In: International Conference on Tools and Algorithms for the Construction and Analysis of Systems, pp. 235–250. Springer (2000)Google Scholar
  18. 18.
    Canfora, G., Cimitile, A., De Lucia, A.: Conditioned program slicing. Inf. Softw. Technol. 40(11), 595–607 (1998)CrossRefGoogle Scholar
  19. 19.
    Chan, W., Anderson, R.J., Beame, P., Notkin, D.: Improving efficiency of symbolic model checking for state-based system requirements. SIGSOFT Softw. Eng. Notes 23(2), 102–112 (1998). CrossRefGoogle Scholar
  20. 20.
    Colangelo, D., Compare, D., Inverardi, P., Pelliccione, P.: Reducing software architecture models complexity: a slicing and abstraction approach. In: International Conference on Formal Techniques for Networked and Distributed Systems, pp. 243–258. Springer (2006)Google Scholar
  21. 21.
    Fox, C., Luangsodsai, A.: And-or dependence graphs for slicing statecharts. In: Dagstuhl Seminar Proceedings. Schloss Dagstuhl-Leibniz-Zentrum für Informatik (2006)Google Scholar
  22. 22.
    Ganapathy, V., Ramesh, S.: Slicing synchronous reactive programs. Electron. Notes Theor. Comput. Sci. 65(5), 50–64 (2002)CrossRefGoogle Scholar
  23. 23.
    Genon, N., Amyot, D., Heymans, P.: Analysing the cognitive effectiveness of the UCM visual notation. In: Proceedings of the 6th International Conference on System Analysis and Modeling: About Models, SAM’10, pp. 221–240. Springer, Berlin (2011).
  24. 24.
    Gupta, R., Soffa, M.L.: Hybrid slicing: an approach for refining static slices using dynamic information. SIGSOFT Softw. Eng. Notes 20(4), 29–40 (1995). CrossRefGoogle Scholar
  25. 25.
    Harman, M., Binkley, D., Danicic, S.: Amorphous program slicing. J. Syst. Softw. 68(1), 45–64 (2003). CrossRefGoogle Scholar
  26. 26.
    Harman, M., Hierons, R., Fox, C., Danicic, S., Howroyd, J.: Pre/post conditioned slicing. In: Proceedings of the IEEE International Conference on Software Maintenance (ICSM’01), ICSM ’01, pp. 138–147. IEEE Computer Society, Washington, DC, USA (2001).
  27. 27.
    Hassine, J.: Change impact analysis approach to GRL models. In: SOFTENG 2015: The First International Conference on Advances and Trends in Software Engineering, pp. 1–6. IARIA (2015)Google Scholar
  28. 28.
    Hassine, J., Dssouli, R., Rilling, J.: Applying reduction techniques to software functional requirement specifications. In: System Analysis and Modeling, 4th International SDL and MSC Workshop, SAM 2004, Ottawa, Canada, June 1–4, 2004, Revised Selected Papers, pp. 138–153 (2004).
  29. 29.
    Hassine, J., Rilling, J., Hewitt, J.: Change impact analysis for requirement evolution using use case maps. In: 8th International Workshop on Principles of Software Evolution (IWPSE 2005), 5–7 Sept 2005, Lisbon, Portugal, pp. 81–90 (2005).
  30. 30.
    Heimdahl, M.P.E., Thompson, J.M., Whalen, M.W.: On the effectiveness of slicing hierarchical state machines: a case study. In: Proceedings of the 24th Euromicro Conference, 1998, vol. 1, pp. 435–444. IEEE (1998)Google Scholar
  31. 31.
    Heimdahl, M.P.E., Whalen, M.W.: Reduction and slicing of hierarchical state machines. SIGSOFT Softw. Eng. Notes 22(6), 450–467 (1997). CrossRefGoogle Scholar
  32. 32.
    Horwitz, S., Reps, T., Binkley, D.: Interprocedural slicing using dependence graphs. ACM Trans. Program. Lang. Syst. 12(1), 26–60 (1990). CrossRefGoogle Scholar
  33. 33.
    ITU-T: Recommendation Z.151 (10/12), User Requirements Notation (URN) language definition, Geneva, Switzerland (2012). Accessed 18 Mar 2018
  34. 34.
    Janowska, A., Janowski, P.: Slicing of timed automata with discrete data. Fundamenta Informaticae 72(1–3), 181–195 (2006)MathSciNetzbMATHGoogle Scholar
  35. 35.
    Jedlitschka, A., Pfahl, D.: Reporting guidelines for controlled experiments in software engineering. In: 2005 International Symposium on Empirical Software Engineering (ISESE 2005), 17–18 Nov 2005, Noosa Heads, Australia, pp. 95–104 (2005).
  36. 36.
    Ji, W., Wei, D., Zhi-Chang, Q.: Slicing hierarchical automata for model checking UML statecharts. In: International Conference on Formal Engineering Methods, pp. 435–446. Springer (2002)Google Scholar
  37. 37.
    Juristo, N., Moreno, A.M.: Basics of Software Engineering Experimentation, 1st edn. Springer, Berlin (2010)zbMATHGoogle Scholar
  38. 38.
    Kamischke, J., Lochau, M., Baller, H.: Conditioned model slicing of feature-annotated state machines. In: Proceedings of the 4th International Workshop on Feature-Oriented Software Development, FOSD ’12, pp. 9–16. ACM, New York, NY, USA (2012).
  39. 39.
    Kan, S., Huang, Z.: Detecting safety-related components in statecharts through traceability and model slicing. Softw. Pract. Exp. 48(3), 428–448 (2018). CrossRefGoogle Scholar
  40. 40.
    Kealey, J.: Enhanced use case map analysis and transformation tooling. Master’s thesis, University of Ottawa, Canada (2007). Accessed 18 Mar 2018
  41. 41.
    Kealey, J., Amyot, D.: Enhanced use case map traversal semantics. In: Gaudin, E, Najm, E., Reed, R. (eds.) 13th International SDL Forum (SDL 2007), pp. 133–149. Springer, Berlin (2007).
  42. 42.
    Kim, T., Song, Y.T., Chung, L., Huynh, D.T.: Software architecture analysis: a dynamic slicing approach. ACIS Int. J. Comput. Inf. Sci. 1(2), 91–103 (2000)Google Scholar
  43. 43.
    Kitchenham, B., Pfleeger, S.L., Pickard, L., Jones, P., Hoaglin, D.C., Emam, K.E., Rosenberg, J.: Preliminary guidelines for empirical research in software engineering. IEEE Trans. Softw. Eng. 28(8), 721–734 (2002). CrossRefGoogle Scholar
  44. 44.
    Korel, B., Laski, J.: Dynamic program slicing. Inf. Process. Lett. 29(3), 155–163 (1988). CrossRefzbMATHGoogle Scholar
  45. 45.
    Korel, B., Singh, I., Tahat, L., Vaysburg, B.: Slicing of state-based models. In: Proceedings of the International Conference on Software Maintenance, 2003. ICSM 2003, pp. 34–43. IEEE (2003)Google Scholar
  46. 46.
    Labbé, S., Gallois, J.P.: Slicing communicating automata specifications: polynomial algorithms for model reduction. Form. Asp. Comput. 20(6), 563–595 (2008)CrossRefzbMATHGoogle Scholar
  47. 47.
    Lallchandani, J.T., Mall, R.: A dynamic slicing technique for UML architectural models. IEEE Trans. Softw. Eng. 37(6), 737–771 (2011). CrossRefGoogle Scholar
  48. 48.
    Lano, K., Rahimi, S.K.: Slicing of UML models using model transformations. In: Model Driven Engineering Languages and Systems—13th International Conference, MODELS 2010, Oslo, Norway, 3–8 Oct 2010, Proceedings, Part II, pp. 228–242 (2010).
  49. 49.
    Lano, K., Rahimi, S.K.: Slicing techniques for UML models. J. Object Technol. 10(11), 1–49 (2011)Google Scholar
  50. 50.
    Lity, S., Baller, H., Schaefer, I.: Towards incremental model slicing for delta-oriented software product lines. In: 2015 IEEE 22nd International Conference on Software Analysis, Evolution, and Reengineering (SANER), pp. 530–534. IEEE (2015).
  51. 51.
    Lity, S., Morbach, T., Thüm, T., Schaefer, I.: Applying incremental model slicing to product-line regression testing. In: Software Reuse: Bridging with Social-Awareness, pp. 3–19. Springer, Cham (2016).
  52. 52.
    Luangsodsai, A., Fox, C.: Concurrent statechart slicing. In: 2010 2nd Computer Science and Electronic Engineering Conference (CEEC), pp. 1–7 (2010).
  53. 53.
    Ojala, V.: A slicer for UML state machines. Technical Report HUT-TCS-B25, Helsinki University of Technology, Laboratory for Theoretical Computer Science (2007)Google Scholar
  54. 54.
    Pourshahid, A., Amyot, D., Peyton, L., Ghanavati, S., Chen, P., Weiss, M., Forster, A.J.: Business process management with the user requirements notation. Electron. Commer. Res. 9(4), 269–316 (2009)CrossRefGoogle Scholar
  55. 55.
    Rabbi, F., Wang, H., MacCaull, W., Rutle, A.: A model slicing method for workflow verification. Electron. Notes Theor. Comput. Sci. 295, 79–93 (2013). CrossRefGoogle Scholar
  56. 56.
    Ray, M., Barpanda, S.S., Mohapatra, D.P.: Test case design using conditioned slicing of activity diagram. Int. J. Recent Trends Eng. (IJRTE) 1, 117–120 (2009)Google Scholar
  57. 57.
    Samuel, P., Mall, R.: Slicing-based test case generation from UML activity diagrams. ACM SIGSOFT Softw. Eng. Notes 34(6), 1–14 (2009)CrossRefGoogle Scholar
  58. 58.
    Shaikh, A., Clarisó, R., Wiil, U.K., Memon, N.: Verification-driven slicing of UML/OCL models. In: Proceedings of the IEEE/ACM International Conference on Automated Software Engineering, ASE ’10, pp. 185–194. ACM, New York, NY, USA (2010).
  59. 59.
    Shaikh, A., Wiil, U.K.: Overview of slicing and feedback techniques for efficient verification of UML/OCL class diagrams. IEEE Access (2018). Google Scholar
  60. 60.
    Silva, J.: A vocabulary of program slicing-based techniques. ACM Comput. Surv. (CSUR) 44(3), 12 (2012)CrossRefzbMATHGoogle Scholar
  61. 61.
    Stafford, J.A., Wolf, A.L.: Architecture-level dependence analysis in support of software maintenance. In: Proceedings of the Third International Workshop on Software Architecture, pp. 129–132. ACM (1998)Google Scholar
  62. 62.
    Sun, W., France, R.B., Ray, I.: Contract-aware slicing of UML class models. In: Model-Driven Engineering Languages and Systems—16th International Conference, MODELS 2013, Miami, FL, USA, Sept 29–Oct 4 2013. Proceedings, pp. 724–739 (2013).
  63. 63.
    Takada, T., Ohata, F., Inoue, K.: Dependence-cache slicing: a program slicing method using lightweight dynamic information. In: Proceedings 10th International Workshop on Program Comprehension, pp. 169–177 (2002).
  64. 64.
    Tip, F.: A survey of program slicing techniques. J. Program. Lang. 3(3), 121–189 (1995)Google Scholar
  65. 65.
    Umemori, F., Konda, K., Yokomori, R., Inoue, K.: Design and implementation of bytecode-based java slicing system. In: Source Code Analysis and Manipulation, 2003. Proceedings. Third IEEE International Workshop on, pp. 108–117. IEEE (2003)Google Scholar
  66. 66.
    jUCMNav v7.0.0: jUCMNav Project (tool, documentation, and meta-model) (2016). Accessed 18 Mar 2018
  67. 67.
    Van Langenhove, S.: Towards the correctness of software behavior in UML: a model checking approach based on slicing. Ph.D. Thesis, Ghent University (2006)Google Scholar
  68. 68.
    Vaysburg, B., Tahat, L.H., Korel, B.: Dependence analysis in reduction of requirement based test suites. ACM SIGSOFT Softw. Eng. Notes 27(4), 107–111 (2002)CrossRefGoogle Scholar
  69. 69.
    Venkatesh, G.A.: The semantic approach to program slicing. SIGPLAN Not. 26(6), 107–119 (1991). CrossRefGoogle Scholar
  70. 70.
    Weiser, M.: Program slicing. In: Proceedings of the 5th International Conference on Software Engineering, ICSE ’81, pp. 439–449. IEEE Press, Piscataway, NJ, USA (1981)Google Scholar
  71. 71.
    Wohlin, C., Runeson, P., Höst, M., Ohlsson, M.C., Regnell, B., Wesslén, A.: Experimentation in Software Engineering: An Introduction. Kluwer, Norwell (2000)CrossRefzbMATHGoogle Scholar
  72. 72.
    Wright, H.K., Kim, M., Perry, D.E.: Validity concerns in software engineering research. In: Roman, G.C., Sullivan, K.J. (eds.) FoSER, pp. 411–414. ACM, New York (2010)CrossRefGoogle Scholar
  73. 73.
    Xu, B., Qian, J., Zhang, X., Wu, Z., Chen, L.: A brief survey of program slicing. ACM SIGSOFT Softw. Eng. Notes 30(2), 1–36 (2005)CrossRefGoogle Scholar
  74. 74.
    Zhao, J.: Applying slicing technique to software architectures. In: Fourth IEEE International Conference on Engineering of Complex Computer Systems, 1998. ICECCS’98. Proceedings, pp. 87–98. IEEE (1998)Google Scholar

Copyright information

© Springer-Verlag GmbH Germany, part of Springer Nature 2018

Authors and Affiliations

  • Taha Binalialhag
    • 1
  • Jameleddine Hassine
    • 1
    Email author
  • Daniel Amyot
    • 2
  1. 1.Department of Information and Computer ScienceKing Fahd University of Petroleum and MineralsDhahranKingdom of Saudi Arabia
  2. 2.School of Electrical Engineering and Computer ScienceUniversity of OttawaOttawaCanada

Personalised recommendations