|
Platform Independent Timing of Java Virtual Machine Bytecode InstructionsJonathan 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 AlloyJacqueline 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 - forewordMarkus 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.
|