Use Case Analysis Based on Formal Methods: An Empirical Study

  • Marcos OliveiraJr.
  • Leila Ribeiro
  • Érika Cota
  • Lucio Mauro Duarte
  • Ingrid Nunes
  • Filipe Reis
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9463)


Use Cases (UC) are a popular way of describing system behavior and represent important artifacts for system design, analysis, and evolution. Hence, UC quality impacts the overall system quality and defect rates. However, they are presented in natural language, which is usually the cause of issues related to imprecision, ambiguity, and incompleteness. We present the results of an empirical study on the formalization of UCs as Graph Transformation models (GTs) with the goal of running tool-supported analyses on them and revealing possible errors (treated as open issues). We describe initial steps for a translation from a UC to a GT, how to use an existing tool to analyze the produced GT, and present some diagnostic feedback based on the results of these analyses and the possible level of severity of the detected problems. To evaluate the effectiveness of the translation and of the analyses in identifying problems in UCs, we applied our approach on a set of real UC descriptions obtained from a software developer company and measured the results using a well-known metric. The final results demonstrate that this approach can reveal real problems that could otherwise go undetected and, thus, help improve the quality of the UCs.


Use cases Graph transformation Empirical study Model analysis 


  1. 1.
    Alagar, V.S., Periyasamy, K.: Specification of Software Systems. Texts in Computer Science, 2nd edn. Springer, London (2011)CrossRefGoogle Scholar
  2. 2.
    Basili, V., Caldiera, C., Rombach, H.: Goal question metric paradigm. In: Marciniak, J.J. (ed.) Encyclopedia of Software Engineering, vol. 1. Wiley, New York (1994)Google Scholar
  3. 3.
    Cockburn, A.: Writing Effective Use Cases, 1st edn. Addison-Wesley Longman Publishing Co., Inc., Boston (2000)Google Scholar
  4. 4.
    Diev, S.: Use cases modeling and software estimation: applying use case points. SIGSOFT Softw. Eng. Notes 31(6), 1–4 (2006)CrossRefGoogle Scholar
  5. 5.
    Ehrig, H., Engels, G., Kreowski, H.J., Rozenberg, G. (eds.): Applications, languages, and tools, vol. 2. World Scientific, River Edge (1999)zbMATHGoogle Scholar
  6. 6.
    Hausmann, J.H., Heckel, R., Taentzer, G.: Detection of conflicting functional requirements in a use case-driven approach: a static analysis technique based on graph transformation. In: Proceedings of the 24th ICSE, pp. 105–115 (2002)Google Scholar
  7. 7.
    Hurlbut, R.R.: A survey of approaches for describing and formalizing use cases. Technical report XPT-TR-97-03, Expertech, Ltd. (1997)Google Scholar
  8. 8.
    Jin, N., Yang, J.: An approach of inconsistency verification of use case in XML and the model of verification tool. In: Proceedings of MINES 2010, pp. 757–761 (2010)Google Scholar
  9. 9.
    Klimek, R., Szwed, P.: Formal analysis of use case diagrams. Comp. Sci. 11, 115–131 (2010)Google Scholar
  10. 10.
    Köters, G., werner Six, H., Winter, M.: Validation and verification of use cases and class models. In: Proceedings of the 6th REFSQ (2001)Google Scholar
  11. 11.
    Myers, G., Sandler, C., Badgett, T.: The Art of Software Testing. ITPro Collection. Wiley, New York (2011)Google Scholar
  12. 12.
    Patton, R.: Software Testing, vol. 408, 2nd edn. Sams Publishing, Indianapolis (2005)Google Scholar
  13. 13.
    Powers, D.M.: Evaluation: from precision, recall and F-factor to ROC, informedness, markedness & correlation. Technical Report SIE-07-001, FUSA (2007)Google Scholar
  14. 14.
    Rozenberg, G. (ed.): Foundations, vol. 1. World Scientific, River Edge (1997)zbMATHGoogle Scholar
  15. 15.
    Shen, W., Liu, S.: Formalization, testing and execution of a use case diagram. In: Dong, J.S., Woodcock, J. (eds.) ICFEM 2003. LNCS, vol. 2885, pp. 68–85. Springer, Heidelberg (2003) CrossRefGoogle Scholar
  16. 16.
    Sinnig, D., Chalin, P., Khendek, F.: LTS semantics for use case models. In: Proceedings of the ACM SAC, pp. 365–370. ACM (2009)Google Scholar
  17. 17.
    Sinnig, D., Chalin, P., Khendek, F.: Use case and task models: an integrated development methodology and its formal foundation. ACM ToSEM 22 (2013)CrossRefGoogle Scholar
  18. 18.
    Taentzer, G.: AGG: a tool environment for algebraic graph transformation. In: Münch, M., Nagl, M. (eds.) AGTIVE 1999. LNCS, vol. 1779, pp. 481–488. Springer, Heidelberg (2000) CrossRefGoogle Scholar
  19. 19.
    Wohlin, C., Runeson, P., Höst, M., Ohlsson, M.C., Regnell, B., Wesslén, A.: Experimentation in Software Engineering. Springer, Berlin (2012)CrossRefGoogle Scholar
  20. 20.
    Zhao, J., Duan, Z.: Verification of use case with petri nets in requirement analysis. In: Gervasi, O., Taniar, D., Murgante, B., Laganà, A., Mun, Y., Gavrilova, M.L. (eds.) ICCSA 2009, Part II. LNCS, vol. 5593, pp. 29–42. Springer, Heidelberg (2009) CrossRefGoogle Scholar
  21. 21.
    Ziemann, P., Hǎ\(\grave{\rm {v}}\)lscher, K., Gogolla, M.: From UML models to graph transformation systems. ENTCS 127(4), 17–33 (2005)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Marcos OliveiraJr.
    • 1
  • Leila Ribeiro
    • 1
  • Érika Cota
    • 1
  • Lucio Mauro Duarte
    • 1
  • Ingrid Nunes
    • 1
  • Filipe Reis
    • 1
  1. 1.PPGC – Institute of InformaticsFederal University of Rio Grande do Sul (UFRGS)Porto AlegreBrazil

Personalised recommendations