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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Runeson, P.: A Survey of Unit Testing Practices. IEEE Software 23(4), 22–29 (2006) ISSN: 0740-7459/06
Stephens, M., Rosenberg, D.: Design Driven Testing: Test Smarter, Not Harder. Apress, Berkely (2010) ISBN: 978-1430229438
Cockburn, A.: Writing Effective Use Cases. Addison-Wesley, Boston (2000)
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)
Szyperski, C., Gruntz, D., Murer, S.: Component Software – Beyond Object-Oriented Programming. ACM Press, New York (2000)
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)
Fujimoto, R.M.: Parallel and Distributed Simulation Systems. John Wiley & Sons, New York (2000)
Binder, R.: Testing Object-Oriented Systems. Addison-Wesley, Boston (2000)
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)
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)
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)
Briand, L., Labiche, Y.: A UML-Based Approach to System Testing. Journal of Software and System Modeling 1(1), 10–42 (2002)
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)
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)
Havelund, K., Pressburger, T.: Model Checking Java Programs Using Java Pathfinder. International Journal on Software Tools for Technology Transfer 2(4) (2000)
Mukund, M.: Finite-state Automata on Infinite Inputs, tutorial talk, Sixth National Seminar on Theoretical Computer Science, Banasthali Vidyapith, Banasthali Rajasthan (1996)
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)
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)
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)
Visser, W., Havelund, K., Brat, G., Park, S., Lerda, F.: Model Checking Programs. Automated Software Engineering 10(2), 203–232 (2003)
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)
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)
Corbett, J.C.: Evaluating deadlock detection methods for concurrent software. IEEE Transactions on Software Engineering 22(3), 161–179 (1996)
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)
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)
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)
Artho, C., Biere, A.: Combined Static and Dynamic Analysis. Electronic Notes in Theoretical Computer Science 131, 3–14 (2005)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)