Abstract
This paper introduces a method to correctly order events in model-based testing for concurrent systems, in particular multi-threaded programs, whose events are only partially ordered. For a sequential, centralized tester, we need to merge (local) traces of each component into a (global) trace of a system in such a way that the ordering constraints are observed. To this end, we instrument a multi-threaded program under test so that the order of lock events is visible. This additional information helps a so-called multiplexer to reconstruct a fully serial trace consistent with the partial order. We describe programs and the multiplexer as labeled transition systems and give pseudo-code of the algorithm implementing the latter. The implementation of the algorithm presented is used in an industrial context.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Spec Explorer, released (January 2005), http://research.microsoft.com/specexplorer
Barnett, M., Leino, R., Schulte, W.: The Spec# programming system: An overview. In: Barthe, G., Burdy, L., Huisman, M., Lanet, J.-L., Muntean, T. (eds.) CASSIS 2004. LNCS, vol. 3362, pp. 49–69. Springer, Heidelberg (2005)
Blass, A., Gurevich, Y., Nachmanson, L., Veanes, M.: Play to test. Technical Report MSR-TR-2005-04, Microsoft Research, January 2005. Extended version of a paper submitted to CAV (2005)
Cacciari, L., Rafiq, O.: Controllability and observability in distributed testing. Inform. Software Technology 41, 767–780 (1999)
de Alfaro, L.: Game models for open systems. In: Dershowitz, N. (ed.) Verification: Theory and Practice. LNCS, vol. 2772, pp. 269–289. Springer, Heidelberg (2004)
de Alfaro, L., Henzinger, T.: Interface automata. In: Proceedings of the 8th European Software Engineering Conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of Software Engineering. ACM SIGSOFT Software Engineering Notes, vol. 26(5), pp. 109–120. ACM Press, New York (2001)
Grieskamp, W., Tillmann, N., Veanes, M.: Instrumenting scenarios in a model-driven development environment. Information and Software Technology 46(15), 1027–1036 (2004)
Gurevich, Y., Rossman, B., Schulte, W.: Semantic essence of AsmL. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.-P. (eds.) FMCO 2003. LNCS, vol. 3188, pp. 240–259. Springer, Heidelberg (2004): Extended version to appear in special issue of Theoretical Computer Science, preliminary version available as Microsoft Research Technical Report MSR-TR-2004-27
Hallal, H., Alikacem, E., Tunney, P., Boroday, S., Petrenko, A.: Antipattern-based detection of defficiencies in java multithreaded software. In: Proceedings of the Fourth International Conference on Quality Software (QSIC2004), Braunschweig, Germany (September 2004)
Hallal, H., Boroday, S., Ulrich, A., Petrenko, A.: An automata-based approach to property testing in event traces. In: Hogrefe, D., Wiles, A. (eds.) TestCom 2003. LNCS, vol. 2644, pp. 180–196. Springer, Heidelberg (2003)
Huo, J., Negulescu, R., Petrenko, A.: A study of robustness and delay-insensitivity of discrete action systems. Technical Report CRIM-03/04-02, Centre de Recherche Informatique de Montréal, Montreal, Quebec, Canada (2003)
Huo, J., Petrenko, A.: On testing partially specified IOTS through lossless queues. In: Groz, R., Hierons, R.M. (eds.) TestCom 2004. LNCS, vol. 2978, pp. 76–94. Springer, Heidelberg (2004)
Jard, C.: How to observe interoperability at the service level of protocols. In: 7th IFIP WG6.1 International Workshop on Protocol Test Systems (IWPTS 1994), Tokyo, Japan (November 1994)
Lamport, L.: Time, clocks, and the orderings of events in a distributed system. Communications of the ACM 21(7), 558–565 (1978)
Tasiran, S., Qadeer, S.: Runtime refinement checking of concurrent data structures. In: Proceedings of the Fourth Workshop on Runtime Verification (RV 2004). Electronic Notes in Theoretical Computer Science, vol. 113, pp. 163–179 (January 2005)
Veanes, M., Campbell, C., Schulte, W., Kohli, P.: On-the-fly testing of reactive systems. Technical Report MSR-TR-2005-05, Microsoft Research (January 2005)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 IFIP International Federation for Information Processing
About this paper
Cite this paper
Campbell, C., Veanes, M., Huo, J., Petrenko, A. (2005). Multiplexing of Partially Ordered Events. In: Khendek, F., Dssouli, R. (eds) Testing of Communicating Systems. TestCom 2005. Lecture Notes in Computer Science, vol 3502. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11430230_8
Download citation
DOI: https://doi.org/10.1007/11430230_8
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-26054-7
Online ISBN: 978-3-540-32076-0
eBook Packages: Computer ScienceComputer Science (R0)