Skip to main content
Log in

Efficient test case generation for validation of UML activity diagrams

  • Published:
Design Automation for Embedded Systems Aims and scope Submit manuscript

Abstract

Unified Modeling Language (UML) is widely used as a system level specification language in embedded system design. Due to the increasing complexity of embedded systems, the analysis and validation of UML specifications is becoming a challenge. UML activity diagram is promising to modeling the overall system behavior. However, lack of techniques for automated test case generation is one major bottleneck in the UML activity diagram validation. This article presents a methodology for automatically generating test cases based on various model checking techniques. It makes three primary contributions: First, we propose coverage-driven mapping rules that can automatically translate activity diagram to formal models. Next, we present a procedure for automatic property generation according to error models. Finally, we apply various model checking based test case generation techniques to enable efficient test case generation. Our experimental results demonstrate that our approach can reduce the validation effort drastically by reducing both test case generation time and required number of test cases to achieve a functional coverage goal.

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.

Similar content being viewed by others

References

  1. Rumbaugh J, Jacobson I, Booch G (2001) The unified modeling language user guide. Addison-Wesley, Boston

    Google Scholar 

  2. OMG (2007) UML superstructure V2.1.2. Available at http://www.omg.org/docs/formal/07-11-02.pdf

  3. Martin G (2002) UML for embedded systems specification and design: motivation and overview. In: Design automation and test in Europe 2005, pp 773–775

  4. Martin G, Müller W (2005) UML for SOC design. Springer, Berlin

    Book  Google Scholar 

  5. Müller W, Rosti A, Bocchio S, Riccobene E, Scandurra P, Dehaene W, Vanderperren Y (2006) UML for ESL design–basic principles, tools, and applications. In: International conference on computer-aided design 2006, pp 73–80

  6. Peterson J (1981) Petri nets theory and the modeling of systems. Prentice-Hall, New York

    Google Scholar 

  7. Chen M, Mishra P, Kalita D (2008) Coverage-driven automatic test generation for UML activity diagrams. In: Proceedings of Great Lakes symposium of VLSI (GLSVLSI), pp 139–142

  8. Ammann P, Black P, Majurski W (1998) Using model checking to generate tests from specifications. In: Proceedings of international conference on formal engineering methods (ICFEM), pp 46–54

  9. Bryant RE (1986) Graph-based algorithms for Boolean function manipulations. IEEE Trans Comput 35(8):677–691

    Article  MATH  Google Scholar 

  10. Prasad M, Biere A, Gupta A (2005) A survey of recent advances in SAT-based formal verification. Int J Softw Tools Technol Transf 7(2):156–173

    Article  Google Scholar 

  11. Biere A, Cimatti A, Clarke E, Zhu Y (1999) Symbolic model checking without BDDs. In: International conference on tools and algorithms for the construction and analysis of systems, pp 193–207

  12. Riccobene E, Scandurra P, Rosti A, Bocchio S (2005)A SoC design methodology involving a UML 2.0 profile for SystemC. In: Design automation and test in Europe, pp 704–709

  13. Müller W, Rosti A, Bocchio S, Riccobene E, Scandurra P, Dehaene W, Vanderperren Y (2006) UML for ESL design: basic principles, tools, and applications. In: International conference on computer aided design, pp 73–80

  14. Rosenberg D, Mancerella S (2010) Embedded systems development using SysML: an illustrated example using enterprise architect. Sparx Systems Pty Ltd and ICONIX

  15. Lamberg K (2007) Trends and perspectives in automated ECU testing. In: Automotive electronic, June, 2007

  16. dSPACE. http://www.dspace.com

  17. Lavagno L, Müller W (2006) UML as a next-generation language for SoC design. In: Electronic design

  18. Heckel R, Lohmann M (2003) Towards model-driven testing. In: International workshop on test and analysis of component based systems, pp 284–291

  19. Briand LC, Labiche Y (2002) A UML-based approach to system testing. Softw System Model 1(1):10–42

    Article  Google Scholar 

  20. Chen T, Poon P, Tang S, Tse T (2005) Identification of categories and choices in activity diagrams. In: International conference on software quality 2005, pp 55–63

  21. Wang L, Yuan J, Yu X, Hu J, Li X, Zheng G (2004) Generating test cases from UML activity diagram based on gray-box method. In: Asia-pacific software engineering conference 2004, pp 284–291

  22. Kim H, Kang S, Baik J, Ko I (2007) Test cases generation from UML activity diagrams. In: Software engineering, artificial intelligence, networking, and parallel/distributed computing 2007, pp 556–561

  23. Chen M, Qiu X, Li X (2006) Automatic test case generation for UML activity diagrams. In: International workshop on automation on software test 2006, pp 2–8

  24. Chen M, Qiu X, Xu W, Wang L, Zhao J, Li X (2009) UML activity diagram based automatic test case generation for Java programs. Comput J 52(5):545–556

    Article  Google Scholar 

  25. Unhelkar B (2005) Verification and validation for quality of UML 2.0 models. Wiley, New York

    Book  Google Scholar 

  26. Bell A, Haverkort BR (2005) Sequential and distributed model checking of Petri nets. Int J Softw Tools Technol Transf 7(1):43–60

    Article  Google Scholar 

  27. Jensen K, Kristensen LM, Wells L (2007) Coloured Petri nets and CPN tools for modelling and validation of concurrent systems. Int J Softw Tools Technol Transf 9(3–4):213–254

    Article  Google Scholar 

  28. Eshuis R (2006) Symbolic model checking of UML activity diagrams. ACM Trans Softw Eng Methodol 15(1):1–38

    Article  Google Scholar 

  29. Cimatti A, Clarke EM, Giunchiglia F, Roveri M (1999) NUSMV: a new symbolic model verifier. In: International conference on computer aided verification 1999, pp 495–499

  30. Guelfi N, Mammar A (2005) A formal semantics of timed activity diagrams and its PROMELA translation. In: Asia-Pacific software engineering conference 2005, pp 283–290

  31. Das D, Kumar R, Chakrabarti PP (2006) Timing verification of UML activity diagram based code block level models for real time multiprocessor system-on-chip applications. In: Asia-Pacific software engineering conference 2006, pp 199–208

  32. Chen M, Mishra P, Kalita D (2007) RTL towards test generation from systemc TLM specifications. In: High level design validation and test workshop 2007, pp 91–96

  33. Fraser G, Wotawa F (2007) Improving model-checkers for software testing. In: International conference on software quality 2007, pp 25–31

  34. Mishra P, Dutt N (2005) Functional coverage driven test generation for validation of pipelined processors. In: Design automation and test in Europe 2005, pp 678–683

  35. Koo H, Mishra P (2006) Functional test generation using property decompositions for validation of pipelined processors. In: Design automation and test in Europe, pp 1240–1245

  36. Mishra P, Chen M (2009) Efficient techniques for directed test generation using incremental satisfiability. In: International conference on VLSI design, pp 65–70

  37. Chen M, Qin X, Mishra P (2010) Efficient decision ordering techniques for SAT-based test generation. In: Design, automation and test in Europe, pp 490–495

  38. Chen M, Mishra P (2010) Functional test generation using efficient property clustering and learning techniques. IEEE Tran Comput-Aided Des Integr Circuits Syst 29(3):396–404

    Article  Google Scholar 

  39. Rayadurgam S, Heimdahl MPE (2001) Coverage based test-case generation using model checkers. In: International conference and workshop on the engineering of computer based systems 2001, pp 83–91

  40. Clarke EM, Grumberg O, Peled DA (2000) Model checking. MIT Press, Cambridge

    Google Scholar 

  41. Marques-Silva J, Sakallah K (1999) GRASP: A search algorithm for propositional satisfiability. IEEE Trans Comput 48(5):506–521

    Article  MathSciNet  Google Scholar 

  42. Moskewicz MW, Madigan CF, Zhao Y, Zhang L, Malik S (2001) Chaff: Engineering an efficient SAT solver. In: Design automation conference, pp 530–535

  43. Ericsson M (2004) Activity diagrams: What they are and how to use them. The Rational Edge

  44. Zhu H, Hall P, May J (1997) Software unit test coverage and adequacy. ACM Comput Surv 29(4):366–427

    Article  Google Scholar 

  45. McMillan KL Cadence SMV. Available at http://www.kenmcmil.com/

  46. Reshadi M, Gorjiara B, Dutt N (2006) Generic processor modeling for automatically generating very fast cycle-accurate simulators. IEEE Trans CAD Integr Circuits Syst 25(12):2904–2918

    Article  Google Scholar 

  47. Hennessy J, Patterson D (2003) Computer architecture: a quantitative approach. Morgan Kaufmann, San Mateo

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Mingsong Chen.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Chen, M., Mishra, P. & Kalita, D. Efficient test case generation for validation of UML activity diagrams. Des Autom Embed Syst 14, 105–130 (2010). https://doi.org/10.1007/s10617-010-9052-4

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10617-010-9052-4

Keywords

Navigation