Although the Ada Analyzer does generate some low-level metrics such as McCabe cyclomatic complexity, line counts, and other complexity measures, its focus is on identifying specific constructs in the software that are suspect from a quality, consistency, or efficiency perspective. It collects overview information so that analysts can better understand the content of their software and make informed decisions about possible improvements. In addition to textual entries, the report output contains hypertext connections to the suspect constructs to minimize the time required to locate and repair deficiencies. In the same way that a debugger helps the user locate errors with dynamic analysis, the Ada Analyzer helps locate potential errors with static analysis. In short, the Ada Analyzer is focused at a deeper level of detail to facilitate quality improvement not just quality measurement.
The Ada Analyzer allows coding standards checks to be enabled as errors or warnings or disabled entirely. Exceptions to any rule are allowed by marking the code with a structured comment. The Ada Analyzer also supports the development and integration of user-deÞned checks and metrics into the analysis process. This is performed via customization of check templates and the addition of the new check to the list of enabled checks. Templates and customization instructions are also available for the construction of more sophisticated analysis commands. This kind of customization is not provided by AdaMAT.
The Ada Analyzer also supports file-based customization where limits and lists of acceptable or unacceptable constructs can be specified.