Wanja Zaeske, Pietro Albini, Florian Gilcher, Umut Durak
{"title":"Towards Modified Condition/Decision Coverage of Rust","authors":"Wanja Zaeske, Pietro Albini, Florian Gilcher, Umut Durak","doi":"arxiv-2409.08708","DOIUrl":null,"url":null,"abstract":"Testing is an essential tool to assure software, especially so in\nsafety-critical applications. To quantify how thoroughly a software item has\nbeen tested, a test coverage metric is required. Maybe the strictest such\nmetric known in the safety critical systems is Modified Condition/Decision\nCoverage (MC/DC), which DO-178C prescribes for the highest software assurance\nlevel in aviation. In the past, ambiguities in the interpretation of MC/DC have\nbeen resolved already, i. e. in CAST-10. However, some central features of the\nRust programming language necessitate further clarification. This work\ninvestigates aforementioned features, in particular pattern matching, providing\na consistent view on how to apply MC/DC to Rust. Hence, this paper informs the\nimplementation of Rust MC/DC tools, paving the road towards Rust in\nhigh-assurance applications.","PeriodicalId":501278,"journal":{"name":"arXiv - CS - Software Engineering","volume":null,"pages":null},"PeriodicalIF":0.0000,"publicationDate":"2024-09-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"arXiv - CS - Software Engineering","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/arxiv-2409.08708","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
Testing is an essential tool to assure software, especially so in
safety-critical applications. To quantify how thoroughly a software item has
been tested, a test coverage metric is required. Maybe the strictest such
metric known in the safety critical systems is Modified Condition/Decision
Coverage (MC/DC), which DO-178C prescribes for the highest software assurance
level in aviation. In the past, ambiguities in the interpretation of MC/DC have
been resolved already, i. e. in CAST-10. However, some central features of the
Rust programming language necessitate further clarification. This work
investigates aforementioned features, in particular pattern matching, providing
a consistent view on how to apply MC/DC to Rust. Hence, this paper informs the
implementation of Rust MC/DC tools, paving the road towards Rust in
high-assurance applications.