LINGUIST List 15.1609
Thu May 20 2004
Diss: Computational Ling: Stein: 'Semantic...'
Editor for this issue: Tomoko Okuno <tomokolinguistlist.org>
Directory
steince99, Semantic Metrics for Source Code and Design
Message 1: Semantic Metrics for Source Code and Design
Date: Thu, 20 May 2004 17:44:03 -0400 (EDT)
From: steince99 <steince99yahoo.com>
Subject: Semantic Metrics for Source Code and Design
Institution: University of Alabama at Huntsville
Program: Computer Science
Dissertation Status: Completed
Degree Date: 2004
Author: Cara E Stein
Dissertation Title: Semantic Metrics for Source Code and Design
Linguistic Field: Computational Linguistics
Dissertation Director 1: Letha H Etzkorn
Dissertation Abstract:
Software practitioners need ways to assess the quality of their
software, and metrics can provide an automated way to do
that. Traditional software metrics count aspects of code related to
its syntax. In contrast, semantic metrics, introduced by Etzkorn and
Delugach, count things related to the meaning of software in its
domain. Because semantic metrics do not depend on the structure of the
code, they can be calculated from requirements and design documents
before the code has been written.
The focus of this dissertation is to apply semantic metrics to source
code and design specifications. This research includes performing
theoretical and empirical analysis on existing metrics, as well as
creating and analyzing new metrics. These new metrics answer the call
for metrics that are unambiguously defined, theoretically valid, and
at a finer grain than most existing object-oriented metrics. They are
available early in the software development lifecycle, and they match
or outperform some existing software metrics. The analysis performed
in this project should prove helpful to those in the software field
who are overwhelmed by the number of metrics in existence and seek
guidance as to which ones are valid and useful.
More importantly, in providing the ability to calculate metrics from
prose descriptions in design specifications, this work allows metrics
to be used for analysis before a system has been implemented. Thus, if
metrics pinpoint high complexity or low cohesion in a class, that
class can be assessed and possibly redesigned before implementation
begins, potentially saving considerable time and money on software
development projects.