EDBT 2026 Demo / reviewers in the wild / expert
Eric E. Allen
dblp:31/4982
· DBLP profile ↗
7ranked-venue papers
6as first author
0since 2021 · last 2011
0000-0002-1229-8794ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 4 · 4 first-authorHuman-computer interaction and ubiquitous computing · 2 · 2 first-authorApplied, interdisciplinary, general and emerging computing · 1
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 |
Programming languages and type systems · 98% Compilers and program optimization · 2% |
Topics — the 10 heaviest of 10, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Programming languages and type systems
type systems |
0.2 | 3 | 2011 | Type checking modular multiple dispatch with parametric polymorphism and multiple inheritance · OOPSLA 2011 Object-oriented units of measurement · OOPSLA 2004 A first-class approach to genericity · OOPSLA 2003 |
Programming languages and type systems › type systems › polymorphism
parametric polymorphism |
0.1 | 2 | 2011 | Type checking modular multiple dispatch with parametric polymorphism and multiple inheritance · OOPSLA 2011 Object-oriented units of measurement · OOPSLA 2004 |
Programming languages and type systems › type checking
modular typechecking |
0.1 | 1 | 2011 | Type checking modular multiple dispatch with parametric polymorphism and multiple inheritance · OOPSLA 2011 |
Programming languages and type systems › method dispatch
multiple dispatch |
0.1 | 1 | 2011 | Type checking modular multiple dispatch with parametric polymorphism and multiple inheritance · OOPSLA 2011 |
Programming languages and type systems › type systems
dimensional analysis |
0.0 | 1 | 2004 | Object-oriented units of measurement · OOPSLA 2004 |
Programming languages and type systems › object-oriented programming
metaclasses |
0.0 | 1 | 2004 | Object-oriented units of measurement · OOPSLA 2004 |
Programming languages and type systems › type systems › polymorphism
generics |
0.0 | 1 | 2003 | A first-class approach to genericity · OOPSLA 2003 |
Programming languages and type systems › inheritance
mixins |
0.0 | 1 | 2003 | A first-class approach to genericity · OOPSLA 2003 |
Programming languages and type systems › object-oriented programming
multiple inheritance |
0.0 | 1 | 2011 | Type checking modular multiple dispatch with parametric polymorphism and multiple inheritance · OOPSLA 2011 |
Compilers and program optimization
incremental compilation |
0.0 | 1 | 2003 | A first-class approach to genericity · OOPSLA 2003 |
Methods — techniques the papers use, named apart from their topics
type safety proof · 0.1symmetric multiple dispatch · 0.1nominal typing · 0.0metaclass programming · 0.0abelian group encoding · 0.0local type checking · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2011 | Type checking modular multiple dispatch with parametric polymorphism and multiple inheritanceabstractIn previous work, we presented rules for defining overloaded functions that ensure type safety under symmetric multiple dispatch in an object-oriented language with multiple inheritance, and we showed how to check these rules without requiring the entire type hierarchy to be known, thus supporting modularity and extensibility. In this work, we extend these rules to a language that supports parametric polymorphism on both classes and functions. Eric E. Allen, Justin Hilburn, Scott Kilpatrick, Victor Luchangco, Sukyoung Ryu, David Chase, Guy L. Steele Jr. |
OOPSLA | 1 |
| 2008 | A database of phylogenetically atypical genes in archaeal and bacterial genomes, identified using the DarkHorse algorithmabstractBACKGROUND: The process of horizontal gene transfer (HGT) is believed to be widespread in Bacteria and Archaea, but little comparative data is available addressing its occurrence in complete microbial genomes. Collection of high-quality, automated HGT prediction data based on phylogenetic evidence has previously been impractical for large numbers of genomes at once, due to prohibitive computational demands. DarkHorse, a recently described statistical method for discovering phylogenetically atypical genes on a genome-wide basis, provides a means to solve this problem through lineage probability index (LPI) ranking scores. LPI scores inversely reflect phylogenetic distance between a test amino acid sequence and its closest available database matches. Proteins with low LPI scores are good horizontal gene transfer candidates; those with high scores are not. DESCRIPTION: The DarkHorse algorithm has been applied to 955 microbial genome sequences, and the results organized into a web-searchable relational database, called the DarkHorse HGT Candidate Resource http://darkhorse.ucsd.edu. Users can select individual genomes or groups of genomes to screen by LPI score, search for protein functions by descriptive annotation or amino acid sequence similarity, or select proteins with unusual G+C composition in their underlying coding sequences. The search engine reports LPI scores for match partners as well as query sequences, providing the opportunity to explore whether potential HGT donor sequences are phylogenetically typical or atypical within their own genomes. This information can be used to predict whether or not sufficient information is available to build a well-supported phylogenetic tree using the potential donor sequence. CONCLUSION: The DarkHorse HGT Candidate database provides a powerful, flexible set of tools for identifying phylogenetically atypical proteins, allowing researchers to explore both individual HGT events in single genomes, and large-scale HGT patterns among protein families and genome groups. Although the DarkHorse algorithm cannot, by itself, provide definitive proof of horizontal gene transfer, it is a flexible, powerful tool that can be combined with slower, more rigorous methods in situations where these other methods could not otherwise be applied. Sheila Podell, Terry Gaasterland, Eric E. Allen |
BMC Bioinform. | 3 |
| 2006 | Safe instantiation in Generic Java
Eric E. Allen, Robert Cartwright |
Sci. Comput. Program. | 1 |
| 2004 | Object-oriented units of measurementabstractPrograms that manipulate physical quantities typically represent these quantities as raw numbers corresponding to the quantities' measurements in particular units (e.g., a length represented as a number of meters). This approach eliminates the possibility of catching errors resulting from adding or comparing quantities expressed in different units (as in the Mars Climate Orbiter error [11]), and does not support the safe comparison and addition of quantities of the same dimension. We show how to formulate dimensions and units as classes in a nominally typed object-oriented language through the use of statically typed metaclasses. Our formulation allows both parametric and inheritance poly-morphism with respect to both dimension and unit types. It also allows for integration of encapsulated measurement systems, dynamic conversion factors, declarations of scales (including nonlinear scales) with defined zeros, and nonconstant exponents on dimension types. We also show how to encapsulate most of the "magic machinery" that handles the algebraic nature of dimensions and units in a single meta-class that allows us to treat select static types as generators of a free abelian group. Eric E. Allen, David Chase, Victor Luchangco, Jan-Willem Maessen, Guy L. Steele Jr. |
OOPSLA | 1 |
| 2003 | A first-class approach to genericityabstractThis paper describes how to add first-class generic types---including mixins---to strongly-typed OO languages with nominal subtyping such as Java and C#. A generic type system is "first-class" if generic types can appear in any context where conventional types can appear. In this context, a mixin is simply a generic class that extends one of its type parameters, e.g., a class C that extends T. Although mixins of this form are widely used in Cpp (via templates), they are clumsy and error-prone because Cpp treats mixins as macros, forcing each mixin instantiation to be separately compiled and type-checked. The abstraction embodied in a mixin is never separately analyzed.Our formulation of mixins using first-class genericity accommodates sound local (class-by-class) type checking. A mixin can be fully type-checked given symbol tables for each of the classes that it directly references---the same context in which Java performs incremental class compilation. To our knowledge, no previous formal analysis of first-class genericity in languages with nominal type systems has been conducted, which is surprising because nominal subtyping has become predominant in mainstream object-oriented programming languages.What makes our treatment of first-class genericity particularly interesting and important is the fact that it can be added to the existing Java language without any change to the underlying Java Virtual Machine. Moreover, the extension is backward compatible with legacy Java source and class files. Although our discussion of a practical implementation strategy focuses on Java, the same implementation techniques could be applied to other object-oriented languages such as C# or Eiffel that support incremental compilation, dynamic class loading, and nominal subtyping. Eric E. Allen, Jonathan Bannet, Robert Cartwright |
OOPSLA | 1 |
| 2003 | Production programming in the classroomabstractStudents in programming courses generally write "toy" programs that are superficially tested, graded, and then discarded. This approach to teaching programming leaves students unprepared for production programming because the gap between writing toy programs and developing reliable software products is enormous.This paper describes how production programming can be effectively taught to undergraduate students in the classroom. The key to teaching such a course is using Extreme Programming methodology to develop a sustainable open source project with real customers, including the students themselves. Extreme Programming and open source project management are facilitated by a growing collection of free tools such as the JUnit testing framework, the Ant scripting tool, and the SourceForge website for managing open source projects. Eric E. Allen, Robert Cartwright, Charles Reis |
SIGCSE | 1 |
| 2002 | DrJava: a lightweight pedagogic environment for JavaabstractDrJava is a pedagogic programming environment for Java that enables students to focus on designing programs, rather than learning how to use the environment. The environment provides a simple interface based on a "read-eval-print loop" that enables a programmer to develop, test, and debug Java programs in an interactive, incremental fashion. This paper gives an overview of DrJava including its pedagogic rationale, functionality, and implementation. Eric E. Allen, Robert Cartwright, Brian Stoler |
SIGCSE | 1 |