eXtreme Modelling in Practice

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...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:arXiv.org 2020-05
Hauptverfasser: Jiryu Davis, A Jesse, Hirschhorn, Max, Schvimer, Judah
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page
container_issue
container_start_page
container_title arXiv.org
container_volume
creator Jiryu Davis, A Jesse
Hirschhorn, Max
Schvimer, Judah
description 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.
doi_str_mv 10.48550/arxiv.2006.00915
format Article
fullrecord <record><control><sourceid>proquest_arxiv</sourceid><recordid>TN_cdi_arxiv_primary_2006_00915</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>2408704696</sourcerecordid><originalsourceid>FETCH-LOGICAL-a526-ccf7de9e6614345fad7cb2898d2cac634bf81d783566696ad0e549e17cb64e6e3</originalsourceid><addsrcrecordid>eNotj81Kw0AURgdBsNQ-gAsx4Drxzt-dyVKKWqHSLrpwN0xnbiQlTeokFX17Y-vq2xw-zmHshkOhrNbw4NN3_VUIACwASq4v2ERIyXOrhLhis77fAYBAI7SWE3ZL70OiPWVvXaSmqduPrG6zdfJhqANds8vKNz3N_nfKNs9Pm_kiX65eXuePy9xrgXkIlYlUEiJXUunKRxO2wpY2iuADSrWtLI_GSo2IJfoIpFVJfKRQEZKcsrvz7cndHVK99-nH_TW4U8NI3J-JQ-o-j9QPbtcdUzs6OaHAGlDjsfwFBmNH1A</addsrcrecordid><sourcetype>Open Access Repository</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>2408704696</pqid></control><display><type>article</type><title>eXtreme Modelling in Practice</title><source>arXiv.org</source><source>Free E- Journals</source><creator>Jiryu Davis, A Jesse ; Hirschhorn, Max ; Schvimer, Judah</creator><creatorcontrib>Jiryu Davis, A Jesse ; Hirschhorn, Max ; Schvimer, Judah</creatorcontrib><description>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.</description><identifier>EISSN: 2331-8422</identifier><identifier>DOI: 10.48550/arxiv.2006.00915</identifier><language>eng</language><publisher>Ithaca: Cornell University Library, arXiv.org</publisher><subject>Algorithms ; Complex systems ; Computer Science - Logic in Computer Science ; Computer Science - Software Engineering ; Model testing ; Modelling ; Specifications</subject><ispartof>arXiv.org, 2020-05</ispartof><rights>2020. This work is published under http://arxiv.org/licenses/nonexclusive-distrib/1.0/ (the “License”). Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the terms of the License.</rights><rights>http://arxiv.org/licenses/nonexclusive-distrib/1.0</rights><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>228,230,780,784,885,27925</link.rule.ids><backlink>$$Uhttps://doi.org/10.14778/3397230.3397233$$DView published paper (Access to full text may be restricted)$$Hfree_for_read</backlink><backlink>$$Uhttps://doi.org/10.48550/arXiv.2006.00915$$DView paper in arXiv$$Hfree_for_read</backlink></links><search><creatorcontrib>Jiryu Davis, A Jesse</creatorcontrib><creatorcontrib>Hirschhorn, Max</creatorcontrib><creatorcontrib>Schvimer, Judah</creatorcontrib><title>eXtreme Modelling in Practice</title><title>arXiv.org</title><description>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.</description><subject>Algorithms</subject><subject>Complex systems</subject><subject>Computer Science - Logic in Computer Science</subject><subject>Computer Science - Software Engineering</subject><subject>Model testing</subject><subject>Modelling</subject><subject>Specifications</subject><issn>2331-8422</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2020</creationdate><recordtype>article</recordtype><sourceid>ABUWG</sourceid><sourceid>AFKRA</sourceid><sourceid>AZQEC</sourceid><sourceid>BENPR</sourceid><sourceid>CCPQU</sourceid><sourceid>DWQXO</sourceid><sourceid>GOX</sourceid><recordid>eNotj81Kw0AURgdBsNQ-gAsx4Drxzt-dyVKKWqHSLrpwN0xnbiQlTeokFX17Y-vq2xw-zmHshkOhrNbw4NN3_VUIACwASq4v2ERIyXOrhLhis77fAYBAI7SWE3ZL70OiPWVvXaSmqduPrG6zdfJhqANds8vKNz3N_nfKNs9Pm_kiX65eXuePy9xrgXkIlYlUEiJXUunKRxO2wpY2iuADSrWtLI_GSo2IJfoIpFVJfKRQEZKcsrvz7cndHVK99-nH_TW4U8NI3J-JQ-o-j9QPbtcdUzs6OaHAGlDjsfwFBmNH1A</recordid><startdate>20200528</startdate><enddate>20200528</enddate><creator>Jiryu Davis, A Jesse</creator><creator>Hirschhorn, Max</creator><creator>Schvimer, Judah</creator><general>Cornell University Library, arXiv.org</general><scope>8FE</scope><scope>8FG</scope><scope>ABJCF</scope><scope>ABUWG</scope><scope>AFKRA</scope><scope>AZQEC</scope><scope>BENPR</scope><scope>BGLVJ</scope><scope>CCPQU</scope><scope>DWQXO</scope><scope>HCIFZ</scope><scope>L6V</scope><scope>M7S</scope><scope>PIMPY</scope><scope>PQEST</scope><scope>PQQKQ</scope><scope>PQUKI</scope><scope>PRINS</scope><scope>PTHSS</scope><scope>AKY</scope><scope>GOX</scope></search><sort><creationdate>20200528</creationdate><title>eXtreme Modelling in Practice</title><author>Jiryu Davis, A Jesse ; Hirschhorn, Max ; Schvimer, Judah</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-a526-ccf7de9e6614345fad7cb2898d2cac634bf81d783566696ad0e549e17cb64e6e3</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2020</creationdate><topic>Algorithms</topic><topic>Complex systems</topic><topic>Computer Science - Logic in Computer Science</topic><topic>Computer Science - Software Engineering</topic><topic>Model testing</topic><topic>Modelling</topic><topic>Specifications</topic><toplevel>online_resources</toplevel><creatorcontrib>Jiryu Davis, A Jesse</creatorcontrib><creatorcontrib>Hirschhorn, Max</creatorcontrib><creatorcontrib>Schvimer, Judah</creatorcontrib><collection>ProQuest SciTech Collection</collection><collection>ProQuest Technology Collection</collection><collection>Materials Science &amp; Engineering Collection</collection><collection>ProQuest Central (Alumni Edition)</collection><collection>ProQuest Central UK/Ireland</collection><collection>ProQuest Central Essentials</collection><collection>ProQuest Central</collection><collection>Technology Collection</collection><collection>ProQuest One Community College</collection><collection>ProQuest Central Korea</collection><collection>SciTech Premium Collection</collection><collection>ProQuest Engineering Collection</collection><collection>Engineering Database</collection><collection>Publicly Available Content Database</collection><collection>ProQuest One Academic Eastern Edition (DO NOT USE)</collection><collection>ProQuest One Academic</collection><collection>ProQuest One Academic UKI Edition</collection><collection>ProQuest Central China</collection><collection>Engineering Collection</collection><collection>arXiv Computer Science</collection><collection>arXiv.org</collection><jtitle>arXiv.org</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Jiryu Davis, A Jesse</au><au>Hirschhorn, Max</au><au>Schvimer, Judah</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>eXtreme Modelling in Practice</atitle><jtitle>arXiv.org</jtitle><date>2020-05-28</date><risdate>2020</risdate><eissn>2331-8422</eissn><abstract>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.</abstract><cop>Ithaca</cop><pub>Cornell University Library, arXiv.org</pub><doi>10.48550/arxiv.2006.00915</doi><oa>free_for_read</oa></addata></record>
fulltext fulltext
identifier EISSN: 2331-8422
ispartof arXiv.org, 2020-05
issn 2331-8422
language eng
recordid cdi_arxiv_primary_2006_00915
source arXiv.org; Free E- Journals
subjects Algorithms
Complex systems
Computer Science - Logic in Computer Science
Computer Science - Software Engineering
Model testing
Modelling
Specifications
title eXtreme Modelling in Practice
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-01T02%3A33%3A25IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_arxiv&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=eXtreme%20Modelling%20in%20Practice&rft.jtitle=arXiv.org&rft.au=Jiryu%20Davis,%20A%20Jesse&rft.date=2020-05-28&rft.eissn=2331-8422&rft_id=info:doi/10.48550/arxiv.2006.00915&rft_dat=%3Cproquest_arxiv%3E2408704696%3C/proquest_arxiv%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=2408704696&rft_id=info:pmid/&rfr_iscdi=true