AdaCore: Build Software that Matters
GNAT SAS updated
Products > Static Analysis_

CodeSonar® for Ada

Automated Ada Inspection, Secure from the Start.

CodeSonar for Ada delivers advanced, whole-program analysis for Ada software. Designed for enterprise, embedded, safety-critical, and high-assurance development, it performs deep semantic checks to uncover bugs, vulnerabilities, and coding standard violations before they reach production.

Contact Us
Why CodeSonar for Ada?_

CodeSonar for Ada

Ada Support

Developers using the Ada programming language need an environment that supports all versions of the language, with abilities to verify code from coding standard adherence to security weaknesses.

Late Error Detection

Flaws can be buried deep in complex systems; these defects cost exponentially more to fix the later they are found, but testing and manual code review techniques are not sufficient to ensure minimal rate of errors.

Legacy Code Upkeep

Working with large, legacy codebases or integrating third-party software can introduce unknown risk. Making sure that this software can be maintained in production or integrated requires dedicated analysis.

Compliance

Whether it is about adhering to a safety certifications requirements such as DO-178C or ISO 26262, meeting customer demands or adhering to internal quality standards, compliance is a key but expensive step in completing software deliveries.

Features_

CodeSonar for Ada Enables

CodeSonar for Ada combines deep static analysis, coding standards checking, compiler warnings, and software metrics. The result takes your Ada to the next level.

Ada Software Development

GNAT SAS supports all versions of Ada, from Ada 83, 95, 2005, 2012 and 2022, together with a number of compiler-specific extensions. It can also be used alongside SPARK to analyze unproven code.

Advanced Error Detection

Using abstract interpretation and symbolic execution, GNAT SAS explores all feasible execution paths through a program to detect defects across procedure boundaries and modules. Analyses include control flow, data flow, taint, and memory modelling, uncovering subtle and serious errors before you test.

Coding Standard Checking

GNAT Static Analysis Suite features an automated coding standard verification tool that checks Ada code for compliance with organizational and project-specific coding standards. Start with our built-in rules, then write your own rules using our powerful rule-editing language.

Metrics

GNAT Static Analysis Suite provides qualifiable software metrics for Ada code. Built-in metrics cover common use cases, including line, complexity and coupling metrics. Using the same rule-editing technology as for checks, you can compute and report any metrics you need.

Speak to an Expert

Discover the advantages that CodeSonar for Ada can bring to your high-integrity systems.

Binary code
Capabilities_

CodeSonar for Ada Brings

Security

CWEs

CodeSonar for Ada detects many CWEs, including several that are in the top 25 list of most dangerous software errors.

Memory Safety

Ada detects a number of memory safety issues dynamically - so you're always kept safe with runtime checks. CodeSonar for Ada goes a step further and finds memory-related problems statically, increasing the availability of your security-critical code.

Taint Analysis

CodeSonar for Ada includes an integrated taint analysis engine to trace untrusted data through software systems. This capability is key to identifying injection vulnerabilities, unsafe data propagation, and other serious security flaws that cannot be easily detected by simpler tools.

Quality

Runtime Errors

CodeSonar for Ada can detect many potential runtime errors statically, including buffer overflow, numeric overflow, null pointer dereference, and division by zero.

Code Smells

CodeSonar for Ada detects a wide range of issues, including: uninitialized variables; unreachable, redundant or useless code; data races; and failures of user-defined checks.

Warnings

CodeSonar for Ada works with Ada projects built using 3rd-party toolchains. But GNAT Static Analysis Suite includes the GNAT compiler's warnings, so you can benefit from powerful and insightful warnings, without changing your toolchain.

Conformance

Built-in Coding Standards Checks

CodeSonar for Ada provides a rich library of predefined coding rules, including style rules and feature-restriction rules. Moreover, CodeSonar for Ada's coding-standards checks have been qualified for use in safety-critical development programs.

Custom Rules

CodeSonar for Ada comes with a query language (called LKQL) so you can write your own checks for any in-house rules you may have developed, allowing you to meet your organization’s specific needs, processes and procedures.

Software Metrics

CodeSonar for Ada checks conformance to a large set of metrics, including line, syntax, complexity, coupling and contract metrics. And with LKQL, you can add new metrics via custom rules.

Binary code
Related Products & Services_

Get More from CodeSonar for Ada

Code

Trusted by Leading Organizations

Organizations worldwide trust our solutions to meet the highest standards of safety, reliability, and performance.

Saab white cutout
"In our kind of development, it is very important to avoid bugs, or to find and repair them at an early stage, since those that remain in a deployed system are both expensive to fix and can cause a disastrous result. For this reason, a static analysis tool is a great help."
Saab Anders Råberg, Software Systems Engineer
Binary code

Ready to Strengthen Your Code?

Discover how CodeSonar for Ada can help you detect defects earlier, streamline compliance, and secure your critical systems.

FAQs_

Find answers to common questions about CodeSonar for Ada

CodeSonar for Ada can generate reports in HTML or plain text for easy viewing. You can output results in CSV for importing to spreadsheets or BI Tools. Findings can be output in the OSASIS SARIF format so you can use viewer like VSCode to explore them. We can even output in the CodeClimate format, so tools like GitLab can ingest your results. There is even a specialized security report that lists findings and CWE vulnerabilities!

Static analysis (CodeSonar for Ada) and dynamic analysis (GNAT DAS) solve different problems. Static analysis finds structural problems and coding errors without having to execute your code. Dynamic analysis finds runtime errors while running your code. Both are critical to building reliable software and are complementary tools.

CodeSonar for Ada can be invoked as part of every developer commit, and orchestrated in your CI/CD pipeline. In fact, automating CodeSonar for Ada is a great way to realize the benefits of static analysis and writing safer, more robust code.

It is never too early or too late to adopt static analysis as part of your development lifecycle. Teams can adopt static analysis from the day they start writing code, but if your project is already underway, you can still benefit from static analysis to find potential problems and avoid introducing new ones.

Our expert instructors provide an immersive learning experience, combining theoretical concepts with hands-on exercises and real-world examples. You'll gain practical experience and the confidence to effectively leverage CodeSonar for Ada, and more importantly, your team will be able to realize the full potential of static analysis quickly. Find out more here.

Explore More_

Latest News and Resources