Safety as a Metric

  • Authors:
  • Matthias Felleisen;Robert "Corky" Cartwright

  • Affiliations:
  • -;-

  • Venue:
  • CSEET '99 Proceedings of the 12th Conference on Software Engineering Education and Training
  • Year:
  • 1999

Quantified Score

Hi-index 0.00

Visualization

Abstract

Most software metrics measure syntactic qualities of a program: number of lines, number of procedure calls, etc. While measuring such properties may reveal problems in programs, these metrics fail to measure the essence of programs: (partial) correctness and robustness. We therefore propose to base metrics on semantic, instead of syntactic, criteria.To illustrate the idea of semantics-based metrics, we have built static debuggers, which are tools that detect potential run-time failures. More specifically, a static debugger analyzes programs written in safe programming languages and pinpoints those program operations that might trigger a run-time error. The following section brie y recalls what safety means for a programming language. The third section sketches how a static debugger works and the role it plays in measuring the robustness of a program. The last section discusses the use of static debuggers in the classroom, an NSF Educational Innovation Project.