Results 1 - 10
of
17
Principles And Methods Of Testing Finite State Machines - A Survey
- Proceedings of the IEEE
, 1996
"... With advanced computer technology, systems are getting larger to fulfill more complicated tasks, however, they are also becoming less reliable. Consequently, testing is an indispensable part of system design and implementation; yet it has proved to be a formidable task for complex systems. This moti ..."
Abstract
-
Cited by 203 (13 self)
- Add to MetaCart
With advanced computer technology, systems are getting larger to fulfill more complicated tasks, however, they are also becoming less reliable. Consequently, testing is an indispensable part of system design and implementation; yet it has proved to be a formidable task for complex systems. This motivates the study of testing finite state machines to ensure the correct functioning of systems and to discover aspects of their behavior. A finite state machine contains a finite number of states and produces outputs on state transitions after receiving inputs. Finite state machines are widely used to model systems in diverse areas, including sequential circuits, certain types of programs, and, more recently, communication protocols. In a testing problem we have a machine about which we lack some information; we would like to deduce this information by providing a sequence of inputs to the machine and observing the outputs produced. Because of its practical importance and theoretical intere...
Reduced Length Checking Sequences
- IEEE Transactions on Computers
, 2002
"... Here, the method proposed in [13] for constructing minimal-length checking sequences based on distinguishing sequences is improved. The improvement is based on optimizations of the state recognition sequences and their use in constructing test segments. It is shown that the proposed improvement furt ..."
Abstract
-
Cited by 33 (9 self)
- Add to MetaCart
Here, the method proposed in [13] for constructing minimal-length checking sequences based on distinguishing sequences is improved. The improvement is based on optimizations of the state recognition sequences and their use in constructing test segments. It is shown that the proposed improvement further reduces the length of checking sequences produced from minimal, completely specified, and deterministic finite state machines. Index Terms---Finite state machine, checking sequence, test minimization, distinguishing sequence. # 1
Black box checking
- In FORTE/PSTV
, 1999
"... Even if access to the internal structure of the tested system is possible, it is not always a good idea to use it when performing tests, as this may lead to a bias in the testing process. Furthermore, the ..."
Abstract
-
Cited by 33 (1 self)
- Add to MetaCart
Even if access to the internal structure of the tested system is possible, it is not always a good idea to use it when performing tests, as this may lead to a bias in the testing process. Furthermore, the
Distinguishing Tests for Nondeterministic and Probabilistic Machines
, 1995
"... We study the problem of uniquely identifying the initial state of a given finite-state machine from among a set of possible choices, based on the input-output behavior. Equivalently, given a set of machines, the problem is to design a test that distinguishes among them. We consider nondeterministic ..."
Abstract
-
Cited by 28 (4 self)
- Add to MetaCart
We study the problem of uniquely identifying the initial state of a given finite-state machine from among a set of possible choices, based on the input-output behavior. Equivalently, given a set of machines, the problem is to design a test that distinguishes among them. We consider nondeterministic machines as well as probabilistic machines. In both cases, we show that it is Pspace-complete to decide whether there is a preset distinguishing strategy (i.e. a sequence of inputs fixed in advance), and it is Exptime-complete to decide whether there is an adaptive distinguishing strategy (i.e. when the next input can be chosen based on the outputs observed so far). The probabilistic testing is closely related to probabilistic games, or Markov Decision Processes, with incomplete information. We also provide optimal bounds for deciding whether such games have strategies winning with probability 1. 1 Introduction Finite-state machines have been widely used to model systems in diverse areas o...
Testing deterministic implementations from nondeterministic FSM specifications
- In Testing of Communicating Systems, IFIP TC6 9th International Workshop on Testing of Communicating Systems
, 1996
"... In this paper, conformance testing of protocols specified as nondeterministic finite state machines is considered. Protocol implementations are assumed to be deterministic. In this testing scenario, the conformance relation becomes a preorder, so-called reduction relation between FSMs. The reduction ..."
Abstract
-
Cited by 16 (1 self)
- Add to MetaCart
In this paper, conformance testing of protocols specified as nondeterministic finite state machines is considered. Protocol implementations are assumed to be deterministic. In this testing scenario, the conformance relation becomes a preorder, so-called reduction relation between FSMs. The reduction relation requires that an implementation machine produces a (sub)set of output sequences that can be produced by its specification machine in response to every input sequence. A method for deriving tests with respect to the reduction relation with full fault coverage for deterministic implementations is proposed based on certain properties of the product of specification and implementation machines. Keywords Conformance testing, test derivation, fault detection, I/O nondeterministic FSMs, equivalence and reduction relations 1 INTRODUCTION Conformance testing of protocol implementations is often formalized as the FSM equivalence problem (Moore, 1956) and (Hennie, 1964). In particular, we ...
Automatic Detection and Diagnosis of Faults in Generated Code for Procedure Calls
- IEEE Trans. Softw. Eng
, 2001
"... In this paper we present a compiler testing technique that closes the gap between existing compiler implementations and correct compilers. Using formal specifications of procedure calling conventions, we have built a target-sensitive test suite generator that builds test cases for a specific aspect ..."
Abstract
-
Cited by 6 (0 self)
- Add to MetaCart
In this paper we present a compiler testing technique that closes the gap between existing compiler implementations and correct compilers. Using formal specifications of procedure calling conventions, we have built a target-sensitive test suite generator that builds test cases for a specific aspect of compiler code generators: the procedure calling sequence generator. By exercising compilers with these specification-derived target-specific test suites, our automated testing tool has exposed bugs in every compiler tested. These compilers include some that have been in heavy use for many years. Once a fault has been detected, the system can often suggest the nature of the problem. The testing system is an invaluable tool for detecting, isolating, and correcting faults in today's compilers.
Target-Sensitive Construction of Diagnostic Programs for Procedure Calling Sequence Generators
, 1996
"... Building compilers that generate correct code is difficult. In this paper we present a compiler testing technique that closes the gap between actual compiler implementations and correct compilers. Using formal specifications of procedure calling conventions, we have built a target-sensitive test sui ..."
Abstract
-
Cited by 5 (2 self)
- Add to MetaCart
Building compilers that generate correct code is difficult. In this paper we present a compiler testing technique that closes the gap between actual compiler implementations and correct compilers. Using formal specifications of procedure calling conventions, we have built a target-sensitive test suite generator that builds test cases for a specific aspect of compiler code generators: the procedure calling sequence generator. By exercising compilers with these target-specific test suites, our automated testing tool has exposed bugs in every compiler tested. These compilers include ones that have been in heavy use for many years. The detected bugs cause more than 14,000 test cases to fail.
Test Suite Minimization for Testing in Context
- in Context, Proc. IWTCS
"... In this paper, the problem of test suite minimization for testing in context is studied and some results are proposed. The test architecture considered is general enough to allow the context and the component to have external inputs and outputs. Using a given fault model for testing in context, cond ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
In this paper, the problem of test suite minimization for testing in context is studied and some results are proposed. The test architecture considered is general enough to allow the context and the component to have external inputs and outputs. Using a given fault model for testing in context, conditions are provided to detect all the redundant transitions that do not need to be tested. A complete test suite for the fault model is obtained and a method to select a minimal subset of this test suite with the same fault detection power is then proposed. Furthermore, the proposed method can be used to reduce a test suite produced by human experts while preserving its fault detection power. Keywords Test derivation, test in context, embedded testing, test of communicating FSMs. 1 INTRODUCTION As the complexity of communication protocols increases, there is a strong need for systematic methods for test derivation with guaranteed fault coverage based on formal description techniques. Form...
Test Generation Driven by User-defined Fault models
- Proceedings of the Twelfth International Workshop on Testing of Communicating Systems
, 1999
"... In this paper, we consider the problem of test derivation from a specification FSM, assuming that all possible implementation FSMs are submachines of some nondeterministic FSM. The latter represents a restricted class of faults defined by the user. The state number in an implementation may exceed ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
In this paper, we consider the problem of test derivation from a specification FSM, assuming that all possible implementation FSMs are submachines of some nondeterministic FSM. The latter represents a restricted class of faults defined by the user. The state number in an implementation may exceed that of the specification. We present a method for test generation that can deliver shorter tests than the other existing methods. The method is also more flexible than the traditional FSM-based methods, which embody a universal fault model defined only by a state number.
CSDL: Reusable Computing System Descriptions for Retargetable System Software
, 2000
"... In an era of rapid design of microprocessors for desktop systems, embedded systems, and handheld computing devices, the timely construction of systems software is essential. Systems software, such as assemblers, compilers, and debuggers, must be constructed before development of application software ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
In an era of rapid design of microprocessors for desktop systems, embedded systems, and handheld computing devices, the timely construction of systems software is essential. Systems software, such as assemblers, compilers, and debuggers, must be constructed before development of application software for a microprocessor can commence. However, the implementation of such machine-specific applications is difficult and time consuming. Therefore, to remain competitive, it is imperative that systems software designs focus on portability to reduce implementation time and ensure rapid delivery of complete systems to the market. This dissertation presents the Computing System Description Language (CSDL) framework that addresses these rapid development requirements. We illustrate the CSDL framework by developing an instruction-set description component (RTL), an optional procedure calling convention description component (CCL), and the mechanism we use to extend extant descriptions (CSDL). RTL and its accompanying microinstruction descriptions (RTL) further the state-of-the-art in specifying semantics of machine instructions. RTL adds a new type system and abstract syntax that facilitates more accurate specification and automatic detection of errors by RTL manipulators. RTL machine descriptions are also application independent---they completely separate the specification of semantics from the application's implementation. The CCL specification language is the first work to formally describe procedure calling conventions. We demonstrate two distinct uses for CCL descriptions: code generation and fault detection. Using CCL we have built compilers that are more robust, and found and diagnosed faults in production compilers. CCL, RTL, and RTL descriptions are bound together u...

