Skip to content

6 DR 20240414

Manuel Hatzl edited this page Apr 14, 2024 · 1 revision

keywords: db, coverage

Use relational database as storage

Storing all tracing related information in a relational database has several benefits. Firstly, the requirement origin must not be updated anymore to store trace data. Secondly, a database allows more complex queries to further analyze the collected data.

Collect coverage data for requirements

Besides creating traces to requirements to connect definition and implementation, Traces in code may set specific logs during testing, to know which requirements are not only implemented, but also tested.

In Rust, procedural macros are used to set traces instead of using [req:<requirement ID>] in comments, to generate the needed logs with minimal overhead for developers. Collecting trace data gets more complex than plain regex search, but using tools like tree-sitter help with trace detection, because for example commented code will be skipped.

Clone this wiki locally