Skip to main content

A Modular Approach to Model-Based Testing of Concurrent Programs

  • Conference paper
Multicore Software Engineering, Performance, and Tools (MUSEPAT 2013)

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

Abstract

This paper presents a modular approach to testing concurrent programs that are modeled using labeled transition systems. Correctness is defined in terms of an implementation relation that is expected to hold between a model of the system and its implementation. The novelty of our approach is that the correctness of a concurrent software system is determined by testing the individual threads separately, without testing the system as a whole. We define a modular implementation relation on individual threads and show that modular relations can be tested separately in order to verify a (non-modular) implementation relation for the complete system. Empirical results indicate that our approach can significantly reduce the number of test sequences that are generated and executed during model-based testing.

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

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

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.

Similar content being viewed by others

References

  1. Koppol, P.V., Carver, R.H., Tai, K.C.: Incremental Integration Testing of concurrent Programs. IEEE Transactions on Software Engineering 28(6) (2002)

    Google Scholar 

  2. Milner, R.: Communication and Concurrency. Prentice-Hall (1989)

    Google Scholar 

  3. Tai, K.C.: On testing concurrent programs. In: Proc. COMPSAC, vol. 85, pp. 310–317 (1985)

    Google Scholar 

  4. Tai, K.C., Carver, R.H.: Testing of distributed programs. In: Zoyama, A. (ed.) Handbook of Parallel and Dist. Computing, ch. 33, pp. 955–978. McGraw Hill (1996)

    Google Scholar 

  5. Lei, Y., Carver, R.H.: Reachability testing of concurrent programs. IEEE Transactions on Software Engineering 32(6), 382–403 (2006)

    Article  Google Scholar 

  6. Chen, J., Carver, R.: Selecting and Mapping Test Sequences from Formal Specifications of Concurrent Programs. In: Proc. of the High-Assurance Systems Eng., pp. 112–119 (1996)

    Google Scholar 

  7. Brinksma, E.: A Theory for the Derivation of Tests. In: Aggarwal, S., Sabnani, K. (eds.) Protocol Specification, Testing and Verification, VIII, pp. 63–74 (1988)

    Google Scholar 

  8. Carver, R., Lei, Y.: A Modular Approach to Model-Based Testing of Concurrent Programs. Technical report GMU-CS-TR-2013-5, Dept. of Computer Science, George Mason University (2013)

    Google Scholar 

  9. Lamport, L.: Time, Clocks, and the Ordering of Events in a Dist. System. Comm. ACM, 558–565 (1978)

    Google Scholar 

  10. Cleaveland, R., Parrow, J., Steffen, B.: The Concurrency Workbench: A Semantics Tool for the Verification of Concurrent Systems. ACM Tran. Programming Languages and Systems 15(1), 36–72 (1993)

    Article  Google Scholar 

  11. Information Technology, Open Systems Interconnection, Conformance Testing Methodology and Framework. International Standard IS-9646. ISO, Geneve (1991)

    Google Scholar 

  12. Feijs, L.M.G., Goga, N., Mauw, S., Tretmans, J.: Test Selection, Trace Distance and Heuristics. In: Proc. IFIP 14th Int. Conference on Testing Communicating Systems - TestCom, pp. 267–282 (2002)

    Google Scholar 

  13. Tretmans, J., Brinksma, E.: TorX: Automated Model-Based Testing. In: Proc. First European Conference on Model-Driven Software Engineering, pp. 31–43 (2003)

    Google Scholar 

  14. Ammann, P., Offutt, J.: Introduction to Software Testing. Cambridge Univ. Press (2008)

    Google Scholar 

  15. Tretmans, J.: Testing Concurrent Systems: A Formal Approach. In: Baeten, J.C.M., Mauw, S. (eds.) CONCUR 1999. LNCS, vol. 1664, pp. 46–65. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  16. Carver, R., Tai, K.C.: Modern Multithreading: Wiley (2006), http://www.cs.gmu.edu/~rcarver/ModernMultithreading/

  17. Ricart, G., Agrawala, A.K.: An optimal algorithm for mutual exclusion in computer networks. Communications of the ACM 24(1), 9–17 (1981)

    Article  MathSciNet  Google Scholar 

  18. Turner, K.J.: Using Formal Description Techniques: An Introduction to Estelle, Lotos, and SDL. John Wiley & Sons, Inc., New York (1993)

    Google Scholar 

  19. Suzuki, I., Kasami, T.: A distributed mutual exclusion algorithm. ACM Transactions on Computer Systems 3(4), 344–349 (1985)

    Article  Google Scholar 

  20. Fernandez, J., Garavel, H., Kerbrat, A., Mateescu, R., Mounier, L., Sighireanu, M.: CADP: A Protocol Validation and Verification Toolbox. In: Alur, R., Henzinger, T.A. (eds.) CAV 1996. LNCS, vol. 1102, pp. 437–440. Springer, Heidelberg (1996)

    Chapter  Google Scholar 

  21. Lang, F.: Compositional Verification using SVL Scripts. In: Katoen, J.-P., Stevens, P. (eds.) TACAS 2002. LNCS, vol. 2280, pp. 465–469. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  22. Ma, Y.-S., Offutt, J., Kwon, Y.-R.: μJava: An Automated Class Mutation System. Journal of Soft. Testing, Verif. and Reliability 15(2), 97–133 (2005), http://ise.gmu.edu/~ofut/mujava/

    Article  Google Scholar 

  23. van der Bijl, M., Rensink, A., Tretmans, J.: Compositional Testing with IOCO. In: Petrenko, A., Ulrich, A. (eds.) FATES 2003. LNCS, vol. 2931, pp. 86–100. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  24. Gotzhein, R., Khendek, F.: Compositional Testing of Communication Systems. In: Uyar, M.Ü., Duale, A.Y., Fecko, M.A. (eds.) TestCom 2006. LNCS, vol. 3964, pp. 227–244. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Carver, R., Lei, Y. (2013). A Modular Approach to Model-Based Testing of Concurrent Programs. In: Lourenço, J.M., Farchi, E. (eds) Multicore Software Engineering, Performance, and Tools. MUSEPAT 2013. Lecture Notes in Computer Science, vol 8063. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-39955-8_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-39955-8_8

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-39954-1

  • Online ISBN: 978-3-642-39955-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics