Passive testing with asynchronous communications and timestamps

Mercedes G. Merayo, Robert M. Hierons, M. Núñez
2017 Distributed computing  
We develop a formal passive testing framework for software systems where parties communicate asynchronously. Monitors, placed in between the entities, check that a certain property holds over the observations of the interaction between users and the System Under Test (SUT). Due to the asynchronous nature of communications, the trace observed by the monitor might differ from the one produced by the SUT: the monitor observes inputs before they are received by the SUT and outputs are observed
more » ... they are sent by the SUT. It is necessary to take this into account in passive testing; otherwise we might obtain false positives or false negatives. In order to better assess the real causality between actions, we consider the case where each action is labelled with a timestamp giving the time when it was observed at the monitor. We also assume that we know bounds on network latency and so the timestamps allow us to determine additional causalities between actions. Our monitors are implemented as automata that take into account communications being asynchronous. Our solution checks properties against traces in polynomial time and has low storage requirements. Therefore, our proposal is suitable for real-time passive testing.
doi:10.1007/s00446-017-0308-0 fatcat:yvlp4ynxgzgfhp62lo5a7xhvdi