|
A metrics suite for grammar-based softwareJames F. Power and Brian A. Malloy, Software Maintenance and Evolution: Research and Practice,
Vol. 16,
No. 6,
November/December,
2004, pp. 405-426.
ISSN: 1532-060X.
(c) Copyright 2004, John Wiley & Sons, Ltd..
One approach to measuring and managing the complexity of software, as
it evolves over time, is to exploit software metrics. Metrics have
been used to estimate the complexity of the maintenance effort, to
facilitate change impact analysis, and as an indicator for automatic
detection of a transformation that can improve the quality of a
system. However, there has been little effort directed at applying
software metrics to the maintenance of grammar-based software
applications, such as compilers, editors, program comprehension tools
and embedded systems. In this paper, we adapt the software metrics
that are commonly used to measure program complexity and apply them to
the measurement of the complexity of grammar-based software
applications. Since the behaviour of a grammar-based application is
typically choreographed by the grammar rules, the measure of
complexity that our metrics provide can guide maintainers in locating
problematic areas in grammar-based applications.
|
|
A Formal Model of Forth Control Words in the Pi-CalculusJames F. Power and David Sinclair, Journal of Universal Computer Science,
Vol. 10,
No. 9,
September,
2004, pp. 1272-1293.
ISSN: 0948-6968.
(c) Copyright 2004, J.UCS.
In this paper we develop a formal specification of aspects of the
Forth programming language. We describe the operation of the Forth
compiler as it translates Forth control words, dealing in particular
with the interpretation of immediate words during compilation. Our
goal here is to provide a basis for the study of safety properties of
embedded systems, many of which are constructed using Forth or
Forth-like languages. To this end we construct a model of the Forth
compiler in the pi-calculus, and have simulated its execution by
animating this model using the Pict programming language.
|
|
Identifying and evaluating a generic set of superinstructions for embedded Java programsDiarmuid O'Donoghue and James F. Power, International Conference on Embedded Systems and Applications, Las Vegas, Nevada, USA,
June 21-24,
2004, pp. 192-198.
ISBN: 1-932415-41-6.
(c) Copyright 2004, CSREA Press.
In this paper we present an approach to the optimisation of
interpreted Java programs using superinstructions. Unlike existing
techniques, we examine the feasibility of identifying a generic set of
superinstructions across a suite of programs, and implementing them
statically on a JVM. We formally present the sequence analysis
algorithm and we describe the resulting sets of superinstructions for
programs from the embedded CaffeineMark benchmark suite. We have
implemented the approach on the Jam VM, a lightweight JVM, and we
present results showing the level of speedup possible from this
|
|
Run-Time Cohesion Metrics: An Empirical InvestigationAine Mitchell and James F. Power, International Conference on Software Engineering Research and Practice, Las Vegas, Nevada, USA,
June 21-24,
2004, pp. 532-537.
ISBN: 1-932415-29-7.
(c) Copyright 2004, CSREA Press.
Cohesion is one of the fundamental measures of the 'goodness' of a
software design. The most accepted and widely studied object-oriented
cohesion metric is Chidamber and Kemerer's Lack of Cohesion in Methods
measure. However due to the nature of object-oriented programs,
static design metrics fail to quantify all the underlying dimensions
of cohesion, as program behaviour is a function of it operational
environment as well as the complexity of the source code. For these
reasons two run-time object-oriented cohesion metrics are described in
this paper, and applied to Java programs from the SPECjvm98 benchmark
suite. A statistical analysis is conducted to assess the fundamental
properties of the measures and investigate whether they are redundant
with respect to the static cohesion metric. Results to date indicate
that run-time cohesion metrics can provide an interesting and
informative qualitative analysis of a program and complement existing
static cohesion metrics.
|
|
An Empirical Investigation into the Dimensions of Run-Time
Coupling Metrics in Java programsAine Mitchell and James F. Power, The Third International Conference on the Principles and Practice of Programming in Java, Las Vegas, Nevada, USA,
June 16-18,
2004, pp. 9-14.
(c) Copyright 2004, ACM.
Software quality is an important external software attribute that is
difficult to measure objectively. Several studies have identified a
clear empirical relationship between static coupling metrics and
software quality. However due to the nature of object-oriented
program static metrics fail to quantify all the underlying dimensions
of coupling, as program behaviour is a function of it operational
environment as well as the complexity of the source code. In this
paper a set of run-time object-oriented coupling metrics are described
and empirically validated in terms of their usefulness in predicting
software quality. Preliminary results indicate that run-time coupling
metrics can provide an interesting and informative qualitative
analysis of a program and complement existing static coupling metrics.
|
|
An approach to quantifying the run-time behaviour of Java GUI applicationsAine Mitchell and James F. Power, Winter International Symposium on Information and Communication Technologies, Cancun, Mexico,
January 5-8,
2004.
(c) Copyright 2004, ACM.
This paper outlines a new technique for collecting dynamic trace
information from Java GUI programs. The problems of collecting
run-time information from such interactive applications in comparison
with traditional batch style execution benchmark programs is outlined.
The possible utility of such run-time information is discussed and
from this a number of simple run-time metrics are suggested. The
metrics results for a small CelsiusConverter Java GUI program
are illustrated to demonstrate the viability of such an analysis.
|