Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.

James M. Boyle

dblp:64/6256 · DBLP profile ↗
← Back
8ranked-venue papers
3as first author
0since 2021 · last 1998
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 5 · 2 first-authorHuman-computer interaction and ubiquitous computing · 2Applied, interdisciplinary, general and emerging computing · 1 · 1 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
3 papers
Software maintenance and evolution · 90% Compilers and program optimization · 9% Programming languages and type systems · 1%
Human-computer interaction and pervasive computing
2 papers
User interface design and tools · 38% Usability and user experience research · 33% Interaction techniques and input · 29%

Topics — the 10 heaviest of 13, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Software maintenance and evolution › software reengineering › software modernization › software migration
legacy system migration
0.011998
Brewing Fresh JAVA from Legacy Lisp - An Experiment in Automated Reverse Engineering · ASE 1998
Software maintenance and evolution
reverse engineering
0.011998
Brewing Fresh JAVA from Legacy Lisp - An Experiment in Automated Reverse Engineering · ASE 1998
Software maintenance and evolution
software reengineering
0.011998
Brewing Fresh JAVA from Legacy Lisp - An Experiment in Automated Reverse Engineering · ASE 1998
Software maintenance and evolution
code reuse
0.011984
Program Reusability through Program Transformation · IEEE Trans. Software Eng. 1984
Compilers and program optimization
program transformation
0.011984
Program Reusability through Program Transformation · IEEE Trans. Software Eng. 1984
Compilers and program optimization › program transformation
source-to-source transformation
0.011984
Program Reusability through Program Transformation · IEEE Trans. Software Eng. 1984
Programming languages and type systems
language semantics
0.011970
An Algorithmic Semantics for ALGOL 60 Identifier Denotation · J. ACM 1970
Compilers and program optimization › compiler front end
semantic analysis
0.011970
An Algorithmic Semantics for ALGOL 60 Identifier Denotation · J. ACM 1970
Programming languages and type systems › language design
ALGOL 60
0.011970
An Algorithmic Semantics for ALGOL 60 Identifier Denotation · J. ACM 1970
Programming languages and type systems
language design
0.011970
An Algorithmic Semantics for ALGOL 60 Identifier Denotation · J. ACM 1970

Methods — techniques the papers use, named apart from their topics

program transformation · 0.0rewrite-rule transformation · 0.0controlled usability evaluation · 0.0
YearPublicationVenuePosition
1998 Brewing Fresh JAVA from Legacy Lisp - An Experiment in Automated Reverse Engineering
abstract
The issues of re-engineering and reverse engineering have become important ones in the computing industry. A legacy system that has evolved has usually been worked on by many different programmers and reflects the different programming styles as practised by those programmers. We address the re-engineering of a large system, the TAMPR automatic program transformation system, written in pure Lisp. TAMPR is an essential tool in ongoing research on potential applications of automated program transformation. The program implementing the TAMPR system is better designed and more consistently coded than most legacy systems. Why, then, is reverse engineering being attempted for this system, given that it suffers few of the problems of more traditionally implemented legacy systems? We are interested in studying the problem of abstraction in reverse engineering, and the TAMPR system, with its systematic design and coding, provides a good starting point for studying approaches to automated abstraction to an object-oriented form. In addition, while the system in its present form meets the current needs of its users, there are problems with providing widely available, efficient implementations of the system. The target language for this experiment in reverse engineering is Java. Java was chosen because of its widespread availability, claimed portability and its integration with components for the construction of graphical user interfaces. We use TAMPR transformations to reverse engineer the TAMPR program itself.
Terence J. Harmer, James M. Boyle
ASE2
1998 Transformations to Restructure and Re-engineer COBOL Programs
Terence J. Harmer, Patrick J. McParland, James M. Boyle
Autom. Softw. Eng.3
1997 The Automated Transformation of Abstract Specifications of Numerical Algorithms into Efficient Array Processor Implementations
Stephen Fitzpatrick, Terence J. Harmer, Alan Stewart, Maurice Clint, James M. Boyle
Sci. Comput. Program.5
1992 A Practical Functional Program for the CRAY X-MP
abstract
Abstract One can have all the advantages of functional programming – correctness, clarity, simplicity, and flexibility – without any sacrifice in performance, even for a scientifically significant computation on a supercomputer. Therefore, why use Fortran? We demonstrate parity – equality of speed and storage use – between a program generated automatically from a functional specification and a program written by hand in the procedural style. To our knowledge, this demonstration of parity is the first for a program that solves a scientifically significant problem – quasi-linear hyperbolic partial differential equations – on a scientifically interesting supercomputer – the CRAY X-MP. We use pure Lisp, including higher-order functions, to express the functional specification for the PDE solver. We designed this specification for maximal clarity and flexibility, rather than for efficiency. Nevertheless, we obtain a highly efficient program to solve the PDEs: automated program transformations put back the missing efficiency as they produce an executable Fortran program from the specification. The generated Fortran program vectorizes on the CRAY X-MP and runs about 4% faster than a handwritten Fortran program for the same problem. We describe the problem and the specification, and some of the problem-domain-specific and hardware-specific transformations that we use to obtain the high-efficiency program.
James M. Boyle, Terence J. Harmer
J. Funct. Program.1
1984 Program Reusability through Program Transformation
abstract
How can a program written in pure applicative LISP be reused in a Fortran environment? One answer is by automatically transforming it from LISP into Fortran. In this paper we discuss a practical application of this technique-one that yields an efficient Fortran program. We view this process as an example of abstract programming, in which the LISP program constitutes an abstract specification for the Fortran version. The idea of strategy-a strategy for getting from LISP to Fortran-is basic to designing and applying the transformations. One strategic insight is that the task is easier if the LISP program is converted to ``recursive'' Fortran, and then the recursive Fortran program is converted to nonrecursive standard Fortran. Another strategic insight is that much of the task can be accomplished by converting the program from one canonical form to another. Developing a strategy also involves making various implementation decisions. One advantage of program transformation methodology is that it exposes such decisions for examination and review. Another is that it enables optimizations to be detected and implemented easily. Once a strategy has been discovered, it can be implemented by means of rewrite-rule transformations using the TAMPR program transformation system. The transformational approach to program reuse based on this strategy has a measure of elegance. It is also practical-the resulting Fortran program is 25 percent faster than its compiled LISP counterpart, even without extensive optimization.
James M. Boyle, Monagur N. Muralidharan
IEEE Trans. Software Eng.1
1983 A methodology for objectively evaluating error messages
abstract
Message quality is a critical factor in influencing user acceptance of a program product. Good error messages can reduce the time and cost to create and maintain software, as well as help users learn about the product. We have developed a methodology for conducting controlled usability evaluations of error messages. The Message Test Program is easily modified to adapt to different product situations, and messages can be evaluated even before working code exists. The Message Test Program can be used to test error messages for a batch product, as well as messages for an interactive product. It can also be used for stand-alone messages, for products that offer on-line help, or messages that provide additional information in a reference manual. Message testing enables us to objectively evaluate error messages and provide specific feedback about the difficulties users encounter and how error messages can be improved.
Barbara S. Isa, James M. Boyle, Alan S. Neal, Roger M. Simons
CHI2
1982 Windowing vs scrolling on a visual display terminal
abstract
To study a different star the astronomer moves his telescope. To study a different bacterium the biologist moves his microscope slide. In the case of the astronomer, it is the viewing instrument that is being moved, while in the case of the biologist it is the viewed object that is being moved. These scientists have no choice, the nature of their equipment requires that they operate in a pre-defined way. The user of a video display terminal (VDT), however, can be given a choice. The VDT user views a representation of an area of computer memory. In most cases the portion of memory the user wishes to examine is much larger than that which will fit on the screen at one time. For this reason almost all VDT's are equipped with some sort of “scroll function” that allows the user to display data that is located beyond the limits of the screen.
Kevin F. Bury, James M. Boyle, R. James Evey, Alan S. Neal
CHI2
1970 An Algorithmic Semantics for ALGOL 60 Identifier Denotation
abstract
The problem of giving an algorithmic specification of the semantics of identifier denotation and block structure in Algol 60 is investigated.To facilitate the statement of the algorithms, a set of "canonical identifiers" and certain auxiliary languages are introduced.The algorithms for identifier denotation are then given.They transform an Algol 60 program into one in which no identifier is ever redeclared; hence they unambiguously associate each identifier with its proper declaration.Informal proofs of the correctness of the algorithms are provided.The implications of the algorithms for resolving some of the remaining trouble spots in Algol 60, and their applicability to other languages, are briefly discussed.
James M. Boyle, Albert A. Grau
J. ACM1