Maintenance Metrics for Jovial (J73) Software

Abstract

The expense of maintaining software is greater than any other phase in the life cycle. To help reduce the costs, software which may not be maintainable should be identified before being released for use. Measures of software quality, or metrics, may be able to help do this. The goal of this thesis was to identify measures which could indicate the maintainability of JOVIAL (J73) software, and to implement selected ones. Maintainability cannot be measured directly, so a strong indicator, complexity, was measured instead. Five categories of complexity metrics were reviewed: size, control, data, information, and hybrid. Through an analysis of metrics from each category, the information metric was selected for implementation. Using Ada as the implementation language, an analyzer to compute the information metric was constructed. The design was primarily object-oriented but was influenced by compiler theory. The resulting analyzer can easily incorporate new metrics or new input/output requirements. Testing was performed using both simple code examples and actual F-16 flight software. The analyzer properly computes the information metric with few exceptions. A plan to compare the results of the analyzer with the results of the sponsor's present manual review was described.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Dec 01, 1988
Accession Number
ADA202713

Entities

People

  • Douglas R. Tindell

Organizations

  • Air Force Institute of Technology

Tags

Communities of Interest

  • C4I
  • Materials and Manufacturing Processes
  • Space
  • Weapons Technologies

DTIC Thesaurus Topics

  • Compilers
  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Intercontinental Ballistic Missiles
  • Language
  • Life Cycles
  • Machine Languages
  • Maintenance
  • Metrics
  • Operating Systems
  • Programming Languages
  • Software Development
  • Software Metrics
  • Test And Evaluation

Fields of Study

  • Computer science
  • Engineering

Readers

  • Computer Science.
  • Software Engineering.