A Tool for Automated Test Code Generation from High-Level Petri Nets

  • Dianxiang Xu
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6709)


Automated software testing has gained much attention because it is expected to improve testing productivity and reduce testing cost. Automated generation and execution of tests, however, are still very limited. This paper presents a tool, ISTA (Integration and System Test Automation), for automated test generation and execution by using high-level Petri nets as finite state test models. ISTA has several unique features. It allows executable test code to be generated automatically from a MID (Model-Implementation Description) specification - including a high-level Petri net as the test model and a mapping from the Petri net elements to implementation constructs. The test code can be executed immediately against the system under test. It supports a variety of languages of test code, including Java, C/C++, C#, VB, and html/Selenium IDE (for web applications). It also supports automated test generation for various coverage criteria of Petri nets. ISTA is useful not only for function testing but also for security testing by using Petri nets as threat models. It has been applied to several industry-strength systems.


Petri nets predicate/transition nets software testing model-based testing security testing 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Desel, J., Oberweis, A., Zimmer, T., Zimmermann, G.: Validation of Information System Models: Petri Nets and Test Case Generation. In: Proc. of SMC 1997, pp. 3401–3406 (1997)Google Scholar
  2. 2.
    Genrich, H.J.: Predicate/Transition Nets. In: Brauer, W., Reisig, W., Rozenberg, G. (eds.) APN 1986. LNCS, vol. 254, pp. 207–247. Springer, Heidelberg (1987)Google Scholar
  3. 3.
    Jensen, K., Kristensen, L.M., Wells, L.: Coloured Petri Nets and CPN Tools for Modelling and Validation of Concurrent Systems. International Journal on Software Tools for Technology Transfer 9, 213–254 (2007)CrossRefGoogle Scholar
  4. 4.
    Murata, T.: Petri Nets: Properties, Analysis and Applications. Proc. of the IEEE 77(4), 541–580 (1989)CrossRefGoogle Scholar
  5. 5.
    Utting, M., Legeard, B.: Practical Model-Based Testing: A Tools Approach. Morgan Kaufmann, San Francisco (2006)Google Scholar
  6. 6.
    Wang, C.C., Pai, W.C., Chiang, D.-J.: Using Petri Net Model Approach to Object-Oriented Class Testing. In: Proc. of SMC 1999, pp. 824–828 (1999)Google Scholar
  7. 7.
    Xu, D., Nygard, K.E.: Threat-Driven Modeling and Verification of Secure Software Using Aspect-Oriented Petri Nets. IEEE Trans. on Software Engineering. 32(4), 265–278 (2006)CrossRefGoogle Scholar
  8. 8.
    Xu, D., Volz, R.A., Ioerger, T.R., Yen, J.: Modeling and Analyzing Multi-Agent Behaviors Using Predicate/Transition Nets. International Journal of Software Engineering and Knowledge Engineering 13(1), 103–124 (2003)CrossRefGoogle Scholar
  9. 9.
    Xu, D., Xu, W., Wong, W.E.: Automated Test Code Generation from Class State Models. International J. of Software Engineering and Knowledge Engineering 19(4), 599–623 (2009)CrossRefGoogle Scholar
  10. 10.
    Xu, D.: Software Security. In: Wah, B.W. (ed.) Wiley Encyclopedia of Computer Science and Engineering, vol. 5, pp. 2703–2716. John Wiley & Sons, Inc, Hoboken (2009)Google Scholar
  11. 11.
    Zhu, H., He, X.: A Methodology for Testing High-Level Petri Nets. Information and Software Technology 44, 473–489 (2002)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Dianxiang Xu
    • 1
  1. 1.National Center for the Protection of the Financial InfrastructureDakota State UniversityMadisonUSA

Personalised recommendations