PROGRAM FOR THURSDAY, OCTOBER 10TH
Days:
previous day
next day
all days
View: session overviewtalk overview
10:30-12:00 Session 3
10:30 | BTestBox - A Tool for Testing B Translators and Coverage of B Models ABSTRACT. The argument of correctness in refinement-based formal soft-
ware design often disregards source code analysis and code generation.
To mitigate the risk of errors in these phases, certifications issued by
regulation entities demand or recommend testing the generated software
using a code coverage criteria. We propose improvements for the BTestBox,
a tool for automatic generation of tests for software components
developed with the B method. BTestBox supports several code coverage
criteria and code generators for different languages. The tool uses a
constraint solver to produce tests, thus being able to identify dead code and
tautological branching conditions. It also generates reports with different
metrics and may be used as an extension to the Atelier B (an IDE used
to write software for critical safety systems). Our tool performs a double
task: first, it acts on the B model, by checking the code coverage. In a
second moment, the tool performs the translation of lower level B
specifications into programming language code, runs tests and compares their
results with the expected output of the test cases. The present version
of BTestBox uses parallelisation techniques that significantly improve its
performance. The results presented here are encouraging, showing performance
numbers that are one order of magnitude better than the ones obtained in the
tool’s previous version. |
11:00 | Predicting and Testing Latencies with Deep Learning: An IoT Case Study ABSTRACT. The Internet of things (IoT) is spreading into the everyday life of millions of
people. However, the quality of the underlying communication technologies is
still questionable. In this work, we are analysing the performance of an
implementation of MQTT, which is a major communication protocol of the IoT.
We perform model-based test-case generation to generate log data for training
a neural network. This neural network is applied to predict latencies
depending on different features, like the number of active clients. The
predictions are integrated into our initial functional model, and we exploit
the resulting timed model for statistical model checking. This allows us to
answer questions about the expected performance for various usage scenarios.
The benefit of our approach is that it enables a convenient extension of a
functional model with timing aspects using deep learning. A comparison to our
previous work with linear regression shows that deep learning needs less manual
effort in data preprocessing and provides significantly better predictions. |
11:30 | Learning Communicating State Machines ABSTRACT. We consider the problem of learning and conformance testing of components in a modular system with the unicast communication and slow environment. We assume that each component can be modelled as a Finite State Machine (FSM), the topology of the system is known, but some (or all) component FSMs are unknown and have to be learned by testing the whole system, as it cannot be disassembled. Thus the classical problem of active inference of an automaton in isolation is now further lifted to a system of communicating FSMs of an arbitrary topology. As opposed to the existing work on automata learning, the proposed approach neither need a Minimally Adequate Teacher, also called the Oracle, nor uses it a conformance tester to approximate equivalence queries. The approach further enhances a SAT solving method suggested by the authors and allows to adaptively test conformance of a system with unknown components assuming that internal communications are observable. The resulting tests are much smaller that the classical universal conformance tests derived from the composite machine of the system. |