Prove the Absence of Critical Run-Time Errors
Check Ada83 or Ada95 code operations for run-time correctness. Identify statements that will never experience a run-time error, regardless of the run-time conditions. Analyze run-time vulnerabilities with the support of event traces, variable value ranges, and call trees related to the finding. Polyspace Client for Ada uses formal methods to detect errors that elude other means of testing. Analyze all code paths against all possible inputs without code execution.
Interactive Analysis on Desktop
Organize and configure your projects, and run static code analysis on subset of software projects to qualify code change before submitting code to source code repository. Use Polyspace Client for Ada to generate reports, and review and triage results. Find the root cause of complex bugs with debugger-like views to navigate step-by-step through each statement leading to a run-time error.
Improve Software Design and Code Understanding
Examine control and data flow through software and see range information associated with variables and operators.
Optimize Software for Performance
Remove defensive code by identifying safe and secure operations such as division by zero. Detect code branches that cannot be reached via any execution path and errors in logic and program structure and remove them for smaller memory footprint.
Analyze Global Variable Usage
Reduce time spent on debugging read/write operations on global variables, including variables shared by tasks or threads. Understand control and data flow leading to a data race with the concurrent access graph. Identify unused global variables for code optimization.
Static Application Security Testing
Prove that the application is free of critical security vulnerabilities by exhaustively stressing potential vulnerable Ada statements such as memory access, buffer overflows, or numerical overflows. Support of 20 CWE weakness rules. Leverage analysis results from Polyspace Client for Ada to complement or replace fuzz testing and focus instead on vulnerable identified operations.
Improve and Complement Robustness and Functional Testing
Use Polyspace Client for Ada to improve robustness testing by focusing tests on statements proven unsafe such as division by zero or overflows. Use results from Polyspace Client for Ada to create and maintain boundary and partition tests, leveraging control and data flow analysis, and computed range of function parameters and global variables.