Analysis updated 2026-05-18
Run automated checks over an Ada codebase before manual code review.
Catch reliability bugs like infinite loops, division by zero, or unreachable code early.
Enforce SPARK contract rules like Global and Depends for high assurance software.
Flag style issues such as long lines, trailing whitespace, and magic numbers.
Requires an Ada toolchain and the Libadalang engine to parse source code.
AdaLang Analyzer is a command-line tool that checks Ada source code for common problems and reports them with an explanation and advice on how to fix each one. It is maintained independently by a company called Spazio IT and is built on top of Libadalang, an open source engine from AdaCore that understands the structure and meaning of Ada code. The README is clear that this is not an official AdaCore product, even though it grew out of AdaCore's own open source tooling. The tool works by scanning a codebase and running dozens of individual checks against it. These checks fall into categories such as restricted language constructs, which flag things like goto statements, task aborts, or explicit pragmas, and safety checks, which catch risky patterns like unchecked type conversions or comparing floating point numbers with equality. Other checks look at data flow, catching unused parameters or variables, assignments whose value is never read, and parameters marked as both readable and writable but only ever used one way. There are checks for control flow problems like infinite loops with no way to exit, unreachable code, and conditions that are always true or false no matter the input. The analyzer also looks for arithmetic mistakes such as division by zero that can be detected without running the program, and for style issues like overly long lines or trailing whitespace. A separate group of checks is dedicated to SPARK, a stricter subset of Ada used for high assurance software, covering things like missing or mismatched Global and Depends contracts, which describe what state a piece of code is allowed to read or write. Each check is labeled with a software quality category such as reliability, maintainability, or security, and a severity level ranging from low up to blocker, giving a team a rough sense of which problems to fix first. Because the tool works directly from source without needing the code to compile or run, it is best suited to Ada developers, particularly those working on safety-critical or high-assurance systems, who want an automated first pass over their code before manual review.
A command-line static analysis tool that scans Ada code for dozens of reliability, safety, and style issues with fix guidance.
Mainly Ada. The stack also includes Ada, Libadalang.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.