Skip to main content
Log in

Static slicing of Use Case Maps requirements models

  • Regular Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

Abstract

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.

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. http://www.ccse.kfupm.edu.sa/~jhassine/UCMslicingSoSyM/.

  2. http://www.ccse.kfupm.edu.sa/~jhassine/UCMslicingSoSyM/.

  3. http://www.ccse.kfupm.edu.sa/~jhassine/UCMslicingSoSyM/.

References

  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). https://doi.org/10.1007/978-3-319-68015-6_10

  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. 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)

  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). https://doi.org/10.1109/TSE.2012.72

    Article  Google Scholar 

  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)

    Article  Google Scholar 

  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)

  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)

  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)

  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)

    Article  MATH  Google Scholar 

  10. Best, E., Rakow, A.: A slicing technique for business processes. In: International United Information Systems Conference, pp. 45–51. Springer (2008)

  11. Binkley, D.: Precise executable interprocedural slices. ACM Lett. Program. Lang. Syst. 2(1–4), 31–45 (1993). https://doi.org/10.1145/176454.176473

    Article  Google Scholar 

  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). https://doi.org/10.1109/SCAM.2004.13

  13. Binkley, D., Harman, M.: A survey of empirical results on program slicing. Adv. Comput. 62(105178), 105–178 (2004)

    Article  Google Scholar 

  14. Blouin, A., Combemale, B., Baudry, B., Beaudoux, O.: Kompren: modeling and generating model slicers. Softw. Syst. Model. 14(1), 321–337 (2015). https://doi.org/10.1007/s10270-012-0300-x

    Article  Google Scholar 

  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). https://doi.org/10.1007/978-3-319-17957-5_2

  16. Bouras, Z.E., Talai, A.: Software evolution based sequence diagrams merging. Complexity 1, 2 (2015)

    Google Scholar 

  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)

  18. Canfora, G., Cimitile, A., De Lucia, A.: Conditioned program slicing. Inf. Softw. Technol. 40(11), 595–607 (1998)

    Article  Google Scholar 

  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). https://doi.org/10.1145/271775.271798

    Article  Google Scholar 

  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)

  21. Fox, C., Luangsodsai, A.: And-or dependence graphs for slicing statecharts. In: Dagstuhl Seminar Proceedings. Schloss Dagstuhl-Leibniz-Zentrum für Informatik (2006)

  22. Ganapathy, V., Ramesh, S.: Slicing synchronous reactive programs. Electron. Notes Theor. Comput. Sci. 65(5), 50–64 (2002)

    Article  Google Scholar 

  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). https://doi.org/10.1007/978-3-642-21652-7_14

  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). https://doi.org/10.1145/222132.222137

    Article  Google Scholar 

  25. Harman, M., Binkley, D., Danicic, S.: Amorphous program slicing. J. Syst. Softw. 68(1), 45–64 (2003). https://doi.org/10.1016/S0164-1212(02)00135-8

    Article  Google Scholar 

  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). https://doi.org/10.1109/ICSM.2001.972724

  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)

  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). https://doi.org/10.1007/978-3-540-31810-1_10

  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). https://doi.org/10.1109/IWPSE.2005.8

  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)

  31. Heimdahl, M.P.E., Whalen, M.W.: Reduction and slicing of hierarchical state machines. SIGSOFT Softw. Eng. Notes 22(6), 450–467 (1997). https://doi.org/10.1145/267896.267926

    Article  Google Scholar 

  32. Horwitz, S., Reps, T., Binkley, D.: Interprocedural slicing using dependence graphs. ACM Trans. Program. Lang. Syst. 12(1), 26–60 (1990). https://doi.org/10.1145/77606.77608

    Article  Google Scholar 

  33. ITU-T: Recommendation Z.151 (10/12), User Requirements Notation (URN) language definition, Geneva, Switzerland (2012). http://www.itu.int/rec/T-REC-Z.151/en. Accessed 18 Mar 2018

  34. Janowska, A., Janowski, P.: Slicing of timed automata with discrete data. Fundamenta Informaticae 72(1–3), 181–195 (2006)

    MathSciNet  MATH  Google Scholar 

  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). https://doi.org/10.1109/ISESE.2005.1541818

  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)

  37. Juristo, N., Moreno, A.M.: Basics of Software Engineering Experimentation, 1st edn. Springer, Berlin (2010)

    MATH  Google Scholar 

  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). https://doi.org/10.1145/2377816.2377818

  39. Kan, S., Huang, Z.: Detecting safety-related components in statecharts through traceability and model slicing. Softw. Pract. Exp. 48(3), 428–448 (2018). https://doi.org/10.1002/spe.2526.Spe.2526

    Article  Google Scholar 

  40. Kealey, J.: Enhanced use case map analysis and transformation tooling. Master’s thesis, University of Ottawa, Canada (2007). http://hdl.handle.net/10393/27863. Accessed 18 Mar 2018

  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). https://doi.org/10.1007/978-3-540-74984-4_9

  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. 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). https://doi.org/10.1109/TSE.2002.1027796

    Article  Google Scholar 

  44. Korel, B., Laski, J.: Dynamic program slicing. Inf. Process. Lett. 29(3), 155–163 (1988). https://doi.org/10.1016/0020-0190(88)90054-3

    Article  MATH  Google Scholar 

  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)

  46. Labbé, S., Gallois, J.P.: Slicing communicating automata specifications: polynomial algorithms for model reduction. Form. Asp. Comput. 20(6), 563–595 (2008)

    Article  MATH  Google Scholar 

  47. Lallchandani, J.T., Mall, R.: A dynamic slicing technique for UML architectural models. IEEE Trans. Softw. Eng. 37(6), 737–771 (2011). https://doi.org/10.1109/TSE.2010.112

    Article  Google Scholar 

  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). https://doi.org/10.1007/978-3-642-16129-2_17

  49. Lano, K., Rahimi, S.K.: Slicing techniques for UML models. J. Object Technol. 10(11), 1–49 (2011)

    Google Scholar 

  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). https://doi.org/10.1109/SANER.2015.7081871

  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). https://doi.org/10.1007/978-3-319-35122-3_1

  52. Luangsodsai, A., Fox, C.: Concurrent statechart slicing. In: 2010 2nd Computer Science and Electronic Engineering Conference (CEEC), pp. 1–7 (2010). https://doi.org/10.1109/CEEC.2010.5606493

  53. Ojala, V.: A slicer for UML state machines. Technical Report HUT-TCS-B25, Helsinki University of Technology, Laboratory for Theoretical Computer Science (2007)

  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)

    Article  Google Scholar 

  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). https://doi.org/10.1016/j.entcs.2013.04.007

    Article  Google Scholar 

  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. Samuel, P., Mall, R.: Slicing-based test case generation from UML activity diagrams. ACM SIGSOFT Softw. Eng. Notes 34(6), 1–14 (2009)

    Article  Google Scholar 

  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). https://doi.org/10.1145/1858996.1859038

  59. Shaikh, A., Wiil, U.K.: Overview of slicing and feedback techniques for efficient verification of UML/OCL class diagrams. IEEE Access (2018). https://doi.org/10.1109/ACCESS.2018.2797695

    Google Scholar 

  60. Silva, J.: A vocabulary of program slicing-based techniques. ACM Comput. Surv. (CSUR) 44(3), 12 (2012)

    Article  MATH  Google Scholar 

  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)

  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). https://doi.org/10.1007/978-3-642-41533-3_44

  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). https://doi.org/10.1109/WPC.2002.1021338

  64. Tip, F.: A survey of program slicing techniques. J. Program. Lang. 3(3), 121–189 (1995)

    Google Scholar 

  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)

  66. jUCMNav v7.0.0: jUCMNav Project (tool, documentation, and meta-model) (2016). http://softwareengineering.ca/jucmnav. Accessed 18 Mar 2018

  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)

  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)

    Article  Google Scholar 

  69. Venkatesh, G.A.: The semantic approach to program slicing. SIGPLAN Not. 26(6), 107–119 (1991). https://doi.org/10.1145/113446.113455

    Article  Google Scholar 

  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)

  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)

    Book  MATH  Google Scholar 

  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)

    Chapter  Google Scholar 

  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)

    Article  Google Scholar 

  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)

Download references

Acknowledgements

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.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jameleddine Hassine.

Additional information

Communicated by Dr Jeff Gray.

Appendices

A Closure slices for remaining UCM constructs

Figure 27 shows closure (marked) slices for different slicing criteria applied to sample UCM models in Sect. 3.

Fig. 27
figure 27

Closure slice approach used with different UCM constructs as SC

B Mock system slices

This appendix presents the results of the application of the static slicing applied to the UCM mock model of Fig. 19a with the slicing criterion (tests) defined in Sect. 5.1. For each example, we specify the map in which the selected respRef resides. Evaluation examples with several slicing criteria are shown in Figs. 282930313233, and 34 using the reduced slice approach. The same output slices using the closure slice approach are shown in Figs. 353637383940, and  41.

Fig. 28
figure 28

Reduced slice when SC = (R17 in root map Fig. 19a, (x, j, k))

Fig. 29
figure 29

Reduced slice when SC = (R9 in map Fig. 19b, y)

Fig. 30
figure 30

Reduced slice when SC = (R14 in map Fig. 19c, x)

Fig. 31
figure 31

Reduced slice when SC = (R2 in map Fig. 19d, x)

Fig. 32
figure 32

Reduced slice when SC = (R1 in map Fig. 19a, (x,y)

Fig. 33
figure 33

Reduced slice when SC = (R5 in map Fig. 19a, x)

Fig. 34
figure 34

Reduced slice when SC = (R15 in map Fig. 19a, x)

Fig. 35
figure 35

Closure slice when SC = (R17 in map Fig. 19a, (x,j,k))

Fig. 36
figure 36

Closure slice when SC = (R9 in map Fig. 19b, y)

Fig. 37
figure 37

Closure slice when SC = (R14 in map Fig. 19c, x)

Fig. 38
figure 38

Closure slice when SC = (R2 in map Fig. 19d, x)

Fig. 39
figure 39

Closure slice when SC = (R1 in map Fig. 19a, (x,y)

Fig. 40
figure 40

Closure slice when SC = (R5 in map Fig. 19a, x)

Fig. 41
figure 41

Closure slice when SC = (R15 in map Fig. 19a, x)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Binalialhag, T., Hassine, J. & Amyot, D. Static slicing of Use Case Maps requirements models. Softw Syst Model 18, 2465–2505 (2019). https://doi.org/10.1007/s10270-018-0680-7

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-018-0680-7

Keywords

Navigation