James Power - Papers Published in 2001


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.

Relating Static and Dynamic Measurements for the Java Virtual Machine Instruction Set

T. 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 Programs

Jane 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 Systems

Charles 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 Cases

Brian 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-Commerce

B. 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 e­commerce. We concentrate in particular on logic­based 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 Suites

S. 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-Calculus

James 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 Library

Karsten 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 Suite

Charles 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 Format

James 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.


Contact: James Power
Last revised: 9 Jan 2006