Abstract
In order to test systems that have physically distributed interfaces, called ports, we might use a distributed approach in which there is a separate tester at each port. If the testers do not synchronise during testing then we cannot always determine the relative order of events observed at different ports and this leads to new notions of correctness that have been described using corresponding implementation relations. We study the situation in which each tester has a local clock and timestamps its observations. If we know nothing about how the local clocks relate then this does not affect the implementation relation while if the local clocks agree exactly then we can reconstruct the sequence of observations made. In practice, however, we are likely to be between these extremes: the local clocks will not agree exactly but we have some information regarding how they can differ. We start by assuming that a local tester interacts synchronously with the corresponding port of the system under test and then extend this to the case where communications can be asynchronous, considering both the first-in-first-out (FIFO) case and the non-FIFO case. The new implementation relations are stronger than implementation relations for distributed testing that do not use timestamps but still reflect the distributed nature of observations. This paper explores these alternatives and derives corresponding implementation relations.
Similar content being viewed by others
Notes
If an input cannot be applied in some state of the SUT, then we can assume that there is a response to the input that reports that this input is blocked.
It is possible to remove this restriction by considering infinite traces rather than quiescent traces [21] but this complicates the exposition.
In the graphical representation we have omitted irrelevant input transitions. For each state \(q\) and input \(?i\in \{?open_1,?open_2,?save_1,?save_2\}\), if there does not exist an outgoing transition from \(q\) labelled by \(?i\) then we assume the existence of the transition \((q,?i,q)\).
We assume that an output cannot be delayed past quiescence but it is straightforward to change the definition in order to remove this assumption.
Again we assume that an output cannot be delayed past quiescence but it is straightforward to change the definition in order to remove this assumption.
The membership problem is that of determining whether a given trace is a trace of the specification.
References
Ammann, P., Offutt, J.: Introduction to Software Testing. Cambridge University Press, Cambridge (2008)
Bhateja, P., Gastin, P., Mukund, M.: A fresh look at testing for asynchronous communication. In: 4th International Symposium on Automated Technology for Verification and Analysis, ATVA’06, LNCS 4218, pp. 369–383. Springer (2006)
Boreale, M., De Nicola, R., Pugliese, R.: Asynchronous observations of processes. In: 1st International Conference on the Foundations of Software Science and Computation Structure, FoSSaCS’98, LNCS 1378, pp. 95–109. Springer (1998)
Boreale, M., De Nicola, R., Pugliese, R.: A theory of “may” testing for asynchronous languages. In: 2nd International Conference on the Foundations of Software Science and Computation Structure, FoSSaCS’99, LNCS 1578, pp. 165–179. Springer (1999)
Boyd, S., Ural, H.: The synchronization problem in protocol testing and its complexity. Inf. Process. Lett. 40(3), 131–136 (1991)
Cacciari, L., Rafiq, O.: Controllability and observability in distributed testing. Inf. Softw. Technol. 41(11–12), 767–780 (1999)
Castellani, I., Hennessy, M.: Testing theories for asynchronous languages. In: 18th Conference on Foundations of Software Technology and Theoretical Computer Science, FSTTCS’98, LNCS 1530, pp. 90–101. Springer (1998)
Chen, W., Ural, H.: Synchronizable checking sequences based on multiple UIO sequences. IEEE/ACM Trans. Netw. 3, 152–157 (1995)
Cunha de Almeida, E., Marynowski, J., Sunyé, G., Traon, Y.L., Valduriez, P.: Efficient distributed test architecture for large-scale systems. In: 22nd International Conference on Testing Software and Systems, ICTSS’10, LNCS 6435, pp. 174–187. Springer (2010)
Dssouli, R., von Bochmann, G.: Conformance testing with multiple observers. In: 6th WG6.1 International Conference on Protocol Specification, Testing and Verification, PSTV’86, pp. 217–229. North-Holland (1986)
Farchi, E., Hartman, A., Pinter, S.: Using a model-based test generator to test for standard conformance. IBM Syst. J. 41(1), 89–110 (2002)
Fidge, C.: A limitation of vector timestamps for reconstructing distributed computations. Inf. Process. Lett. 68(2), 87–91 (1998)
Gaudel, M.C.: Testing can be formal, too! In: 6th International Joint Conference CAAP/FASE, Theory and Practice of Software Development, TAPSOFT’95, LNCS 915, pp. 82–96. Springer (1995)
Gonenc, G.: A method for the design of fault detection experiments. IEEE Trans. Comput. 19, 551–558 (1970)
Grieskamp, W., Kicillof, N., Stobie, K., Braberman, V.: Model-based quality assurance of protocol documentation: tools and methodology. Softw. Test. Verif. Reliab. 21(1), 55–71 (2011)
Hierons, R.M.: Oracles for distributed testing. IEEE Trans. Softw. Eng. 38(3), 629–641 (2012)
Hierons, R.M., Bogdanov, K., Bowen, J., Cleaveland, R., Derrick, J., Dick, J., Gheorghe, M., Harman, M., Kapoor, K., Krause, P., Luettgen, G., Simons, A., Vilkomir, S., Woodward, M., Zedan, H.: Using formal specifications to support testing. ACM Comput. Surv. 41(2), 1–76 (2009)
Hierons, R.M., Bowen, J., Harman, M. (eds.): Formal Methods and Testing, LNCS 4949. Springer, Berlin (2008)
Hierons, R.M., Merayo, M.G., Núñez, M.: Controllable test cases for the distributed test architecture. In: 6th International Symposium on Automated Technology for Verification and Analysis, ATVA’08, LNCS 5311, pp. 201–215. Springer (2008)
Hierons, R.M., Merayo, M.G., Núñez, M.: Implementation relations for the distributed test architecture. In: Joint 20th IFIP TC6/WG6.1 Int. Conf. on Testing of Software and Communicating Systems, TestCom’08, and 8th International Workshop on Formal Approaches to Software Testing, FATES’08, LNCS 5047, pp. 200–215. Springer (2008)
Hierons, R.M., Merayo, M.G., Núñez, M.: Implementation relations and test generation for systems with distributed interfaces. Distrib. Comput. 25(1), 35–62 (2012)
Hierons, R.M., Merayo, M.G., Núñez, M.: Using time to add order to distributed testing. In: 18th Symposium on Formal Methods, FM’12, LNCS 7436, pp. 232–246. Springer (2012)
Hierons, R.M., Ural, H.: Checking sequences for distributed test architectures. Distrib. Comput. 21(3), 223–238 (2008)
ISO/IEC JTC 1, J.T.C.: International Standard ISO/IEC 9646–1. Information Technology—Open Systems Interconnection—Conformance testing methodology and framework-Part 1: General concepts. ISO/IEC (1994)
Jard, C., Jéron, T., Kahlouche, H., Viho, C.: 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, pp. 353–368. Kluwer Academic Publishers (1998)
Jard, C., Jéron, T., Tanguy, L., Viho, C.: Remote testing can be as powerful as local testing. In: 19th Joint International Conference on Protocol Specification, Testing, and Verification and Formal Description Techniques, FORTE/PSTV’99, pp. 25–40. Kluwer Academic Publishers (1999)
Kim, M., Shin, J., Chanson, S.T., Kang, S.: An enhanced model for testing asynchronous communicating systems. In: 19th Joint International Conference on Protocol Specification, Testing, and Verification and Formal Description Techniques, FORTE/PSTV’99, pp. 337–356. Kluwer Academic Publishers (1999)
Lamport, L.: Time, clocks, and the ordering of events in a distributed system. Commun. ACM 21(7), 558–565 (1978)
Lamport, L., Melliar-Smith, P.: Synchronizing clocks in the presence of faults. J. ACM 32(1), 52–78 (1985)
Lee, D., Yannakakis, M.: Principles and methods of testing finite state machines: a survey. Proc. IEEE 84(8), 1090–1123 (1996)
Luo, G., Dssouli, R., von Bochmann, G.: Generating synchronizable test sequences based on finite state machine with distributed ports. In: 6th IFIP Workshop on Protocol Test Systems, IWPTS’93, pp. 139–153. North-Holland (1993)
Moore, E.: Gedanken experiments on sequential machines. In: Shannon, C., McCarthy, J. (eds.) Automata Studies. Princeton University Press, Princeton, NJ (1956)
Myers, G.: The Art of Software Testing, 2nd edn. Wiley, London (2004)
Ostrovsky, R., Patt-Shamir, B.: Optimal and efficient clock synchronization under drifting clocks. In: 18th Annual ACM Symposium on Principles of Distributed Computing, PODC’99, pp. 3–12. ACM Press (1999)
Petrenko, A., Yevtushenko, N.: Testing from partial deterministic FSM specifications. IEEE Trans. Comput. 54(9), 1154–1165 (2005)
Rafiq, O., Cacciari, L.: Coordination algorithm for distributed testing. J. Supercomput. 24(2), 203–211 (2003)
Sarikaya, B., von Bochmann, G.: Synchronization and specification issues in protocol testing. IEEE Trans. Commun. 32, 389–395 (1984)
Tai, K.C., Young, Y.C.: Synchronizable test sequences of finite state machines. Comput. Netw. ISDN Syst. 30(12), 1111–1134 (1998)
Tretmans, J.: Conformance testing with labelled transition systems: implementation relations and test generation. Comput. Netw. ISDN Syst. 29, 49–79 (1996)
Tretmans, J.: Model based testing with labelled transition systems. In: Hierons R.M., Bowen J.P., Harman M. (eds.) Formal Methods and Testing, LNCS 4949, pp. 1–38. Springer, Berlin (2008)
Ural, H., Williams, C.: Constructing checking sequences for distributed testing. Form. Asp. Comput. 18(1), 84–101 (2006)
Utting, M., Legeard, B.: Practical Model-Based Testing: A Tools Approach. Morgan-Kaufmann, Los Altos, CA (2007)
Acknowledgments
We would like to thank the anonymous reviewers for the careful reading and for their constructive comments that have helped to further strengthen the paper.
Author information
Authors and Affiliations
Corresponding author
Additional information
Research partially supported by the Spanish MICINN project TESIS (TIN2009-14312-C02-01) and the UK EPSRC project Testing of Probabilistic and Stochastic Systems (EP/G032572/1). This research was carried out while the second author was visiting Brunel University supported by a grant Fundación Caja Madrid para movilidad de profesores de universidades públicas de Madrid.
Rights and permissions
About this article
Cite this article
Hierons, R.M., Merayo, M.G. & Núñez, M. Timed implementation relations for the distributed test architecture. Distrib. Comput. 27, 181–201 (2014). https://doi.org/10.1007/s00446-014-0208-5
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00446-014-0208-5