|
Relating Static and Dynamic Measurements for the Java Virtual Machine
Instruction SetT. Dowling, J. Power and J. Waldron, Symposium on Mathematical Methods and Computational
Techniques in Electronic Engineering, Athens, Greece,
December 29-31,
2001.
ISBN: 960-8052-47-5.
It has previously been noted that, for
conventional machine code, there is a strong relationship between
static and dynamic code measurements. One of the goals of this paper is to
examine whether this same relationship is true of Java programs at the
bytecode level. To this end, the hypothesis of a linear correlation between
static and dynamic frequencies was investigated using Pearson's correlation
coefficient. Programs from the Java Grande and SPEC benchmarks suites
were used in the analysis.
|
|
Measurement and Analysis of Runtime Profiling Data for Java
ProgramsJane Horgan, James Power and John Waldron, IEEE International Workshop on Source Code Analysis and
Manipulation, Florence, Italy,
November 10,
2001.
ISBN: 0-7695-1387-5.
(c) Copyright 2001, IEEE.
In this paper we examine a procedure for the analysis of data produced by
the dynamic profiling of Java programs. In particular, we describe
the issues involved in dynamic analysis, propose a metric for
discrimination between the resulting data sets, and examine its
application over different test suites and compilers.
|
|
Gender and Learning SystemsCharles Daly, Jane Horgan, James Power and John Waldron, Third International Conference on Women in Africa and the
African Diaspora, Antananarivo/Tamatave, Madagascar,
October 8-17,
2001.
A great deal of research has been done on gender issues in computer
science education but very little on the
relationship between automated learning systems and gender. The
benefits of such systems have not been exploited to their full extent
in developing countries where educational resources and qualified
instructors are at a premium. The system which we present here,
MIPSMARK, can be used for learning and assessment with minimum
intervention of the lecturer, and is freely available on the web.
|
|
An Interpretation of Purdom's Algorithm for Automatic
Generation of Test CasesBrian A. Malloy and James F. Power, 1st Annual International Conference on Computer and
Information Science, Orlando, Florida, USA,
October 3-5,
2001.
We present a structured reformulation of the seminal algorithm for
automatic generation of test cases for a context-free grammar.
Our reformulation simplifies the algorithm in several ways. First,
we provide a structured reformulation so that it is obvious where to
proceed at each step. Second, we partition the intricate third phase
into five functions, so that the discussion and comprehension of this
phase can be modularized. Our implementation of the algorithm provides
information about the grammatic, syntactic and semantic correctness of
the generated test cases for two important languages in use
today: C and C++.
The results of our study of C and C++ highlight a lacuna latent in the
research to date. In particular, if one or more of the automatically
generated test cases is syntactically or semantically incorrect, then
the confidence of structural ``coverage'' may be compromised for
the particular grammar-based tool under test. Our ongoing work focuses
on a solution to this problem.
|
|
Implementing Protocol Verification for E-CommerceB. Aziz, D. Gray, G. Hamilton, F. Oehl, J. Power and
D. Sinclair, International Conference on Advances in Infrastructure for
Electronic Business, Science, and Education on the Internet, L'Aquila, Italy,
Aug 6-12,
2001.
This paper presents a survey of the practical application
of protocol verification techniques to applications
in ecommerce. We concentrate in particular on logicbased
approaches, and review the current state of the art as well
as the prospects for realistic deployment of protocol verification
techniques in the near future.
|
|
A Dynamic Comparison of the SPEC98 and Java Grande Benchmark
SuitesS. Byrne, J. Power and J. Waldron, Workshop on Intermediate
Representation Engineering for the Java Virtual Machine, Orlando, Florida, USA,
July 22-25,
2001, pp. 95-98.
ISBN: 980-07-7547-1.
Two of the most commonly used benchmark suites for Java Programs are
the SPEC98 and Grande Forum benchmark suites. This research uses a
Platform Independent Dynamic Analysis Technique to study these suites
and quantify the significant similarities and differences in behaviour
between the suites. Dynamic frequencies adduced include method
execution divided into program, API and native cat- egories. The most
informative basis for measurement is shown to be percentages of
executed bytecodes charged to each method, and results are reported
for the API packages.
Published in the Proceedings of the 5th World Multi-Conference
on Systemics, Cybernetics and Informatics, vol. VII
|
|
A Formal Model of Forth Control Words in the Pi-CalculusJames Power and David Sinclair, 6th International Workshop on Formal Methods for Industrial Critical
Systems, Paris, France,
July 16-17,
2001.
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.
|
|
A Java Distributed Computation LibraryKarsten Fritsche, James Power and John Waldron, Second International Conference on Parallel and Distributed
Computing, Applications and Technologies, Taipei, Taiwan,
July 9-11,
2001.
ISBN: 957-9078-34-3.
This paper describes the design and development of a Java Distributed
Computation Library, which provides a simple development platform for
developers who wish to quickly implement a distributed computation in
the context of an SPMD architecture (Single Program, Multiple Data).
The need for this research arose out of the realisation that the
currently available distributed computation libraries and systems do
not adequately meet certain criteria, such as ease of development,
dynamic changes to system behaviour, and easy deployment of
distributed software. The proposed solution to this problem was to
produce a Java-based distributed computation library which enables
developers to use the Java language to quickly and easily implement a
distributed computation. The results of experiments conducted using
DCL are also presented, as a means of showing that DCL met its design
goals.
|
|
Platform Independent Dynamic Java Virtual Machine Analysis: the Java
Grande Forum Benchmark SuiteCharles Daly, Jane Horgan, James Power and John Waldron, Joint ACM Java Grande - ISCOPE 2001 Conference, Stanford University, USA,
June 2-4,
2001.
ISBN: 1-58113-359-6.
(c) Copyright 2001, ACM.
In this paper we present a platform independent analysis of the
dynamic profiles of Java programs when executing on the Java Virtual
Machine. The Java programs selected are taken from the Java Grande
Forum benchmark suite, and five different Java-to-bytecode compilers
are analysed. The results presented describe the dynamic instruction
usage frequencies, as well as the sizes of the local variable,
parameter and operand stacks during execution on the JVM.
These results, presenting a picture of the actual (rather than
presumed) behaviour of the JVM, have implications both for the
coverage aspects of the Java Grande benchmark suites, for the
performance of the Java-to-bytecode compilers, and for the design of
the JVM.
An earlier version of this paper appeared in
the Workshop on Java Optimization Strategies for Embedded Systems
University of Genova, Italy, 1 April, 2001.
|
|
A Specification of TCP/IP using Mixed Intuitionistic Linear Logic
(Extended Abstract) David Gray, Geoff Hamilton, James Power and David Sinclair, 2nd Joint Workshop on Formal Specification of
Computer-Based Systems, Washington DC, USA,
20 April,
2001.
ISBN: 1-85-769144-X.
This paper presents an outline specification of the IP and TCP
communication protocols in mixed intuitionistic linear logic and
describes how this logic can be used to prove some properties of both
protocols. We have previously presented a specification of IP
using commutative linear logic; in this paper we extend
this specification considerably to include TCP, which, in turn,
necessitates the use of non-commutative operators.
|
|
Exploiting Metrics to Facilitate Grammar Transformation into
LALR FormatJames Power and Brian Malloy, 16th ACM Symposium on Applied Computing, Las Vegas, USA,
March 11-14,
2001.
ISBN: 1-58113-287-5.
(c) Copyright 2001, ACM.
The recently-standardized ISO C++ programming language has a large and
complex grammar and, due to the nature of the language, any C++ parser
must exhibit tight coupling with subsequent phases of program
processing. The preparation of input suitable for yacc in this case
involves taking the original ISO C++ grammar, designed for
readability, and refining it towards a version acceptable to yacc's
parsing algorithm. Since the structure of the whole ISO C++ standard
closely follows the ISO C++ grammar, and since this grammar is a
widely-accepted standard, it is desirable that the yacc source for the
parser resemble it as closely as possible. The design process of the
parser, then, involves a continuous trade-off between preserving the
grammar's structure, and rearranging it to ease implementation. We
exploit software metrics, as an aid towards estimating the com-
plexity of this task, and providing a means of assessing the relative
merits of these trade-offs. We see this work as part of a larger
process of designing well-engineered, re-usable and reliable program
processors, which themselves will play an important role in the future
design of code-based software-engineering tools.
|