Object Oriented Software Metrics
This page briefly describes my recent and current work in Object Oriented Software Metrics. In 1993 Brad Swim and I published a conceptual paper describing how software metrics could be inherited. Currently I am examing the software complexity of the Actor 3.0 class library.
Inheriting Software Metrics
Barnes, G.M. and Swim, B.R., Journal of Object Oriented Programming,
vol. 6, 7, 1993, pp 27-34.
Abstract
Software engineering must continue to automate both the measurement and
analysis of software quality and incorporate the reuse of existing
software components to satisfy the need for quality software. A
conceptual extension to the OOP paradigm is presented to support the
development of high quality production-grade software. A Quality Object
Oriented Language (QOOL) extends the class concept to software metrics
that assess how well software satisfies its design goals, how well it is
written, and how well it performs. In addition, we describe how QOOL
environments could reduce the burden of quality assurance and increase
software reuse. A prototype (ActQOOL) is presented to demonstrate the
feasibility and use of the QOOL concept.
Class and method complexity
The question of this work is, "Does functionality of a class subtree
affect its software complexity?" I have used ActQOOL to separately
collect software complexity metrics on 55 classes in the actor class
library and all the methods they contain. I am going to analyze the
class metrics and the method metrics separately. I plan to first factor
analyze the metrics and generate factor scores on the resultant
definable factors. I will then use the factor scores in a MANOVA
comparing 3 levels of Class Subtree (GUI, Container, and Language) by 4
levels of Tree Depth (upper third, middle third, lower third, and
leafs). I view this as a "naturalistic" study since Actor 3.0 has been
a commercial product for several years and is modelled on Smalltalk.
For more information on Actor see either:
- Whitewater Group, Inc., Actor User Manual Volumes 1 and 2 (version
3.0), Evanston, Illinois, Whitewater Group, Inc., 1990.
- Duff, C. Designing an Efficient Language, Byte, 11, pp. 211-224,
1986.
8/25/97