eXtreme Modelling in Practice

05/28/2020
by   A. Jesse Jiryu Davis, et al.
0

Formal modelling is a powerful tool for developing complex systems. At MongoDB, we use TLA+ to model and verify multiple aspects of several systems. Ensuring conformance between a specification and its implementation can add value to any specification; it can avoid transcription errors, prevent bugs as a large organization rapidly develops the specified code, and even keep multiple implementations of the same specification in sync. In this paper, we explore model-based testing as a tool for ensuring specification-implementation conformance. We attempted two case studies: model-based trace-checking (MBTC) in the MongoDB Server's replication protocol and model-based test-case generation (MBTCG) in MongoDB Realm Sync's operational transformation algorithm. We found MBTC to be impractical for testing that the Server conformed to a highly abstract specification. MBTCG was highly successful for Realm Sync, however. We analyze why one technique succeeded and the other failed, and advise future implementers making similar attempts at model-based testing.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
03/27/2018

A Formal TLS Handshake Model in LNT

Testing of network services represents one of the biggest challenges in ...
research
04/15/2019

Model-Based Testing IoT Communication via Active Automata Learning

This paper presents a learning-based approach to detecting failures in r...
research
03/11/2019

State machine inference of QUIC

QUIC is a recent transport protocol that provides reliable, secure and q...
research
03/27/2023

Implementation-First Approach of Developing Formal Semantics of a Simulation Language in VDM-SL

Formal specification is a basis for rigorous software implementation. VD...
research
02/06/2023

Leveraging TLA+ Specifications to Improve the Reliability of the ZooKeeper Coordination Service

ZooKeeper is a coordination service, widely used as a backbone of variou...
research
08/30/2023

Provengo: A Tool Suite for Scenario Driven Model-Based Testing

We present Provengo, a comprehensive suite of tools designed to facilita...
research
02/07/2019

Complete Test Suites for Input/Output Systems

Model based testing is a well-established approach to verify I/O labeled...

Please sign up or login with your details

Forgot password? Click here to reset