Skip to main content

Simulation Testing and Model Checking: A Case Study Comparing these Approaches

  • Conference paper
Software Engineering for Resilient Systems (SERENE 2014)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 8785))

Included in the following conference series:

Abstract

One of the challenging problems in software development is the assuring of the correctness of the created software. During our previous research, we developed a framework for the simulation-based testing of software components SimCo that allows us to perform testing of component-based applications or its fragments. The SimCo was originally designed to perform the tests according to a given scenario in order to determine extra-functional properties of the components. However, it can be also used to test the correctness of the component behaviour. For this purpose, there are also other ways – the model checking tools, such as Java Pathfinder. We want to compare the strengths and weaknesses of the two approaches as represented by the SimCo and the Java Pathfinder. In this paper, the results of the comparison of these two testing methods on a case study using the implementation of the FTP protocol are discussed.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 34.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 44.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Runeson, P.: A Survey of Unit Testing Practices. IEEE Software 23(4), 22–29 (2006) ISSN: 0740-7459/06

    Google Scholar 

  2. Stephens, M., Rosenberg, D.: Design Driven Testing: Test Smarter, Not Harder. Apress, Berkely (2010) ISBN: 978-1430229438

    Google Scholar 

  3. Cockburn, A.: Writing Effective Use Cases. Addison-Wesley, Boston (2000)

    Google Scholar 

  4. Becker, S., Koziolek, H., Reussner, R.: Model-Based Performance Prediction with the Palladio Component Model. In: Proceedings of the 6th International Workshop on Software and Performance, pp. 54–66. ACM, New York (2007)

    Google Scholar 

  5. Szyperski, C., Gruntz, D., Murer, S.: Component Software – Beyond Object-Oriented Programming. ACM Press, New York (2000)

    Google Scholar 

  6. Lipka, R., Potužák, T., Brada, P., Herout, P.: SimCo – Hybrid Simulator for Testing of Component Based Applications. In: van Emde Boas, P., Groen, F.C.A., Italiano, G.F., Nawrocki, J., Sack, H. (eds.) SOFSEM 2013. LNCS, vol. 7741, pp. 420–431. Springer, Heidelberg (2013)

    Google Scholar 

  7. Fujimoto, R.M.: Parallel and Distributed Simulation Systems. John Wiley & Sons, New York (2000)

    Google Scholar 

  8. Binder, R.: Testing Object-Oriented Systems. Addison-Wesley, Boston (2000)

    Google Scholar 

  9. Kim, Y., Honh, H., Cho, S., Bae, D., Cha, S.: Test Cases Generation from UML State Diagrams. IEE Proc. Software 146(4), 187–192 (1999)

    Article  Google Scholar 

  10. Offutt, J., Abdurazik, A.: Generating Tests from UML Specifications. In: France, R.B. (ed.) UML 1999. LNCS, vol. 1723, pp. 416–429. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  11. Riebisch, M., Philippow, I., Götze, M.: UML-Based Statistical Test Case Generation. In: Akşit, M., Mezini, M., Unland, R. (eds.) NODe 2002. LNCS, vol. 2591, pp. 394–411. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  12. Briand, L., Labiche, Y.: A UML-Based Approach to System Testing. Journal of Software and System Modeling 1(1), 10–42 (2002)

    Article  Google Scholar 

  13. Lipka, R., Potuzak, T., Brada, P., Herout, P.: Verification of SimCo – Simulation Tool for Testing of Component-based Application. In: EUROCON 2013, Zagreb, pp. 467–474 (2013)

    Google Scholar 

  14. Kačer, J.: Testing Java software for embedded devices using J-Sim and serialization of threads. In: Proc. of Electronic Computers and Informatics, pp. 382–387. VIENALA Press (2004)

    Google Scholar 

  15. Havelund, K., Pressburger, T.: Model Checking Java Programs Using Java Pathfinder. International Journal on Software Tools for Technology Transfer 2(4) (2000)

    Google Scholar 

  16. Mukund, M.: Finite-state Automata on Infinite Inputs, tutorial talk, Sixth National Seminar on Theoretical Computer Science, Banasthali Vidyapith, Banasthali Rajasthan (1996)

    Google Scholar 

  17. Giannakopoulou, D., Lerda, F.: From States to Transitions: Improving translation of LTL formulae to Büchi automata. In: Peled, D.A., Vardi, M.Y. (eds.) FORTE 2002. LNCS, vol. 2529, pp. 308–326. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  18. Corbett, J., Dwyer, M.B., Hatcliff, J., Laubach, S., Pasareanu, C.S., Zheng, H.: Bandera: Extracting Finite-state Models from Java Source Code. In: Proc. of 22nd International Conference on Software Engineering, Limerick, Poland, pp. 439–448 (2000)

    Google Scholar 

  19. Paška, M.: An Approach to Generating C Code with Proven LTL-based Properties. In: Proc. of International Conference on Computer as a Tool EUROCON, pp. 27–29 (2011)

    Google Scholar 

  20. Visser, W., Havelund, K., Brat, G., Park, S., Lerda, F.: Model Checking Programs. Automated Software Engineering 10(2), 203–232 (2003)

    Article  Google Scholar 

  21. Lerda, F., Visser, W.: Addressing Dynamic Issues of Program Model Checking. In: Dwyer, M.B. (ed.) SPIN 2001. LNCS, vol. 2057, pp. 80–102. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  22. Avrunin, G.S., Cobert, J.C., Dwyer, M.B., Pasarenau, C.S., Siegel, S.F.: Comparing finite-state verification techniques for concurrent software, Technical report UM-CS-1999-069, Department of Computer Science, Universitz of Massachusetts at Amherst, USA (1999)

    Google Scholar 

  23. Corbett, J.C.: Evaluating deadlock detection methods for concurrent software. IEEE Transactions on Software Engineering 22(3), 161–179 (1996)

    Article  Google Scholar 

  24. Widmaier, J.C., Smidts, C., Huang, X.: Producing more reliable software: Mature software engineering process vs. state-of-the-art technology. In: Proc. of 22nd International Conference on Software Engineering, Limerick, Ireland, pp. 87–94. ACM Press (2000)

    Google Scholar 

  25. Brat, G., Drusinsky, D., Giannakopoulou, D., Goldberg, A., Havelund, K., Lowry, M., Pasareanu, C., Venet, A., Visser, W., Washington, R.: Experimental Evaluation of Verification and Validation Tools on Martian Rover Software. Journal of Formal Methods in System Design 25(2-3), 167–198 (2004)

    Article  MATH  Google Scholar 

  26. Cotroneo, D., Natella, R., Russo, S., Scippacercola, F.: State-Driven Testing of Distributed Systems. In: Baldoni, R., Nisse, N., van Steen, M. (eds.) OPODIS 2013. LNCS, vol. 8304, pp. 114–128. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  27. Artho, C., Biere, A.: Combined Static and Dynamic Analysis. Electronic Notes in Theoretical Computer Science 131, 3–14 (2005)

    Article  Google Scholar 

  28. Vorobyov, K., Padmanabhan, K.: Comparing model checking and static program analysis: A case study in error detection approaches. In: Proc. of 5th international Wokshop in System Software Verification, Vancouver, Canada, pp. 1–7 (2010)

    Google Scholar 

  29. Engler, D., Musuvathi, M.: Static Analysis versus Software Model Checking for Bug Finding. In: Steffen, B., Levi, G. (eds.) VMCAI 2004. LNCS, vol. 2937, pp. 191–210. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer International Publishing Switzerland

About this paper

Cite this paper

Lipka, R., Paška, M., Potužák, T. (2014). Simulation Testing and Model Checking: A Case Study Comparing these Approaches. In: Majzik, I., Vieira, M. (eds) Software Engineering for Resilient Systems. SERENE 2014. Lecture Notes in Computer Science, vol 8785. Springer, Cham. https://doi.org/10.1007/978-3-319-12241-0_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-12241-0_9

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-12240-3

  • Online ISBN: 978-3-319-12241-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics