Passive testing of communicating systems with timeouts |
| |
Affiliation: | 1. Robotics Lab, School of Mathematical and Computer Sciences, Heriot-Watt University, Edinburgh, UK;2. Institute of Systems and Robotics (ISR), University of Coimbra, Portugal;3. Ingeniarius, Ltd., Mealhada, Portugal;1. Beijing Key Laboratory of Electrochemical Process and Technology for Materials, Beijing University of Chemical Technology, 100029 Beijing, China;2. Beijing Key Laboratory of Failure, Corrosion and Protection of Oil/Gas Facility Materials, Department of Materials Science and Engineering, China University of Petroleum (Beijing), 102249 Beijing, China;1. Health and Social Surveys Research Group, Department of Epidemiology and Public Health, University College London, London, United Kingdom;2. Department of Psychology, School of Life Sciences, Heriot-Watt University, Edinburgh, United Kingdom;3. Centre for Cognitive Ageing and Cognitive Epidemiology, University of Edinburgh, Edinburgh, United Kingdom;4. Nutritional Epidemiology Group, School of Food Science and Nutrition, University of Leeds, Leeds, United Kingdom;;5. Division of Biostatistics, University of Leeds, Leeds, United Kingdom;1. Department of Medicine and Center for Healthcare Studies, Northwestern University, Chicago, Illinois, USA;2. Department of Surgery, University of Wisconsin, Madison, Wisconsin, USA;3. Department of Medicine, University of Wisconsin, Madison, Wisconsin, USA;4. School of Nursing, University of Wisconsin, Madison, Wisconsin, USA;5. Denver Public Health, Denver Health and Hospital Authority, Denver, Colorado, USA;6. Department of Medical History and Bioethics, University of Wisconsin, Madison, Wisconsin, USA |
| |
Abstract: | ContextThe design of complex systems demands methodologies to analyze its correct behaviour. It is usual that a correct behaviour is determined by the compliance with temporal requirements. Currently, testing is the most used technology to validate the correctness of systems. Although several techniques that take into account time aspects have been proposed, most of them require the tester interacts with the system. However, if this is not possible, it is necessary to apply a passive testing approach where the tester monitors the behaviour of the system.ObjectiveThe aim of this paper is to propose a methodology to perform passive testing on communicating systems in which the behaviour of their components must fulfill temporal restrictions associated with both performance and delays/timeouts.MethodOur framework uses algorithms for checking traces collected from the systems against invariants which formally represent the most relevant properties that must be fulfilled by the system. In order to support the feasibility of the methodology, we have performed an empirical study on a complex system for automatic recognition of images based on a pipeline architecture. We have analyzed the correctness of the system’s behaviour with respect to a set of invariants. Finally, an experiment, based on mutations of the system, was conducted to study the level of detection of a set of invariants.ResultsDifferent errors were detected and fixed along the development of the system by means of the proposed methodology. The results of the experiments with the mutated versions of the system indicated that the designed set of invariants was more effective in finding errors associated to temporal aspects than those related to communication among components.ConclusionThe proposed technique has been shown to be very useful for analyzing complex timed systems, and find errors when the tester has no control over their behaviour. |
| |
Keywords: | Software testing Communicating systems Formal methods Timeouts Passive testing |
本文献已被 ScienceDirect 等数据库收录! |
|