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.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
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.
Godefroid, P., Model Checking for Programming Languages Using Verisoft, Proc. of Symp. on Principles of Programming Languages, 1997, pp. 174–186.
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.
Godefroid, P., Partial-Order Methods for the Verification of Concurrent Systems: An Approach to the State-Explosion Problem, New York: Springer, 1996.
Peled, D., Combining Partial-Order Reductions with On-the-fly Model Checking, Formal Methods System Design, 1996, vol. 8, pp. 39–64.
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.
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.
Bruening, D., Systematic Testing of Multithreaded Java Programs, 1999.
Mutilin, V.S., Concurrent Testing of Java Components Using Java PathFinder, ISoLA, 2006, no. 2.
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].
Khoroshilov, A.V., Specification and Testing of Components with Asynchronous Interface, Cand. Sci. (Math.) Dissertation, 2006.
Author information
Authors and Affiliations
Corresponding author
Additional information
Original Russian Text © V.S. Mutilin, 2009, published in Programmirovanie, 2009, Vol. 35, No. 6.
Rights 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
Received:
Published:
Issue Date:
DOI: https://doi.org/10.1134/S0361768809060024