James Power - Papers Published in 2008


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.

Platform Independent Timing of Java Virtual Machine Bytecode Instructions

Jonathan Lambert and James F. Power,
Electronic Notes in Theoretical Computer Science,
Vol. 220, No. 3, 12 December, 2008, pp. 97-113.
ISSN: 1571-0661.
(c) Copyright 2008, Elsevier B.V..

The accurate measurement of the execution time of Java bytecode is one factor that is important in order to estimate the total execution time of a Java application running on a Java Virtual Machine. In this paper we document the difficulties and solutions for the accurate timing of Java bytecode. We also identify trends across the execution times recorded for all imperative Java bytecodes. These trends would suggest that knowing the execution times of a small subset of the Java bytecode instructions would be sufficient to model the execution times of the remainder. We first review a statistical approach for achieving high precision timing results for Java bytecode using low precision timers and then present a more suitable technique using homogeneous bytecode sequences for recording such information. We finally compare instruction execution times acquired using this platform independent technique against execution times recorded using the read time stamp counter assembly instruction. In particular our results show the existence of a strong linear correlation between both techniques.

Analysing the effectiveness of rule-coverage as a reduction criterion for test suites of grammar-based software

Mark Hennessy and James F. Power,
Empirical Software Engineering,
Vol. 13, No. 4, August, 2008, pp. 343-368.
ISSN: 1382-3256.
(c) Copyright 2008, Springer.

The term grammar-based software describes software whose input can be specified by a context-free grammar. This grammar may occur explicitly in the software, in the form of an input specification to a parser generator, or implicitly, in the form of a hand-written parser. Grammar-based software includes not only programming language compilers, but also tools for program analysis, reverse engineering, software metrics and documentation generation. Hence, ensuring their completeness and correctness is a vital prerequisite for their use. In this paper we propose a strategy for the construction of test suites for grammar based software, and illustrate this strategy using the ISO C++ grammar. We use the concept of grammar-rule coverage as a pivot for the reduction of an implementation-based test suite, and demonstrate a significant decrease in the size of this suite. The effectiveness of this reduced test suite is compared to the original test suite with respect to code coverage and more importantly, fault detection. This work greatly expands upon previous work in this area and utilises large scale mutation testing to compare the effectiveness of grammar-rule coverage to that of statement coverage as a reduction criterion for test suites of grammar-based software. This work finds that when grammar rule coverage is used as the sole criterion for reducing test suites of grammar based software, the fault detection capability of that reduced test suite is greatly diminished when compared to other coverage criteria such as statement coverage.

A Metamodel for the Measurement of Object-Oriented Systems: An Analysis using Alloy

Jacqueline A. McQuillan and James F. Power,
IEEE International Conference on Software Testing Verification and Validation,
Lillehammer, Norway, April 9-11, 2008, pp. 288-297.
(c) Copyright 2008, IEEE.

This paper presents a MOF-compliant metamodel for calculating software metrics and demonstrates how it is used to generate a metrics tool that calculates coupling and cohesion metrics. We also describe a systematic approach to the analysis of MOF-compliant metamodels and illustrate the approach using the presented metamodel. In this approach, we express the metamodel using UML and OCL and harness existing automated tools in a framework that generates a Java implementation and an Alloy specification of the metamodel, and use this both to examine the metamodel constraints, and to generate instantiations of the metamodel. Moreover, we describe how the approach can be used to generate test data for any software based on a MOF-compliant metamodel. We extend our framework to support this approach and use it to generate a test suite for the metrics calculation tool that is based on our metamodel.

PPPJ 2006 special issue - foreword

Markus Aleksy, Ralf Gitzel, John Waldron and James F. Power,
Science of Computer Programming,
Vol. 70, No. 2-3, February, 2008, pp. 87-88.
ISSN: 0167-6423.
(c) Copyright 2008, Elsevier.

This issue of Science of Computer Programming is devoted to selected papers from the International Conference on Principles and Practices of Programming in Java (PPPJ) 2006, held in Mannheim, Germany.


Contact: James Power
Last revised: Wednesday Jan 14, 2009