PhDOOS Logo

Supported by AITO.

These pages are currently maintained by Alex Potanin

 

Definition and evaluation of run-time object oriented software metrics

Aine Mitchell
( Irish )

N.U.I. Maynooth
Department of Computer Science, N.U.I. Maynooth, Co. Kildare, Ireland
tel: +353 1 7086099
fax:
ainem@cs.may.ie

Keywords:

metrics software engineering object behaviour testing

Abstract:

Software metrics measure different aspects of software complexity and therefore play an important role in analyzing and improving software quality. Given the importance of object oriented design techniques, a large number of object-oriented metrics for statically evaluating a design have been proposed. These are metrics that are calculated directly from the source code. A large body of research has gone into investigating how these metrics characterize different quality attributes of a design, for example its maintainability, reusability or dependability. However, static measures only capture certain underlying dimensions of software quality. Other dependencies regarding the behaviour of a program when executed can only be inferred from run-time information. Consequently, measures that assess the run-time characteristics of a program may be beneficial in the determination of its quality. My research is concerned with describing a set of metrics suitable for the run-time evaluation of a programs complexity. Furthermore, I hope to prove that these provide a measure of software quality. I have completed a preliminary study on formulating a number of run-time definitions for coupling and cohesion, which provide a measure of software external and internal complexity. These metrics were applied to assess the quality of a number of Java programs from the Java Grande Forum and SPEC JVM98 benchmark suites. A summary of this study is available from the Proceedings of the 7th ECOOP Workshop on Quantitative Approaches in Object-Oriented Software Engineering (QAOOSE 2003). A study, to be published as part of the Winter International Symposium on Information and Communication Technologies (WISICT 2004), investigated the use of run-time metrics with Java Graphical User Interface (GUI) programs. GUIs are a popular method of interacting with today's software. The special characteristics of a GUI program suggest that traditional methods of statically evaluating its complexity may not be suitable. However, a dynamic analysis of a GUI application may be problematic as GUIs cannot be executed in the batch style of a standard benchmark suite. The execution of a GUI is interactive where the user's commands and the computer's responses are interleaved during a single run. Therefore a new technique for collecting dynamic trace information from Java GUI programs had to be developed. The results produced thus far are of a preliminary nature, and do not provide a justifiable basis for generalisation. However, we believe that they do provide an indication that the evaluation of software metrics at run-time can provide an interesting quantitative analysis of a program.

The PhD work started: October 2002



HTML3
JAVA

 


Last modified on Mon Aug 15 14:59:24 2005