Abstract
Formal methods are one of the most important approaches to increasing the confidence in the correctness of software systems. A formal specification can be used as an oracle in testing since one can determine whether an observed behaviour is allowed by the specification. This is an important feature of formal testing: behaviours of the system observed in testing are compared with the specification and ideally this comparison is automated. In this paper we study a formal testing framework to deal with systems that interact with their environment at physically distributed interfaces, called ports, and where choices between different possibilities are probabilistically quantified. Building on previous work, we introduce two families of schedulers to resolve nondeterministic choices among different actions of the system. The first type of schedulers, which we call global schedulers, resolves nondeterministic choices by representing the environment as a single global scheduler. The second type, which we call localised schedulers, models the environment as a set of schedulers with there being one scheduler for each port. We formally define the application of schedulers to systems and provide and study different implementation relations in this setting.
Similar content being viewed by others
References
Aldini A, Bravetti M (2000) An asynchronous calculus for generative-reactive probalistic systems. In: 8th process algebras and performance modelling workshop, PAPM’00. Carleton Scientific, pp 591–606
Ammann P, Offutt J (2008) Introduction to software testing. Cambridge University Press, Cambridge
Bravetti M, Aldini A (2003) Discrete time generative-reactive probabilistic processes with different advancing speeds. Theor Comput Sci 290(1): 355–406
Ben-Abdallah H, Leue S (1997) Syntactic detection of process divergence and non-local choice in Message Sequence Charts. In: 3rd international workshop on tools and algorithms for construction and analysis of systems, TACAS’97, LNCS, vol 1217. Springer, Berlin, pp 259–274
Brinksma E, Heerink L, Tretmans J (1998) Factorized test generation for multi-input/output transition systems. In: 11th IFIP workshop on testing of communicating systems, IWTCS’98. Kluwer, Dordrecht, pp 67–82
Boyd SC, Ural H (1991) The synchronization problem in protocol testing and its complexity. Inf Process Lett 40(3): 131–136
Cleaveland R, Dayar Z, Smolka SA, Yuen S (1999) Testing preorders for probabilistic processes. Inf Comput 154(2): 93–148
Christoff I (1990) Testing equivalences and fully abstract models for probabilistic processes. In: 1st international conference on concurrency theory, CONCUR’90, LNCS, vol 458. Springer, Berlin, pp 126–140
Cheung L, Lynch N, Segala R, Vaandrager F (2006) Switched PIOA: parallel composition via distributed scheduling. Theor Comput Sci 365(1–2): 83–108
Cacciari L, Rafiq O (1999) Controllability and observability in distributed testing. Inf Softw Technol 41(11–12): 767–780
Cheung L, Stoelinga M, Vaandrager F (2007) A testing scenario for probabilistic processes. J ACM 54(6):Article 29
Dssouli R, von Bochmann G (1985) Error detection with multiple observers. In: 5th WG6.1 international conference on protocol specification, testing and Verification, PSTV’85. North-Holland, Amsterdam, pp 483–494
Dssouli R, von Bochmann G (1986) Conformance testing with multiple observers. In: 6th WG6.1 international conference on protocol specification, testing and verification, PSTV’86. North-Holland, Amsterdam, pp 217–229
Deng Y, van Glabbeek R, Hennessy M, Morgan C, Zhang C (2007) Characterising testing preorders for finite probabilistic processes. In: 22nd Annual IEEE symposium on logic in computer science, LICS’07. IEEE Computer Society, pp 313–325
Deng Y, van Glabbeek R, Hennessy M, Morgan C (2008) Characterising testing preorders for finite probabilistic processes. Logical Methods Comput Sci 4(4)
Deng Y, van Glabbeek R, Hennessy M, Morgan C (2009) Testing finitary probabilistic processes. In: 20th international conference on concurrency theory, CONCUR’09, LNCS 5710. Springer, Berlin, pp 274–288
Deng Y, van Glabbeek R, Hennessy M, Morgan C (2011) Real-reward testing for probabilistic processes (extended abstract). In: 9th workshop on quantitative aspects of programming languages, QAPL’11, EPTCS 57, pp 61–73
Gaudel M-C (1995) Testing can be formal, too! In: 6th International joint conference CAAP/FASE, Theory and Practice of Software Development, TAPSOFT’95, LNCS, vol 915. Springer, Berlin, pp 82–96
Giro S, D’Argenio PR (2009) On the expressive power of schedulers in distributed probabilistic systems. In: 7th Workshop on quantitative aspects of programming languages, QAPL’09. Electron Notes Theor Comput Sci 253(3):45–71
Grieskamp W, Gurevich Y, Schulte W, Veanes M (2002) Generating finite state machines from abstract state machines. In: ACM SIGSOFT symposium on software testing and analysis, ISSTA’02. ACM Press, New York, pp 112–122
Grieskamp W, Kicillof N, Stobie K, Braberman V (2011) Model-based quality assurance of protocol documentation: tools and methodology. Softw Test Verif Reliab 21(1): 55–71
van Glabbeek R, Smolka SA, Steffen B (1995) Reactive, generative and stratified models of probabilistic processes. Inf Comput 121(1): 59–80
Hierons RM, Bogdanov K, Bowen JP, Cleaveland R, Derrick J, Dick J, Gheorghe M, Harman M, Kapoor K, Krause P, Luettgen G, Simons AJH, Vilkomir S, Woodward MR, Zedan H (2009) Using formal methods to support testing. ACM Comput Surv 41(2)
Hierons RM, Bowen JP, Harman M (eds) (2008) Formal methods and testing. In: LNCS, vol 4949. Springer, Berlin
Hierons RM (2012) Overcoming controllability problems in distributed testing from an input output transition system. Distrib Comput 25(1): 63–81
Hierons RM, Merayo MG (2009) Mutation testing from probabilistic and stochastic finite state machines. J Syst Softw 82(11): 1804–1818
Hierons RM, Merayo MG, Núñez M (2008) Controllable test cases for the distributed test architecture. In: 6th International symposium on automated technology for verification and analysis, ATVA’08. LNCS, vol 5311. Springer, Berlin, pp 201–215
Hierons RM, Merayo MG, Núñez M (2008) Implementation relations for the distributed test architecture. In: Joint 20th IFIP TC6/WG6.1 international conference on testing of software and communicating systems, TestCom’08, and 8th international workshop on formal approaches to software testing, FATES’08. LNCS, vol 5047. Springer, Berlin, pp 200–215
Hierons RM, Merayo MG, Núñez M (2012) Implementation relations and test generation for systems with distributed interfaces. Distrib Comput 25(1): 35–62
Hierons RM, Núñez M (2010) Testing probabilistic distributed systems. In: IFIP 30th international conference on formal techniques for distributed systems, FMOODS/FORTE’10. LNCS, vol 6117. Springer, Berlin, pp 63–77
Hierons RM, Ural H (2008) The effect of the distributed test architecture on the power of testing. Comput J 51(4): 497–510
Jard C, Jéron T, Kahlouche H, Viho C (1998) Towards automatic distribution of testers for distributed conformance testing. In: TC6 WG6.1 joint international conference on formal description techniques and protocol specification, testing and verification, FORTE’98. Kluwer, Dordrecht, pp 353–368
Luo G, Dssouli R, von Bochmann G (1993) Generating synchronizable test sequences based on finite state machine with distributed ports. In: 6th IFIP workshop on protocol test systems, IWPTS’93. North-Holland, Amsterdam, pp 139–153
López N, Núñez M, Rodríguez I (2006) Specification, testing and implementation relations for symbolic-probabilistic systems. Theor Comput Sci 353(1–3): 228–248
Larsen K, Skou A (1991) Bisimulation through probabilistic testing. Inf Comput 94(1): 1–28
Lynch NA, Vaandrager FW (1995) Forward and backward simulations I: untimed systems. Inf Comput 121(2): 214–233
Morgan C, McIver A, Seidel K (1996) Probabilistic predicate transformers. ACM Trans Program Lang Syst 18(3): 325–353
Morgan C, McIver A, Seidel K, Sanders JW (1996) Refinement-oriented probability for CSP. Formal Aspects Comput 8(6): 617–647
Morgan C (1988) The specification statement. ACM Trans Program Lang Syst 10(3): 403–419
Morgan C (1990) Programming from specifications. Prentice Hall, Englewood Cliffs
Myers GJ (2004) The art of software testing. Wiley, New York
Núñez M (2003) Algebraic theory of probabilistic processes. J Logic Algebraic Program 56(1–2): 117–177
Rafiq O, Cacciari L (2003) Coordination algorithm for distributed testing. J Supercomput 24(2): 203–211
Sarikaya B, von Bochmann G (1984) Synchronization and specification issues in protocol testing. IEEE Trans Commun 32: 389–395
Segala R (1995) A compositional trace-based semantics for probabilistic automata. In: 6th international conference on concurrency theory, CONCUR’95, LNCS, vol 962. Springer, Berlin, pp 234–248.
Segala R (1996) Testing probabilistic automata. In: 7th international conference on concurrency theory, CONCUR’96. LNCS, vol 1119. Springer, Berlin, pp 299–314
Segala R (1997) Quiescence, fairness, testing, and the notion of implementation. Inf Comput 138(2): 194–210
Segala R, Lynch N (1995) Probabilistic simulations for probabilistic processes. Nordic J Comput 2(2): 250–273
Tretmans J (2008) Model based testing with labelled transition systems. In: Formal methods and testing. LNCS, vol 4949. Springer, Berlin, pp 1–38
Ural H, Whittier D (2003) Distributed testing without encountering controllability and observability problems. Inf Process Lett 88(3): 133–141
Wu S-H, Smolka SA, Stark EW (1997) Composition and behaviors of probabilistic I/O automata. Theor Comput Sci 176(1–2): 1–37
Yi W, Larsen KG (1992) Testing probabilistic and nondeterministic processes. In: 12th IFIP/WG6.1 international symposium on protocol specification, testing and verification, PSTV’92. North Holland, Amsterdam, pp 47–61
Author information
Authors and Affiliations
Corresponding author
Additional information
Peter Höfner, Robert van Glabbeek and Ian Hayes
This research was partially supported by the Spanish MEC project TESIS (TIN2009-14312-C02-01) and the UK EPSRC project Testing of Probabilistic and Stochastic Systems (EP/G032572/1). Part of this research was carried out while the first author was visiting Universidad Complutense de Madrid supported by the Programa de visitantes distinguidos UCM - 2011.
Rights and permissions
About this article
Cite this article
Hierons, R.M., Núñez, M. Using schedulers to test probabilistic distributed systems. Form Asp Comp 24, 679–699 (2012). https://doi.org/10.1007/s00165-012-0244-5
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00165-012-0244-5