James Power - Papers Published in 2006


This material is presented to ensure timely dissemination of scholarly and technical work. Copyright and all rights therein are retained by authors or by other copyright holders. All persons copying this information are expected to adhere to the terms and constraints invoked by each author's copyright. In most cases, these works may not be reposted without the explicit permission of the copyright holder.

Ensuring behavioural equivalence in test-driven porting

Mark Hennessy and James F. Power,
16th Annual International Conference on Computer Science and Software Engineering: Dublin Symposium,
Dublin, Ireland, October 17, 2006.

In this paper we present a test-driven approach to porting code from one object-oriented language to another. We derive an order for the porting of the code, along with a testing strategy to verify the behaviour of the ported system at intra and inter-class level. We utilise the recently defined methodology for porting C++ applications, eXtreme porting, as a framework for porting. This defines a systematic routine based upon porting and unit-testing classes in turn. We augment this approach by using Object Relation Diagrams to define an order for porting that minimises class stubbing. Since our strategy is class-oriented and test-driven, we can ensure the structural equivalence of the ported system, along with the limited behavioural equivalence of each class. In order to extend this to integration-level equivalence, we exploit aspect-oriented programming to generate UML sequence diagrams, and we present a technique to compare such automatically-generated diagrams for equivalence. We demonstrate and evaluate our approach using a case study that involves porting an application from C++ to Java.

Some observations on the application of software metrics to UML models

Jacqueline A. McQuillan and James F. Power,
MoDELS/UML Workshop on Model Size Metrics,
Genova, Italy, October 3, 2006.

In this position paper we discuss some of the existing work on applying metrics to UML models, present some of our own work in this area, and specify some topics for future research that we regard as important.

Experiences of using the Dagstuhl Middle Metamodel for defining software metrics

Jacqueline A. McQuillan and James F. Power,
Principles and Practice of Programming in Java,
Mannheim, Germany, August 30 - September 1, 2006, pp. 194-198.
(c) Copyright 2006, ACM.

In this paper we report on our experiences of using the Dagstuhl Middle Metamodel as a basis for defining a set of software metrics. This approach involves expressing the metrics as Object Constraint Language queries over the metamodel. We provide details of a system for specifying Java-based software metrics through a tool that instantiates the metamodel from Java class files and a tool that automatically generates a program to calculate the expressed metrics. We present details of an exploratory data analysis of some cohesion metrics to illustrate the use of our approach.

Towards re-usable metric definitions at the meta-level

Jacqueline A. McQuillan and James F. Power,
PhD Workshop of the 20th European Conference on Object-Oriented Programming,
Nantes, France, July 3-7, 2006.

A large number of metrics for evaluating the quality of software have been proposed in the literature. However, there is no standard terminology or formalism for dening metrics and consequently many of the metrics proposed have some ambiguity in their denitions. This hampers the empirical validation of these metrics. To address this problem, we generalise an existing approach to dening metrics that is based on the Object Constraint Language and the Unied Modelling Language metamodel. We have developed a prototype tool called DMML (Dening Metrics at the Meta Level) that supports this approach and we present details of this tool. To illustrate the approach, we present formal denitions for the Chidamber and Kemerer metrics suite.

Exploiting design patterns to automate validation of class invariants

Brian A. Malloy and James F. Power,
Software Testing, Verification and Reliability,
Vol. 16, No. 2, June, 2006, pp. 71-95.
ISSN: 0960-0833.
(c) Copyright 2006, 2005 John Wiley & Sons, Ltd..

In this paper, techniques are presented that exploit two design patterns, the Visitor pattern and the Decorator pattern, to automatically validate invariants about the data attributes in a C++ class. To investigate the pragmatics involved in using the two patterns, a study of an existing, well-tested application, keystone, a parser and front-end for the C++ language, is presented. Results from the study indicate that these two patterns provide flexibility in terms of the frequency and level of granularity of validation of the class invariants, which are expressed in the Object Constraint Language, OCL. The quantitative results measure the impact of these approaches and the additional faults uncovered through validation of the case study.

A study of the influence of coverage on the relationship between static and dynamic coupling metrics

Aine Mitchell and James F. Power,
Science of Computer Programming,
Vol. 59, No. 1-2, January, 2006, pp. 4-25.
ISSN: 0167-6423.
(c) Copyright 2006, Elsevier B.V.

This paper examines the relationship between the static coupling between objects (CBO) metric and some of its dynamic counterparts. The dimensions of the relationship for Java programs are investigated, and the influence of instruction coverage on this relationship is measured. An empirical evaluation of 14 Java programs taken from the SPEC JVM98 and the JOlden benchmark suites is conducted using the static CBO metric, six dynamic metrics and instruction coverage data. The results presented here confirm preliminary studies indicating the independence of static and dynamic coupling metrics, but point to a strong influence of coverage on the relationship. Based on this, this paper suggests that dynamic coupling metrics might be better interpreted in the context of coverage measures, rather than as stand-alone software metrics.


Contact: James Power
Last revised: Tuesday Mar 04, 2008