The Ada Analyzer supports the software quality assessment and improvement in Ada programs. The Ada Analyzer locates code segments whose quality is in doubt, collects relevant information in a condensed form for review, and allows rapid traversal to the actual code so that changes can be made.

The Ada Analyzer can scan large amounts of Ada code, locating items of interest and summarizing information for developers, managers, quality-assurance personnel, and integration and testing personnel. The key benefits of these tools are:

The Ada Analyzer traverses any set of compiled Ada units, locates constructs that match specific selection criteria, and places relevant information about those constructs in a hypertable object. Hypertables contain both textual information about each construct located and traversal connections to the actual Ada source from which the information is derived. Users thus can scan the summary information for interesting items and then traverse to the actual software for more detailed analysis. Sorting options and additional filtering switches allow the user to organize information into the optimal analysis format.

The Ada Analyzer does not attempt to rate software with numbers or judge construct usage as good or bad. Instead, it collects overview information so that analysts can better understand the content of their software and make decisions about possible improvements. It provides insight rather than value judgment. The resulting tables can be included in documentation, printed and distributed to developers or managers for reference, or used interactively to visit software constructs for further inspection or repair.

Usage Scenarios

The Ada Analyzer can be used throughout the software development lifecycle by a variety of project personnel, each having different analysis objectives:

How to Use This Guide

This guide should help users take full advantage of the Ada Analyzer and its capabilities. The guide can be used in a variety of ways:

Chapter 1, "Getting Started," provides information for new users. It explains how to execute Ada Analyzer commands and describes the kinds of input parameters. It explains how to view the hypertable reports, how to traverse from the hypertable report to the actual software it references, and how to get explanatory information about hypertable entries. A discussion of how to access the online documentation, look up command descriptions, and find information associated with keywords is also included. Finally, this chapter describes how Ada Analyzer switches and file input can be configured for optimal analysis.

Chapter 2, "Quality-Improvement Objectives," describes some typical analysis objectives and how to use the Ada Analyzer to improve software quality in each major objective. Analysis scenarios are presented with detailed descriptions of possible subobjectives, the Ada Analyzer commands that support the specific analysis objective, the output that can be expected from each command, and how to interpret the output.

Chapter 3, "Command Descriptions," provides a detailed explanation of each Ada Analyzer command, including command-line descriptions, example output, and a full description of each table item and how to interpret this information. Interfaces are listed in alphabetical order for easy reference.

Chapter 4, "Customization," provides information on extending the Ada Analyzer to meet local analysis requirements. It provides step-by-step instructions on building new Locate_* commands from the base templates provided, the creation of new standards-conformance checks from templates and their integration into the Locate_Coding_Violations command, and the creation of new metrics and their integration into the Collect_Metrics command. The chapter also provides general pointers on programming with the Ada Semantic Interface Specification (ASIS) and the interfaces in the subsystem of the Ada Analyzer.

Chapter 5, "Command Cross-Reference," provides cross-reference tables and lists that make it easier to find interfaces that locate specific Ada constructs or support a particular analysis objective. It also lists all available standards-conformance checks and supported metrics.

Rational Software Corporation
Copyright © 1993-2000, Rational Software Corporation. All rights reserved.