The Build Inspector (BIT) from Validas
Overview
Overview
In safety-critical software development, you are required to qualify the software that contributes to your system. For you as a developer, that means: qualifying large C, C++ and Rust libraries containing thousands of functions to be compliant and audit-ready. This is a huge effort, and an even greater cost, all while most of these functions are never used.
The solution to this is simple: you find out which functions you are actually using, and then you only qualify them.
This is made possible with the Build Inspectior (BIT) developed by Validas.
BIT identifies exactly which functions your application uses, allowing a precise qualification scope and dramatically reducing unnecessary analysis, review effort, and cost.
By identifying exactly which library functions contribute to your system, BIT helps you reduce unnecessary qualification effort and build a clear, defensible safety argument based on actual usage. The resulting traceability and objective evidence also help you demonstrate compliance during assessments and audits, making your project audit-ready from the start.
Qualify what matters. Not everything.
BIT acts as a compiler wrapper that sits in front of your existing toolchain. During compilation, it performs static call graph analysis and generates .frt files alongside the usual object files, without modifying the build process or its outputs.
BIT helps you understand which libraries and library functions are used in your system, where they are used, and whether they require consideration in a safety context. It works like this:
BIT is placed in front of the actual compiler (for example, a Clang-based compiler).
For each compilation step, BIT invokes the compiler normally, ensuring that the build output remains unchanged.
During compilation, BIT generates .frt call graph files that capture function usage and dependencies.
The generated .frt files are then used to create a function scope, representing all functions referenced by the application. This scope can be compared against a baseline file (for example, already_qualified.txt) to identify functions that may still require qualification.
In short: BIT does not alter the build process or output. Instead, it produces call graph data (.frt files) that serves as the basis for generating and assessing the qualification scope.
BIT Scope uses advanced static analysis to reveal exactly which functions from third-party libraries are used in your software build.
For safety-critical applications, this can significantly reduce qualification effort by focusing only on the code that matters.
Supports:
BIT Scope provides the build transparency needed to streamline qualification, certification, and safety assessments.
Included at no additional cost with most Validas library qualification projects.
A library may be analyzed and qualified, but how do you ensure developers only use approved functions throughout the project?
BIT Guard is a safe-usage solution for third-party libraries that integrates directly into your CI/CD pipeline. It continuously monitors library usage and verifies that only qualified functions are being used.
BIT Guard regularly analyzes your software build and identifies:
Using a configurable whitelist of approved functions, BIT Guard automatically detects violations and provides immediate feedback to developers.
BIT Guard is trusted in dozens of customer projects and helps engineering teams maintain continuous compliance, from development through certification.
BIT Explorer is designed for engineering teams that need complete insight into their software builds and dependencies. It combines all capabilities of BIT Scope and BIT Guard, adding powerful exploration and analysis features for advanced users.
Included Features:
Everything in BIT Scope and BIT Guard, plus:
When qualification, certification, debugging, or impact analysis requires more than a simple usage report, BIT Explorer gives engineers direct access to the underlying dependency data.
Explore how functions interact, trace call chains through complex software architectures, and quickly answer questions that would otherwise take days of manual investigation.