A scalable method for testing real-time systems

  • Authors:
  • Abdeslam En-Nouaary

  • Affiliations:
  • Department of Electrical and Computer Engineering, Concordia University, Montreal, Canada H3G 2W1

  • Venue:
  • Software Quality Control
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Real-time systems (RTSs) are used in different domains such as telephone switching systems, air traffic control systems and patient monitoring systems. The behavior of RTSs is time-sensitive; that is, RTSs interact with their environment with input and output events under time constraints. The violation of such time constraints is the main cause of the misbehavior of RTSs, and may result in severe damage to human lives and the environment [Mandrioli, D., Morasca, S., & Morzenti, A. 1995. ACM Transactions on Computer Systems, 13(4), 365---398]. To prevent failures in RTSs, we must verify that the implementation of an RTS is correct before its deployment. Testing is one of the formal techniques that can be used to achieve this goal. It consists of three main phases: test generation, test execution, and test results analysis. This paper presents a test case generation method for RTSs modeled as Timed Input Output Automata (TIOA). The approach is made in two steps. First, the TIOA describing the system being tested is sampled to construct a subautomaton, which is easily testable (i.e., easy to generate test cases from it). Then, the resulting subautomaton is traversed to generate test cases. Our method is scalable in the sense that it generates a small number of test cases even when the specifications are significant. Moreover, the test cases derived by our method are executable (i.e., they can be run on any error-free implementation of the system being tested).