Skip to main content

Special issue on formal active and passive testing of distributed and networked systems

Preface

The target of the special issue was to receive submissions contributing to the hot topics on formal approaches for active and passive testing of distributed and networked systems. With this aim and after a careful selection, four papers have being chosen to be published in this special issue. In addition, the special issue includes a survey on active and passive testing as well as on testing (in) the cloud. The editors of the special issue would like to thank the members of the guest editorial board for their help during the reviewing process: Rui Abreu, Khaled El-Fakih, Toru Hasegawa, Thierry Jéron, Pascale Le Gall, David Lee, Stephane Maag, Eliane Martins, Inmaculada Medina-Bulo, Mercedes G. Merayo, Adenilso Simao, Kenji Suzuki, Jan Tretmans, Farn Wang, Carsten Weise, Franz Wotawa, Nina Yevtushenko, and Fatiha Zaïdi. We sincerely hope that the subscribers of the journal enjoy reading the papers contained in this special issue and that these contributions are useful for their research.

The first paper is entitled ‘Testing Trust Properties using a Formal Distributed Network Monitoring Approach’, and it is authored by Xiaoping Che, Jorge López, Stephane Maag and Gerardo Morales. The paper starts from the assumption that current systems are, more often than not, obliged to interact with other systems, applications and users. In accordance with that, the authors motivate the need to have new methods to guarantee the trustworthy interactions between the systems and users. It is important to remark that the constantly growing demand for connectivity urges researchers to find solutions to decrease potentially untrustworthy interactions and yet encourage diverse systems and entities collaborations. To solve this problem, the authors propose an approach based on passive black box testing using network packet captures (here called monitoring) which are distributed. The basic idea of their work is to supply trust management engines with feedback regarding the behaviour of the interactions between the involved entities. The authors expose how, by monitoring local-only interactions, untrustworthy interactions can still occur and ergo the need for the distributed framework and its implementation. The authors propose a system to analyse the interactions between the trustor and the trustee in order to test if the trustee is acting in a trustworthy manner; the analysis is done by inspecting and correlating different network packet captures from different points of observation. Further, in order to unambiguously describe those interactions, they propose a formalism, which they target to make it generic for any telecommunications protocol. Finally, the authors test their tool and framework by presenting a case scenario and performing the experiments applied to a real industrial case scenario. As this work shows, it is interesting how new approaches can help to tackle the remaining challenges when considering that the source of information has a distributed nature.

The second paper, ‘Integration testing of communicating systems with unknown components’, is authored by Roland Groz, Keqin Li and Alexander Petrenko. The paper deals with the issue of faults detection of a component which the specification is unknown. The proposed approach employs techniques based on machine learning, testing and reachability analysis and can detect flaws due to the non-deterministic behaviour of a modular distributed system, such as unspecified receptions, livelocks, divergences and races that would not be detected by testing alone.

The proposed approach presents several advantages with respect to classical components testing techniques: The complexity of the testing procedure is reduced by avoiding the use of large test suites, and the model learning techniques are applied only to the components used by the system under test; the unused behaviour of components are not modeled.

The third paper, ‘Methodology for validating cloud models using metamorphic testing’, is authored by Alberto Núñez and Robert M. Hierons. The test of cloud systems is a complex issue due to the many parameters that such systems typically have and the difficulty in determining whether an observed behaviour is correct. The paper proposes a methodology that integrates a complete simulation platform for modeling cloud computing systems, with testing methods for checking the correctness of modeled cloud systems. Cloud computing is a paradigm that provides access to a flexible, elastic and on-demand computing infrastructure, allowing users to dynamically request virtual resources. However, researchers typically cannot experiment with critical parts of cloud systems such as the underlying cloud architecture, resource-provisioning policies and the configuration of resource virtualisation. This problem can be partially addressed through using simulations of cloud systems. Unfortunately, the problem of testing cloud systems is still challenging due to the many parameters that such systems typically have and the difficulty in determining whether an observed behaviour is correct. In order to alleviate these issues, the authors propose a methodology to semi-automatically test and validate cloud models by integrating simulation techniques and metamorphic testing.

The fourth paper is entitled ‘Class mutation operators for C++ object-oriented systems and is authored by Pedro Delgado-Pérez, Inmaculada Medina-Bulo, Juan José Domínguez-Jiménez, Antonio García-Domínguez and Francisco Palomo-Lozano. The paper presents a mutation testing approach for C++ oriented systems based on a set of class mutation operators related to this language and its OO features. The proposed technique has been implemented and experiments on different C++ programs have been performed showing the interest of this technique for the creation of complete test suites. The object oriented models commonly taken to be the model of choice in developing complex software, especially distributed software. Research has being developed on verification but research on testing techniques for object oriented systems is a relatively new research topic.

The paper uses mutation testing as a fault injection testing technique around which a great variety of studies and tools for different programming languages have been developed. Nevertheless, mutation testing research of C++ is a pending issue. This paper proposes a set of class mutation operators related to this language and its particular object-oriented (OO) features. In addition, an implementation technique to apply mutation testing based on the traversal of the abstract syntax tree (AST) is presented. Finally, an experiment is conducted to study the operator behaviour with different C++ programs, suggesting their usefulness in the creation of complete test suites. The analysis includes a Web service (WS) library, one of the domains where this technique can prove useful, considering its challenging testing phase and that C++ is still a reference language for critical distributed systems WS.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ana R. Cavalli.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Cavalli, A.R., Higashino, T. & Núñez, M. Special issue on formal active and passive testing of distributed and networked systems. Ann. Telecommun. 70, 83–84 (2015). https://doi.org/10.1007/s12243-015-0459-6

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s12243-015-0459-6