VLDB 2026 Research / reviewers in the wild / expert
Curtis Clifton
dblp:49/1991
· DBLP profile ↗
6ranked-venue papers
5as first author
0since 2021 · last 2007
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 5 · 4 first-authorHuman-computer interaction and ubiquitous 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
2 papers |
Programming languages and type systems · 100% |
Topics — the 5 heaviest of 6, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Programming languages and type systems › type checking
modular typechecking |
0.1 | 2 | 2006 | MultiJava: Design rationale, compiler implementation, and applications · ACM Trans. Program. Lang. Syst. 2006 MultiJava: modular open classes and symmetric multiple dispatch for Java · OOPSLA 2000 |
Programming languages and type systems › method dispatch
multiple dispatch |
0.1 | 2 | 2006 | MultiJava: Design rationale, compiler implementation, and applications · ACM Trans. Program. Lang. Syst. 2006 MultiJava: modular open classes and symmetric multiple dispatch for Java · OOPSLA 2000 |
Programming languages and type systems › object-oriented programming
object-oriented language design |
0.1 | 1 | 2006 | MultiJava: Design rationale, compiler implementation, and applications · ACM Trans. Program. Lang. Syst. 2006 |
Programming languages and type systems
type systems |
0.1 | 1 | 2006 | MultiJava: Design rationale, compiler implementation, and applications · ACM Trans. Program. Lang. Syst. 2006 |
Programming languages and type systems › language design
language extension |
0.0 | 1 | 2006 | MultiJava: Design rationale, compiler implementation, and applications · ACM Trans. Program. Lang. Syst. 2006 |
Methods — techniques the papers use, named apart from their topics
static type checking · 0.1multiple dispatch · 0.1type system design · 0.0compilation scheme · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2007 | MAO: Ownership and Effects for More Effective Reasoning About Aspects
Curtis Clifton, Gary T. Leavens, James Noble 0001 |
ECOOP | 1 |
| 2007 | Subverting the fundamentals sequence: using version control to enhance course managementabstractInstructors of introductory courses face many challenges, not the least of which is dealing with a large volume of course materials and students with differing backgrounds. There are often too many administrative demands to have as much time for creative pedagogy as one would like. Team projects, and complex realistic projects in general, increase psychic demands, and conflicting schedules make creative collaboration with other instructors impossible. In order to address these issues, we need to find ways to increase effective handling of course development, to free up time for creative pedagogical efforts. This paper reports on an exploratory project in which two instructors and an undergraduate teaching assistant used the Subversion version control system to collaborate remotely on developing and running two CS1 classes. We focus on the ease and efficiency of course management using Subversion, providing a new perspective on how version control can enhance teaching. Curtis Clifton, Lisa C. Kaczmarczyk, Michael Mrozek |
SIGCSE | 1 |
| 2006 | MiniMAO: An imperative core language for studying aspect-oriented reasoning
Curtis Clifton, Gary T. Leavens |
Sci. Comput. Program. | 1 |
| 2006 | MultiJava: Design rationale, compiler implementation, and applicationsabstractMultiJava is a conservative extension of the Java programming language that adds symmetric multiple dispatch and open classes. Among other benefits, multiple dispatch provides a solution to the binary method problem. Open classes provide a solution to the extensibility problem of object-oriented programming languages, allowing the modular addition of both new types and new operations to an existing type hierarchy. This article illustrates and motivates the design of MultiJava and describes its modular static typechecking and modular compilation strategies. Although MultiJava extends Java, the key ideas of the language design are applicable to other object-oriented languages, such as C# and C++, and even, with some modifications, to functional languages such as ML.This article also discusses the variety of application domains in which MultiJava has been successfully used by others, including pervasive computing, graphical user interfaces, and compilers. MultiJava allows users to express desired programming idioms in a way that is declarative and supports static typechecking, in contrast to the tedious and type-unsafe workarounds required in Java. MultiJava also provides opportunities for new kinds of extensibility that are not easily available in Java. Curtis Clifton, Todd D. Millstein, Gary T. Leavens, Craig Chambers |
ACM Trans. Program. Lang. Syst. | 1 |
| 2005 | How the design of JML accommodates both runtime assertion checking and formal verification
Gary T. Leavens, Yoonsik Cheon, Curtis Clifton, Clyde Ruby, David R. Cok |
Sci. Comput. Program. | 3 |
| 2000 | MultiJava: modular open classes and symmetric multiple dispatch for JavaabstractWe present MultiJava, a backward-compatible extension to Java supporting open classes and symmetric multiple dispatch. Open classes allow one to add to the set of methods that an existing class supports without creating distinct subclasses or editing existing code. Unlike the "Visitor" design pattern, open classes do not require advance planning, and open classes preserve the ability to add new subclasses modularly and safely. Multiple dispatch offers several well-known advantages over the single dispatching of conventional object-oriented languages, including a simple solution to some kinds of "binary method" problems. MultiJava's multiple dispatch retains Java's existing class-based encapsulation properties. We adapt previous theoretical work to allow compilation units to be statically typechecked modularly and safely, ruling out any link-time or run-time type errors. We also present a n compilation scheme that operates modularly and incurs performance overhead only where open classes or multiple dispatching are actually used. Curtis Clifton, Gary T. Leavens, Craig Chambers, Todd D. Millstein |
OOPSLA | 1 |