• Publications
  • Influence
The Qualitas Corpus: A Curated Collection of Java Code for Empirical Studies
tl;dr
We describe the Qualitas Corpus, a large curated collection of open source Java systems. Expand
  • 320
  • 39
  • Open Access
Understanding the shape of Java software
tl;dr
We present the results of the first in-depth study of the structure of Java programs in the wild. Expand
  • 189
  • 22
  • Open Access
A systematic review of software maintainability prediction and metrics
tl;dr
This paper presents the results of a systematic review conducted to collect evidence on software maintainability prediction and metrics. Expand
  • 146
  • 9
An empirical study of cycles among classes in Java
tl;dr
In this paper we present the first significant empirical study of cycles among the classes of 78 open- and closed-source Java applications. Expand
  • 89
  • 7
How Do Java Programs Use Inheritance? An Empirical Study of Inheritance in Java Software
tl;dr
We present a suite of structured metrics for quantifying inheritance in Java programs. Expand
  • 74
  • 6
  • Open Access
All syntax errors are not equal
tl;dr
We examine how long students spend resolving the most common syntax errors, and discover that certain types of errors are not solved any more quickly by the higher ability students. Expand
  • 80
  • 5
  • Open Access
Modules, objects and distributed programming: Issues in RPC and remote object invocation
tl;dr
Distributed programming can be greatly simplified by language support for distributed communication, such as that provided by remote procedure call (RPC) or remote object invocation. Expand
  • 40
  • 5
How Fields are Used in Java: An Empirical Study
  • E. Tempero
  • Computer Science
  • Australian Software Engineering Conference
  • 14 April 2009
tl;dr
This paper presents the results of an empirical study of 100 open-source Java applications to determine to what degree non-private fields are declared and to what extend they are used. Expand
  • 28
  • 5
Emerald: A general‐purpose programming language
tl;dr
Emerald is a general‐purpose language with aspects of traditional object‐oriented languages, such as Smalltalk, and abstract data type languages, like Modula‐2 and Ada. Expand
  • 131
  • 4
Essential Use Cases and Responsibility in Object-Oriented Development
tl;dr
Essential use cases are abstract, lightweight, technology-free dialogues of user intention and system responsibility that effectively capture requirements for user interface design. Expand
  • 52
  • 4
  • Open Access