Refine
Is part of the Bibliography
- no (1)
Has Fulltext
- yes (1)
Year of publication
- 2022 (1)
Document Type
- Bachelor Thesis (1)
Institute
Language
- English (1)
This thesis evaluates the current capabilities of the Rust programming language, its available code analysis tools, and their suitability for safety-critical applications influenced by the DO-178C and DIN IEC 61508 safety standards. To give an overview of the capabilities of analysis tools, this thesis conducts experiments that run a selection of such tools in 40 popular open-source Rust projects on GitHub. It compares their execution times and evaluates the installation process, ease of use and reliability, and quality of output. It also presents a list of the most powerful and usable tools based on the evaluation results.
Before performing this analysis, the thesis covers the important paradigms of the Rust programming language. Afterwards, code analysis methods are presented that the examined tools are capable of performing. The main research chapters include a description of each analysis tool that will be examined in the subsequent chapter, where the analysis results are evaluated. Finally, the thesis concludes with the answers to our research questions and gives an outlook on the capabilities of Rust in safety-critical programming.
Most of the tools examined are easy to install and provide solid capabilities for thorough code analysis. On the other hand, some tools did not produce reasonable output or did not run at all. Based on our research, we consider Rust promising but not quite suitable for safety-critical applications influenced by DO-178C and DIN IEC 61508. The lack of MC/DC coverage, condition coverage, and statement coverage, as well as the possible use of unsafe Rust, are reasons why applications written in Rust cannot meet the expectations for code of the highest safety levels described in the relevant safety standards. However, Rust takes the pressure off developers to write code that is not capable of generating memory safety errors such as raw pointers or
race conditions.