Skip to main content
Log in

Multithreaded testing of program interfaces

  • Published:
Programming and Computer Software Aims and scope Submit manuscript

Abstract

In the paper, the new method Sapsan is described. It is designed for functional testing of parallel programs representing program interface the methods (procedures) of which can be invoked from several threads simultaneously. The Sapsan method makes it possible to verify one of the frequently used requirements to such programs, namely, the interface serializability requirement, which consists in that the result of parallel execution of the interface methods in several threads is equivalent to a certain sequential execution of these methods in the same state. In essence, this requirement is formalization of the widely used thread-safety term.

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. Viser, W., Havelund, K., Brat, G., Park, S., and Lerda, F., Model Checking Programs, Automated Sotware Eng., 2003, vol. 10, no. 2, pp. 203–232.

    Article  Google Scholar 

  2. Godefroid, P., Model Checking for Programming Languages Using Verisoft, Proc. of Symp. on Principles of Programming Languages, 1997, pp. 174–186.

  3. Flanagan, C. and Godefroid, P., Dynamic Partial-Order Reduction for Model Checking Software, Proc. of the 32nd ACM SIGPLAN—SIGACT Symp. on Principles of Programming Languages (POPL’05) (New York, 2005), New York: ACM, 2005, pp. 110–121.

    Google Scholar 

  4. Godefroid, P., Partial-Order Methods for the Verification of Concurrent Systems: An Approach to the State-Explosion Problem, New York: Springer, 1996.

    Google Scholar 

  5. Peled, D., Combining Partial-Order Reductions with On-the-fly Model Checking, Formal Methods System Design, 1996, vol. 8, pp. 39–64.

    Article  Google Scholar 

  6. Tayfun Elmas, Shaz Qadeer, and Serdar Tasiran, Goldilocks: A Race and Transaction-aware Java Runtime, Proc. of the 2007 ACM SIGPLAN Conf. on Programming Language Design and Implementation (PLDI’07) (New York, 2007), New York: ACM, 2007, pp. 245–255.

    Chapter  Google Scholar 

  7. Savage, S., Burrows, M., Nelson, G., Sobalvarro, P., and Anderson, T., Eraser: A Dynamic Data Race Detector for Multithreaded Programs, ACM Trans. Comput. Systems, 1997, vol. 15, no. 4, pp. 391–411.

    Article  Google Scholar 

  8. Bruening, D., Systematic Testing of Multithreaded Java Programs, 1999.

  9. Mutilin, V.S., Concurrent Testing of Java Components Using Java PathFinder, ISoLA, 2006, no. 2.

  10. Kuliamin, V.V., Petrenko, A. K., Kossatchev, A.C., and Burdonov, I.B., The UniTesK Approach to Designing Test Suites, Programmirovanie, 2003, no. 6, pp. 25–43 [Programming Comput. Software (Engl. Transl.), 2003, vol. 29, no. 6, pp. 310–322].

  11. Khoroshilov, A.V., Specification and Testing of Components with Asynchronous Interface, Cand. Sci. (Math.) Dissertation, 2006.

  12. http://www.junit.org.

  13. http://ehcache.sourceforge.net.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to V. S. Mutilin.

Additional information

Original Russian Text © V.S. Mutilin, 2009, published in Programmirovanie, 2009, Vol. 35, No. 6.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Mutilin, V.S. Multithreaded testing of program interfaces. Program Comput Soft 35, 314–320 (2009). https://doi.org/10.1134/S0361768809060024

Download citation

  • Received:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1134/S0361768809060024

Keywords

Navigation