VLDB 2026 Research / reviewers in the wild / expert
Dominic Duggan
dblp:16/6954
· DBLP profile ↗
27ranked-venue papers
21as first author
0since 2021 · last 2017
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 15 · 12 first-authorTheory of computation · 8 · 7 first-authorSecurity and privacy · 4 · 2 first-authorArtificial intelligence and machine learning · 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
6 papers |
Programming languages and type systems · 90% Program analysis · 10% Runtime systems and virtual machines · 0% | |
| Theoretical computer science
1 paper |
Logic in computer science · 100% |
Topics — the 20 heaviest of 21, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Programming languages and type systems › module systems
module interconnection language |
0.0 | 1 | 2002 | Type-Safe linking with recursive DLLs and shared libraries · ACM Trans. Program. Lang. Syst. 2002 |
Programming languages and type systems › module systems
recursive modules |
0.0 | 1 | 2002 | Type-Safe linking with recursive DLLs and shared libraries · ACM Trans. Program. Lang. Syst. 2002 |
Programming languages and type systems › language-based security
type-safe linking |
0.0 | 1 | 2002 | Type-Safe linking with recursive DLLs and shared libraries · ACM Trans. Program. Lang. Syst. 2002 |
Programming languages and type systems
language semantics |
0.0 | 1 | 2001 | Higher-Order Substitutions · Inf. Comput. 2001 |
Programming languages and type systems › module systems
mixin modules |
0.0 | 1 | 2001 | Modular Mixin-Based Inheritance for Application Frameworks · OOPSLA 2001 |
Programming languages and type systems
object-oriented programming |
0.0 | 1 | 2001 | Modular Mixin-Based Inheritance for Application Frameworks · OOPSLA 2001 |
Logic in computer science
lambda calculus |
0.0 | 1 | 2001 | Higher-Order Substitutions · Inf. Comput. 2001 |
Programming languages and type systems › method dispatch
dynamic dispatch |
0.0 | 1 | 1999 | Dynamic Typing for Distributed Programming in Polymorphic Languages · ACM Trans. Program. Lang. Syst. 1999 |
Programming languages and type systems › type systems
dynamic typing |
0.0 | 1 | 1999 | Dynamic Typing for Distributed Programming in Polymorphic Languages · ACM Trans. Program. Lang. Syst. 1999 |
Programming languages and type systems › type systems › polymorphism
generics |
0.0 | 1 | 1999 | Modular Type-Based Reverse Engineering of Parameterized Types in Java Code · OOPSLA 1999 |
Programming languages and type systems › type systems › polymorphism
parameterized types |
0.0 | 1 | 1999 | Modular Type-Based Reverse Engineering of Parameterized Types in Java Code · OOPSLA 1999 |
Programming languages and type systems › type systems › polymorphism
parametric polymorphism |
0.0 | 1 | 1999 | Dynamic Typing for Distributed Programming in Polymorphic Languages · ACM Trans. Program. Lang. Syst. 1999 |
Program analysis
type analysis |
0.0 | 1 | 1999 | Modular Type-Based Reverse Engineering of Parameterized Types in Java Code · OOPSLA 1999 |
Programming languages and type systems › type systems
static typing |
0.0 | 1 | 2001 | Modular Mixin-Based Inheritance for Application Frameworks · OOPSLA 2001 |
Programming languages and type systems
type systems |
0.0 | 1 | 2001 | Modular Mixin-Based Inheritance for Application Frameworks · OOPSLA 2001 |
Program analysis › static analysis
modular analysis |
0.0 | 1 | 1999 | Modular Type-Based Reverse Engineering of Parameterized Types in Java Code · OOPSLA 1999 |
Program analysis
static analysis |
0.0 | 1 | 1999 | Modular Type-Based Reverse Engineering of Parameterized Types in Java Code · OOPSLA 1999 |
Programming languages and type systems › control operators
first-class continuations |
0.0 | 1 | 1988 | Stores and Partial Continuations as First-Class Objects in a Language and its Environment · POPL 1988 |
Programming languages and type systems
first-class objects |
0.0 | 1 | 1988 | Stores and Partial Continuations as First-Class Objects in a Language and its Environment · POPL 1988 |
Programming languages and type systems › control operators
partial continuations |
0.0 | 1 | 1988 | Stores and Partial Continuations as First-Class Objects in a Language and its Environment · POPL 1988 |
Methods — techniques the papers use, named apart from their topics
operational semantics · 0.1subtyping · 0.0mixin modules · 0.0type system · 0.0type inference · 0.0data flow analysis · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2017 | Types for Location and Data Security in Cloud EnvironmentsabstractCloud service providers are often trusted to be genuine, the damage caused by being discovered to be attacking their own customers outweighs any benefits such attacks could reap. On the other hand, it is expected that some cloud service users may be actively malicious. In such an open system, each location may run code which has been developed independently of other locations (and which may be secret). In this paper, we present a typed language which ensures that the access restrictions put on data on a particular device will be observed by all other devices running typed code. Untyped, compromised devices can still interact with typed devices without being able to violate the policies, except in the case when a policy directly places trust in untyped locations. Importantly, our type system does not need a middleware layer or all users to register with a preexisting PKI, and it allows for devices to dynamically create new identities. The confidentiality property guaranteed by the language is defined for any kind of intruder: we consider labeled bisimilarity i.e. an attacker cannot distinguish two scenarios that differ by the change of a protected value. This shows our main result that, for a device that runs well typed code and only places trust in other well typed devices, programming errors cannot cause a data leakage. Ivan Gazeau, Tom Chothia, Dominic Duggan |
CSF | 3 |
| 2012 | Static Sessional Dataflow
Dominic Duggan, Jianhua Yao 0003 |
ECOOP | 1 |
| 2007 | Capability passing processes
Tom Chothia, Dominic Duggan |
Sci. Comput. Program. | 2 |
| 2005 | Type-based hot swapping of running modules
Dominic Duggan |
Acta Informatica | 1 |
| 2004 | Type-based cryptographic operationsabstractCryptographic types are a way to express cryptographic guarantees (of secrecy and integrity) in a type system for a network programming language. This allows some of these guarantees to be checked statically, before a network program executes. Where Dominic Duggan |
J. Comput. Secur. | 1 |
| 2004 | Abstractions for fault-tolerant global computing
Tom Chothia, Dominic Duggan |
Theor. Comput. Sci. | 2 |
| 2003 | Type-Based Distributed Access ControlabstractThe key-based decentralized label model (KDLM) is a type system that combines a weak form of information flow control, termed distributed access control in the article, with typed cryptographic operations. The motivation is to have a type system that ensures access control while giving the application the responsibility to secure network communications, and to do this safely. KDLM introduces the notion of declassification certificates to support the declassification of encrypted data. Tom Chothia, Dominic Duggan, Jan Vitek |
CSFW | 2 |
| 2002 | Cryptographic TypesabstractCryptographic types are a way to express cryptographic guarantees (of secrecy and integrity) in a type system for a network programming language. This allows some of these guarantees to be checked statically, before a network program executes. Where dynamic checks are required, these are represented at the source language level as dynamic type-checking, and are translated by the compiler to lower level cryptographic operations. Static checking avoids the unnecessary overhead of run-time cryptographic operations where communication is through a trusted medium (e.g. the OS kernel, or a trusted subnet), and also provides static guarantees of the reliability of a network application. Cryptographic types can also be used to build application-specific security protocols, where type-checking in the lower layers of the protocol stack verifies security properties for upper layers. Cryptographic types are described formally using a process calculus, the ec-calculus. Correctness is verified for a scheme for compiling type operations to cryptographic operations. Dominic Duggan |
CSFW | 1 |
| 2002 | Object type constructors
Dominic Duggan |
Acta Informatica | 1 |
| 2002 | Type-checking multi-parameter type classesabstractType classes are a novel combination of parametric polymorphism and constrained types. Although most implementations restrict type classes to be single-parameter, the generalization to multi-parameter type classes has gained increasing attention. A problem with multi-parameter type classes is the increased possibilities they introduce for ambiguity in inferred types, impacting their usefulness in many practical situations. A new type-checking strategy, domain-driven unifying resolution , is identified as an approach to solve these problems. Domain-driven unifying resolution is simple, efficient, and practically useful. However, even with severe restrictions on instance definitions, it is not possible to guarantee that type-checking with unifying resolution terminates. This is in contrast with the naive generalization of single parameter resolution strategies. Domain-driven unifying resolution is guaranteed to terminate if the type class constraints are satisfiable; however satisfiability is undecidable even with severe restrictions on instance definitions. These results shed some light on ambiguity problems with multi-parameter type classes. Dominic Duggan, John Ophel |
J. Funct. Program. | 1 |
| 2002 | Open and closed scopes for constrained genericity
Dominic Duggan, John Ophel |
Theor. Comput. Sci. | 1 |
| 2002 | Type-Safe linking with recursive DLLs and shared librariesabstractComponent-based programming is an increasingly prevalent theme in software development, motivating the need for expressive and safe module interconnection languages. Dynamic linking is an important requirement for module interconnection languages, as exemplified by dynamic link libraries (DLLs) and class loaders in operating systems and Java, respectively. A semantics is given for a type-safe module interconnection language that supports shared libraries and dynamic linking, as well as circular import dependencies (recursive modules). The core language requirements of the module interconnection language are compatible with programming languages such as Java and C#. Dominic Duggan |
ACM Trans. Program. Lang. Syst. | 1 |
| 2001 | Type-Based Hot Swapping of Running ModulesabstractWhile dynamic linking has become an integral part of the run-time execution of modem programming languages, there is increasing recognition of the need for support for hot swapping of running modules, particularly in long-lived server applications. The interesting challenge for such a facility is to allow the new module to change the types exported by the original module, while preserving type safety. This paper describes a type-based approach to hot swapping running modules. The approach is based on a reflective mechanism for dynamically adding type sharing constraints to the type system, realized by programmer-defined version adapters in the run-time. Dominic Duggan |
ICFP | 1 |
| 2001 | Modular Mixin-Based Inheritance for Application FrameworksabstractMixin modules are proposed as an extension of a class-based programming language. Mixin modules combine parallel extension of classes, including extension of the self types for those classes, with mixin-based inheritance. For soundness of sybtyping purposes, they require an explicit distinction between mixin-based objects and class-based objects. Applications of mixin modules are in statically type-safe monad-based aspect-oriented programming, and in modular mixin-based Internet programming. Dominic Duggan, Ching-Ching Techaubol |
OOPSLA | 1 |
| 2001 | Higher-Order Substitutions
Dominic Duggan |
Inf. Comput. | 1 |
| 2001 | Finite subtype inference with explicit polymorphism
Dominic Duggan |
Sci. Comput. Program. | 1 |
| 2000 | A Mixin-Based, Semantics-Based Approach to Reusing Domain-Specific Programming Languages
Dominic Duggan |
ECOOP | 1 |
| 1999 | Modular Type-Based Reverse Engineering of Parameterized Types in Java CodeabstractAn analysis is provided for Java programs that reverse engineers parameterized types into existing Java code. This analysis propagates precise type information about the contents of container objects. As an application, the analysis can be used to justify the safe removal of downcasts that are guaranteed to succeed. Another application is in automatically reverse engineering parameterized types into existing Java libraries, so that they can be used in Java dialects with parameterized types. Dominic Duggan |
OOPSLA | 1 |
| 1999 | Dynamic Typing for Distributed Programming in Polymorphic LanguagesabstractWhile static typing is widely accepted as being necessary for secure program execution, dynamic typing is also viewed as being essential in some applications, particularly for distributed programming environments. Dynamics have been proposed as a language construct for dynamic typing, based on experience with languages such as CLU, Cedar/Mesa, and Modula-3. However proposals for incorporating dynamic typing into languages with parametric polymorphism have serious shortcomings. A new approach is presented to extending polymorphic lnanguages with dynamic typing. At the heart of the approach is the use of dynamic type dispatch, where polymorphic functions may analyze the structure of their type arguments. This approach solves several open problems with the traditional approach to adding dynamic typing to polymorphic languages. An explicity typed language XML dyn is presented; this language uses refinement kinds to ensure that dynamic type dispatch does not fail at run-time. Safe dynamics are a new form of dynamics that use refinement kinds to statically check the use of run-time dynamic typing. Run-time errors are isolated to a separate construct for performing run-time type checks Dominic Duggan |
ACM Trans. Program. Lang. Syst. | 1 |
| 1998 | Finite Subtype Inference with Explicit Polymorphism
Dominic Duggan |
SAS | 1 |
| 1998 | Unification with Extended Patterns
Dominic Duggan |
Theor. Comput. Sci. | 1 |
| 1996 | Mixin ModulesabstractMixin modules are proposed as a new construct for module languages, allowing recursive definitions to span module boundaries. Mixin modules are proposed specifically for the Standard ML language. Several applications are described, including the resolution of cycles in module import dependency graphs, as well as functionality related to Haskell type classes and CLOS generic functions, though without any complications to the core language semantics. Mixin modules require no changes to the core ML type system, and only a very minor change to its run-time semantics. A type system and reduction semantics are provided, and the former is verified to be sound relative to the latter. Dominic Duggan, Constantinos Sourelis |
ICFP | 1 |
| 1996 | Kinded Type Inference for Parametric Overloading
Dominic Duggan, Gordon V. Cormack, John Ophel |
Acta Informatica | 1 |
| 1996 | Explaining Type Inference
Dominic Duggan, Frederick Bent |
Sci. Comput. Program. | 1 |
| 1994 | Logical Closures
Dominic Duggan |
LPAR | 1 |
| 1994 | First-Class Stores and Partial Continuations in a Programming Language and Environment
Gregory F. Johnson, Dominic Duggan |
Comput. Lang. | 2 |
| 1988 | Stores and Partial Continuations as First-Class Objects in a Language and its Environment
Gregory F. Johnson, Dominic Duggan |
POPL | 2 |