Results 1  10
of
29
M.: Automatic generation of software behavioral models
 In: ICSE
, 2008
"... Dynamic analysis of software systems produces behavioral models that are useful for analysis, verification and testing. The main techniques for extracting models of functional behavior generate either models of constraints on data, usually in the form of Boolean expressions, or models of interacti ..."
Abstract

Cited by 99 (6 self)
 Add to MetaCart
(Show Context)
Dynamic analysis of software systems produces behavioral models that are useful for analysis, verification and testing. The main techniques for extracting models of functional behavior generate either models of constraints on data, usually in the form of Boolean expressions, or models of interactions between components, usually in the form of finite state machines. Both data and interaction models are useful for analyzing and verifying different aspects of software behavior, but none of them captures the complex interplay between data values and components interactions. Thus related analysis and testing techniques can miss important information. In this paper, we focus on the generation of models of relations between data values and component interactions, and we present GKtail, a technique to automatically generate extended finite state machines (EFSMs) from interaction traces. EFSMs model the interplay between data values and component interactions by annotating FSM edges with conditions on data values. We show that EFSMs include details that are not captured by either Boolean expressions or (classic) FSM alone, and allow for more accurate analysis and verification than separate models, even if considered jointly.
H.: Optimizing the length of checking sequences
 IEEE Transactions on Computers
, 2006
"... A checking sequence, generated from a finite state machine, is a test sequence that is guaranteed to lead to a failure if the system under test is faulty and has no more states than the specification. The problem of generating a checking sequence for a finite state machine M is simplified if M has a ..."
Abstract

Cited by 15 (9 self)
 Add to MetaCart
(Show Context)
A checking sequence, generated from a finite state machine, is a test sequence that is guaranteed to lead to a failure if the system under test is faulty and has no more states than the specification. The problem of generating a checking sequence for a finite state machine M is simplified if M has a distinguishing sequence: an input sequence ¯D with the property that the output sequence produced by M in response to ¯ D is different for the different states of M. Previous work has shown that, where a distinguishing sequence is known, an efficient checking sequence can be produced from the elements of a set A of sequences that verify the distinguishing sequence used and the elements of a set Υ of subsequences that test the individual transitions by following each transition t by the distinguishing sequence that verifies the final state of t. In this previous work A is a predefined set and Υ is defined in terms of A. The checking sequence is produced by connecting the elements of Υ and A, to form a single sequence, using a predefined acyclic set Ec of transitions. An optimization algorithm is used in order to produce the shortest such checking sequence that can be generated on the basis of the given A and Ec. However, this previous work did not state how the sets A and Ec should be chosen. This paper investigates the problem of finding appropriate A and Ec to be used in checking sequence generation. We show how a set A may be chosen so that it minimizes the sum of the lengths of the sequences to be combined. Further, we show that the optimization step, in the checking sequence generation algorithm, may be adapted so that it generates the optimal Ec. Experiments are used to evaluate the proposed method.
Learning and integration of parameterized components through testing
 In TestCom/FATES
, 2007
"... Abstract. We investigate the use of parameterized state machine models to drive integration testing, in the case where the models of components are not available beforehand. Therefore, observations from tests are used to learn partial models of components, from which further tests can be derived for ..."
Abstract

Cited by 13 (3 self)
 Add to MetaCart
(Show Context)
Abstract. We investigate the use of parameterized state machine models to drive integration testing, in the case where the models of components are not available beforehand. Therefore, observations from tests are used to learn partial models of components, from which further tests can be derived for integration. We have extended previous algorithms to the case of finite state models with predicates on input parameters and observable nondeterminism. We also propose a new strategy where integration tests can be derived from the data collected during the learning process. Our work typically addresses the problem of assembling telecommunication services from black box COTS. 1
An Expressive and Implementable Formal Framework for Testing RealTime Systems
 17th IFIP Intl. TestCom'05
, 2005
"... Abstract. We propose a new framework for blackbox conformance testing of realtime systems, based on the model of timed automata. The framework is expressive: it can fully handle partiallyobservable, nondeterministic timed automata. It also allows the user to define, through appropriate modeling, ..."
Abstract

Cited by 11 (1 self)
 Add to MetaCart
(Show Context)
Abstract. We propose a new framework for blackbox conformance testing of realtime systems, based on the model of timed automata. The framework is expressive: it can fully handle partiallyobservable, nondeterministic timed automata. It also allows the user to define, through appropriate modeling, assumptions on the environment of the system under test (SUT) as well as on the interface between the tester and the SUT. The framework is implementable: tests can be implemented as finitestate machines accessing a finiteprecision digital clock. We propose, for this framework, a set of testgeneration algorithms with respect to different coverage criteria. We have implemented these algorithms in a prototype tool called TTG. Experimental results obtained by applying TTG on the Bounded Retransmission Protocol show that only a few tests suffice to cover thousands of reachable symbolic states in the specification. 1
A succinct canonical register automaton model
 In Tevfik Bultan and PaoAnn Hsiung, editors, Automated Technology for Verification and Analysis, 9th International Symposium, ATVA 2011
"... ..."
JWalk: a Tool for Lazy, Systematic Testing of Java Classes by Design Introspection and User Interaction
, 2007
"... Popular software testing tools, such as JUnit, allow frequent retesting of modified code; yet the manually created test scripts are often seriously incomplete. A unittesting tool called JWalk has therefore been developed to address the need for systematic unit testing within the context of agile me ..."
Abstract

Cited by 9 (4 self)
 Add to MetaCart
(Show Context)
Popular software testing tools, such as JUnit, allow frequent retesting of modified code; yet the manually created test scripts are often seriously incomplete. A unittesting tool called JWalk has therefore been developed to address the need for systematic unit testing within the context of agile methods. The tool operates directly on the compiled code for Java classes and uses a new lazy method for inducing the changing design of a class on the fly. This is achieved partly through introspection, using Java’s reflection capability, and partly through interaction with the user, constructing and saving test oracles on the fly. Predictive rules reduce the number of oracle values that must be confirmed by the tester. Without human intervention, JWalk performs bounded exhaustive exploration of the class’s method protocols and may be directed to explore the space of algebraic constructions, or the intended design statespace of the tested class. With some human interaction, JWalk performs up to the equivalent of fully automated statebased testing, from a specification that was acquired incrementally.
Testing a deterministic implementation against a noncontrollable nondeterministic stream Xmachine
 UNDER CONSIDERATION FOR PUBLICATION IN FORMAL ASPECTS OF COMPUTING
"... ..."
Oracles for Distributed Testing
, 2010
"... The problem of deciding whether an observed behaviour is acceptable is the oracle problem. When testing from a finite state machine (FSM) it is easy to solve the oracle problem and so it has received relatively little attention for FSMs. However, if the system under test has physically distributed i ..."
Abstract

Cited by 6 (4 self)
 Add to MetaCart
The problem of deciding whether an observed behaviour is acceptable is the oracle problem. When testing from a finite state machine (FSM) it is easy to solve the oracle problem and so it has received relatively little attention for FSMs. However, if the system under test has physically distributed interfaces, called ports, then in distributed testing we observe a local trace at each port and we compare the set of local traces with the set of allowed behaviours (global traces). This paper investigates the oracle problem for deterministic and nondeterministic FSMs and for two alternative definitions of conformance for distributed testing. We show that the oracle problem can be solved in polynomial time for the weaker notion of conformance (⊑w) but is NPhard for the stronger notion of conformance (⊑s), even if the FSM is deterministic. However, when testing from a deterministic FSM with controllable input sequences the oracle problem can be solved in polynomial time and similar results hold for nondeterministic FSMs. Thus, in some cases the oracle problem can be efficiently solved when using ⊑s and where this is not the case we can use the decision procedure for ⊑w as a sound approximation.
Separating sequence overlap for automated test sequence generation
 Autom. Softw. Eng
, 2006
"... Finite state machines have been used to model a number of classes of system and there has thus been much interest in the automatic generation of test sequences from finite state machines. Many finite state machine based test techniques utilize sequences that check the final states of transitions, th ..."
Abstract

Cited by 4 (2 self)
 Add to MetaCart
Finite state machines have been used to model a number of classes of system and there has thus been much interest in the automatic generation of test sequences from finite state machines. Many finite state machine based test techniques utilize sequences that check the final states of transitions, the most general such sequence being a separating sequence: an input sequence that distinguishes between two states of an FSM. When using such techniques the test sequence length can be reduced by utilizing overlap. This paper investigates overlap for separating sequences and shows how this can be incorporated into test sequence generation.
Contract Specification of Pipelined Designs: Application to Testbench Automation
"... Abstract — In this paper we introduce a novel approach to formal specification of pipelined designs. The approach is based on contract specifications of pipe stages extended by a mechanism of temporal binding. Contract specifications describe the pipeline behavior in the form of preconditions and po ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
(Show Context)
Abstract — In this paper we introduce a novel approach to formal specification of pipelined designs. The approach is based on contract specifications of pipe stages extended by a mechanism of temporal binding. Contract specifications describe the pipeline behavior in the form of preconditions and postconditions of pipe stages, while temporal binding combines specifications of separated stages into a cooperative specification. Such specifications are suitable for automatic generation of test oracles which check design correctness. The approach was integrated into the CTESK test development tool from the UniTESK toolkit. The methodology was successfully applied to several modules of the industrial microprocessor. I.