A protocol test generation procedure
Computer Networks and ISDN Systems
Model checking
A fast string searching algorithm
Communications of the ACM
A survey of communication protocol testing
Journal of Systems and Software
A Formal Approach for Passive Testing of Protocol Data Portions
ICNP '02 Proceedings of the 10th IEEE International Conference on Network Protocols
Hit-or-Jump: An algorithm for embedded testing with applications to IN services
FORTE XII / PSTV XIX '99 Proceedings of the IFIP TC6 WG6.1 Joint International Conference on Formal Description Techniques for Distributed Systems and Communication Protocols (FORTE XII) and Protocol Specification, Testing and Verification (PSTV XIX)
From Active to Passive: Progress in Testing of Internet Routing Protocols
FORTE '01 Proceedings of the IFIP TC6/WG6.1 - 21st International Conference on Formal Techniques for Networked and Distributed Systems
Passive testing and applications to network management
ICNP '97 Proceedings of the 1997 International Conference on Network Protocols (ICNP '97)
Fault Identification in Networks by Passive Testing
SS '01 Proceedings of the 34th Annual Simulation Symposium (SS01)
Fast testing of critical properties through passive testing
TestCom'03 Proceedings of the 15th IFIP international conference on Testing of communicating systems
Software Testing Research: Achievements, Challenges, Dreams
FOSE '07 2007 Future of Software Engineering
Two Complementary Tools for the Formal Testing of Distributed Systems with Time Constraints
DS-RT '08 Proceedings of the 2008 12th IEEE/ACM International Symposium on Distributed Simulation and Real-Time Applications
Network protocol interoperability testing based on contextual signatures and passive testing
Proceedings of the 2009 ACM symposium on Applied Computing
A passive conformance testing approach for a MANET routing protocol
Proceedings of the 2009 ACM symposium on Applied Computing
From the IMS PoC service monitoring to its formal conformance testing
Mobility '09 Proceedings of the 6th International Conference on Mobile Technology, Application & Systems
Using testing techniques for vulnerability detection in C programs
ICTSS'11 Proceedings of the 23rd IFIP WG 6.1 international conference on Testing software and systems
An EFSM-based passive fault detection approach
TestCom'07/FATES'07 Proceedings of the 19th IFIP TC6/WG6.1 international conference, and 7th international conference on Testing of Software and Communicating Systems
Hi-index | 0.00 |
This paper presents a new methodology to perform passive testing based on invariants. This novel approach is supported by the following idea: a set of invariants represent the most relevant expected properties of the implementation under test. Intuitively, an invariant expresses the fact that each time the implementation under test performs a given sequence of actions, then it must exhibit a behavior reflected in the invariant. For example, an invariant such as i1/ o1,...,in-1/on-1,in/O must be interpreted as "each time the implementation performs the sequence i1/o1,...,in-1/on-1,in the next observed output belongs to the set O". We call these invariants simple invariants. In this work we introduce a new notion of invariants to deal with more subtle properties. For instance, we will consider invariants to express properties such as "if y happens then we must have that x had happened before". These invariants are called obligation invariants. We present algorithms to decide the correctness of the proposed invariants with respect to a given specification. Once we have that an invariant is correct with respect to a given specification, we check whether the execution traces observed from the implementation respect the invariant. In order to perform this phase we present two algorithms based, respectively, on left-to-right and right-to-left pattern matching algorithms.In addition to the theoretical framework we have developed a software tool, called TESTINV, that helps in the automation of our passive testing approach. In particular, the algorithms presented in this paper are fully implemented in the tool. Finally, in order to test the usefulness of our approach we have chosen a real-life case study: the Wireless Application Protocol (WAP). We present a test architecture as well as the most relevant results obtained from the application of our approach to the WAP.