Papers by Christopher Robinson-mallett
Using partial models to support the testing of distributed systems
This paper considers the problem of testing the communication between components of a timed distr... more This paper considers the problem of testing the communication between components of a timed distributed software system. We assume that communication is specified using timed interface automata. One of the practical issues with such systems is that components might be of ...

This paper presents a method for the application of model checking, i.e. verifying a finite state... more This paper presents a method for the application of model checking, i.e. verifying a finite state system against a given temporal specification, to the problem of generating test inputs. The generated test inputs allow state characterization, i.e. the identification and verification of internal states of the software under test by observation of the input/output behavior only. A test model is derived semiautomatically from a given state based specification and the testing goal is specified in terms of temporal logic. On the basis of these inputs, a model checking tool performs the testing input generation automatically. In consequence, the complexity of our approach is depending on the input model, the testing goal, and the applied model checking algorithm. The presented approach can be adapted with small changes to other model checking tools. It is a capable test generation method, whenever a state based behavioral specification of the software under test exists. Furthermore, it provides a descriptive view on state based testing, which may be beneficial in other contexts, e.g. education and program comprehension.

This paper considers the problem of integration testing the components of a timed distributed sof... more This paper considers the problem of integration testing the components of a timed distributed software system. We assume that communication between the components is specified using timed interface automata and use computational tree logic (CTL) to define communication-based coverage criteria that refer to send-and receive-statements and communication paths. The proposed method enables testers to focus during component integration on such parts of the specification, e.g. behaviour specifications or Markovian usage models, that are involved in the communication between components to be integrated. A more specific application area of this approach is the integration of test-models, e.g. a transmission gear can be tested based on separated models for the driver behaviour, the engine condition, and the mechanical and hydraulical transmission states. Given such a state-based specification of a distributed system and a concrete coverage goal, a model checker is used in order to determine the coverage or generate test sequences that achieve the goal. Given the generated test sequences we derive a partial test-model of the components from which the test sequences are derived. The partial model can be used to drive further testing and can also be used as the basis for producing additional partial models in incremental integration testing. While the process of deriving the test sequences could suffer from a combinatorial explosion, the effort required to generate the partial model is polynomial in the number of test sequences and their length. Thus, where it is not feasible to produce test sequences that achieve a given type of coverage it is still possible to produce a partial model on the basis of test sequences generated to achieve some other criterion. As a result, the process of generating a partial model has the potential to scale to large industrial software systems. While a particular model checker, UPPAAL, was used, it should be relatively straightforward to adapt the approach for use with other CTL based model checkers. A potential additional benefit of the approach is that it provides a visual description of the state-based testing of distributed systems, which may be beneficial in other contexts such as education and comprehension.
2010 Third International Conference on Software Testing, Verification, and Validation Workshops, 2010

ACM SIGSOFT Software Engineering Notes, 2005
This paper presents an approach for the automatic generation of shortest Distinguishing Sequences... more This paper presents an approach for the automatic generation of shortest Distinguishing Sequences (DS) with the Uppaal model checker. The presented method is applicable to a large number of extended finite state machines and it will find an optimal result, if a DS sequence exists for the considered automaton. Our approach is situated in an integrated testing environment that is used to generate checking sequences. The generation method is based on a DS model, which is derived from the same test model that is used for generating test cover sets. The problem of generating DS is reduced to the definition of a DS model and for this reason the complexity of our approach depends mainly on the used model checking algorithm. This means, that the presented method is automatically improved, when the model checking algorithm is improved. This includes the generation of optimal DS depending on the ability of the model checker to produce optimal results.
Achieving communication coverage in testing
ACM SIGSOFT Software Engineering Notes, 2006
ABSTRACT
ACM SIGSOFT Software Engineering Notes, 2005
This paper presents an approach for the planning of integration tests of automotive telematics sy... more This paper presents an approach for the planning of integration tests of automotive telematics systems. To our knowledge no method for the determination of an integration order exists that takes the project and the system environment into account, which in our opinion greatly influence the integration order. Furthermore, most known test generation methods and structural quality measures demand syntactically sound specifications to be applied efficiently. In our projects Message Sequence Charts are often created manually from the scratch with many different tools, and therefore they are of rather low syntactical quality. This paper addresses the determination of an integration strategy, which can easily be adapted to changes in the project or in the system environment, and which can be manually applied to any given specification.

Software Quality Journal, 2008
This paper considers the problem of integration testing the components of a timed distributed sof... more This paper considers the problem of integration testing the components of a timed distributed software system. We assume that communication between the components is specified using timed interface automata and use computational tree logic (CTL) to define communication-based coverage criteria that refer to send-and receive-statements and communication paths. The proposed method enables testers to focus during component integration on such parts of the specification, e.g. behaviour specifications or Markovian usage models, that are involved in the communication between components to be integrated. A more specific application area of this approach is the integration of test-models, e.g. a transmission gear can be tested based on separated models for the driver behaviour, the engine condition, and the mechanical and hydraulical transmission states. Given such a state-based specification of a distributed system and a concrete coverage goal, a model checker is used in order to determine the coverage or generate test sequences that achieve the goal. Given the generated test sequences we derive a partial test-model of the components from which the test sequences were derived. The partial model can be used to drive further testing and can also be used as the basis for producing additional partial models in incremental integration testing. While the process of deriving the test sequences
Extended state identification and verification using a model checker
Information and Software Technology, 2006
ABSTRACT
Benoit Baudry
doi.ieeecomputersociety.org
The increasing use of software and the growing system complexity, in size, heterogeneity, autonom... more The increasing use of software and the growing system complexity, in size, heterogeneity, autonomy, and physical distribution make focussed software system testing a challenging task. Recent years have seen an increasing industrial and academic interest in the use of models for designing and testing software. Success has been reported using a range of types of models using a variety of specification formats, notations and formal languages, such as UML, SDL, B and Z. The 4th Workshop on Advances in Model Based Testing, A- ...
Safety and Security for Networked Vehicles
Auto Tech Review, 2015
Uploads
Papers by Christopher Robinson-mallett