Wanja Zaeske, Pietro Albini, Florian Gilcher, Umut Durak
{"title":"实现修改后的锈蚀条件/决定覆盖范围","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":"{\"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}","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}
Towards Modified Condition/Decision Coverage of Rust
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.