EDBT 2026 Demo / reviewers in the wild / expert
Dave Clarke 0001
dblp:29/7042-1 · also David G. Clarke
· DBLP profile ↗
51ranked-venue papers
15as first author
0since 2021 · last 2019
0000-0002-1970-6607ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 39 · 12 first-authorTheory of computation · 6 · 2 first-authorArtificial intelligence and machine learning · 1 · 1 first-authorSecurity and privacy · 1Databases, data management, data science and information retrieval · 1Applied, 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
8 papers |
Programming languages and type systems · 53% Program analysis · 28% Compilers and program optimization · 14% | |
| Network and information security
2 papers |
Systems and software security · 100% | |
| Computer architecture, parallel and distributed computing, and storage systems
1 paper |
Processor architecture and microarchitecture · 100% |
Topics — the 14 heaviest of 19, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Programming languages and type systems
type systems |
0.3 | 4 | 2015 | Disjointness domains for fine-grained aliasing · OOPSLA 2015 Generic ownership for generic Java · OOPSLA 2006 Ownership Types for Flexible Alias Protection · OOPSLA 1998 |
Systems and software security › language-based security
secure compilation |
0.2 | 1 | 2015 | Secure Compilation to Protected Module Architectures · ACM Trans. Program. Lang. Syst. 2015 |
Compilers and program optimization
secure compilation |
0.2 | 1 | 2015 | Secure Compilation to Protected Module Architectures · ACM Trans. Program. Lang. Syst. 2015 |
Program analysis › static analysis
abstract interpretation |
0.2 | 1 | 2013 | Monadic abstract interpreters · PLDI 2013 |
Programming languages and type systems › computational effects
monads |
0.2 | 1 | 2013 | Monadic abstract interpreters · PLDI 2013 |
Program analysis
static analysis |
0.2 | 1 | 2013 | Monadic abstract interpreters · PLDI 2013 |
Programming languages and type systems › type systems
ownership types |
0.1 | 3 | 2006 | Generic ownership for generic Java · OOPSLA 2006 Ownership, encapsulation and the disjointness of type and effect · OOPSLA 2002 Ownership Types for Flexible Alias Protection · OOPSLA 1998 |
Programming languages and type systems › type systems › polymorphism
parametric polymorphism |
0.1 | 1 | 2006 | Generic ownership for generic Java · OOPSLA 2006 |
Programming languages and type systems › object-oriented programming
encapsulation |
0.1 | 2 | 2006 | Ownership, encapsulation and the disjointness of type and effect · OOPSLA 2002 Generic ownership for generic Java · OOPSLA 2006 |
Runtime systems and virtual machines › runtime memory management
object allocation |
0.1 | 1 | 2005 | Controlling Object Allocation Using Creation Guards · FM 2005 |
Program analysis › static analysis › pointer analysis
context-sensitive pointer analysis |
0.0 | 1 | 2013 | Monadic abstract interpreters · PLDI 2013 |
Programming languages and type systems › computational effects
type and effect systems |
0.0 | 1 | 2002 | Ownership, encapsulation and the disjointness of type and effect · OOPSLA 2002 |
Programming languages and type systems › type systems
soundness |
0.0 | 1 | 1998 | Ownership Types for Flexible Alias Protection · OOPSLA 1998 |
Programming languages and type systems › object-oriented programming
object-oriented languages |
0.0 | 1 | 2006 | Generic ownership for generic Java · OOPSLA 2006 |
Methods — techniques the papers use, named apart from their topics
full abstraction · 0.7formal proof · 0.7monadic semantics · 0.2type system design · 0.1formalization · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2019 | Godot: All the Benefits of Implicit and Explicit FuturesabstractConcurrent programs often make use of futures, handles to the results of asynchronous operations. Futures provide means to communicate not yet computed results, and simplify the implementation of operations that synchronise on the result of such asynchronous operations. Futures can be characterised as implicit or explicit, depending on the typing discipline used to type them. Current future implementations suffer from "future proliferation", either at the type-level or at run-time. The former adds future type wrappers, which hinders subtype polymorphism and exposes the client to the internal asynchronous communication architecture. The latter increases latency, by traversing nested future structures at run-time. Many languages suffer both kinds. Previous work offer partial solutions to the future proliferation problems; in this paper we show how these solutions can be integrated in an elegant and coherent way, which is more expressive than either system in isolation. We describe our proposal formally, and state and prove its key properties, in two related calculi, based on the two possible families of future constructs (data-flow futures and control-flow futures). The former relies on static type information to avoid unwanted future creation, and the latter uses an algebraic data type with dynamic checks. We also discuss how to implement our new system efficiently. Kiko Fernandez-Reyes, Dave Clarke 0001, Ludovic Henrio, Einar Broch Johnsen, Tobias Wrigstad |
ECOOP | 2 |
| 2018 | Forward to a Promising Future
Kiko Fernandez-Reyes, Dave Clarke 0001, Elias Castegren, Huu-Phuc Vo |
COORDINATION | 2 |
| 2017 | Typed connector families and their semantics
José Proença, Dave Clarke 0001 |
Sci. Comput. Program. | 2 |
| 2016 | ParT: An Asynchronous Parallel Abstraction for Speculative Pipeline Computations
Kiko Fernandez-Reyes, Dave Clarke 0001, Daniel S. McCain |
COORDINATION | 2 |
| 2016 | A formal model of service-oriented dynamic object groups
Einar Broch Johnsen, Olaf Owe, Dave Clarke 0001, Joakim Bjørk |
Sci. Comput. Program. | 3 |
| 2016 | A procedure for splitting data-aware processes and its application to coordination
Sung-Shik Jongmans, Dave Clarke 0001, José Proença |
Sci. Comput. Program. | 2 |
| 2016 | Feature Nets: behavioural modelling of software product lines
Radu Muschevici, José Proença, Dave Clarke 0001 |
Softw. Syst. Model. | 3 |
| 2015 | A Secure Compiler for ML Modules
Adriaan Larmuseau, Marco Patrignani, Dave Clarke 0001 |
APLAS | 3 |
| 2015 | Disjointness domains for fine-grained aliasingabstractAliasing is crucial for supporting useful implementation patterns, but it makes reasoning about programs difficult. To deal with this problem, numerous type-based aliasing control mechanisms have been proposed, expressing properties such as uniqueness. Uniqueness, however, is black-and-white: either a reference is unique or it can be arbitrarily aliased; and global: excluding aliases throughout the entire system, making code brittle to changing requirements. Disjointness domains, a new approach to alias control, address this problem by enabling more graduations between uniqueness and arbitrary reference sharing. They allow expressing aliasing constraints local to a certain set of variables (either stack variables or fields) for instance that no aliasing occurs between variables within some set of variables but between such sets or the opposite, that aliasing occurs within that set but not between different sets. A hierarchy of disjointness domains controls the flow of references through a program, helping the programmer reason about disjointness and enforce local alias invariants. The resulting system supports fine-grained control of aliasing between both variables and objects, making aliasing explicit to programmers, compilers, and tooling. This paper presents a formal account of disjointness domains along with examples. Disjointness domains provide novel means of expressing may-alias kinds of constraints, which may prove useful in compiler optimisation and verification. Stephan Brandauer, Dave Clarke 0001, Tobias Wrigstad |
OOPSLA | 2 |
| 2015 | Formalizing a Secure Foreign Function Interface
Adriaan Larmuseau, Dave Clarke 0001 |
SEFM | 2 |
| 2015 | A High-Level Model for an Assembly Language Attacker by Means of Reflection
Adriaan Larmuseau, Marco Patrignani, Dave Clarke 0001 |
SETTA | 3 |
| 2015 | Fully abstract trace semantics for protected module architectures
Marco Patrignani, Dave Clarke 0001 |
Comput. Lang. Syst. Struct. | 2 |
| 2015 | Abstract delta modellingabstractDelta modelling is an approach to facilitate the automated product derivation for software product lines. It is based on a set of deltas specifying modifications that are incrementally applied to a core product. The applicability of deltas depends on application conditions over features. This paper presentsabstract delta modelling, which explores delta modelling from an abstract, algebraic perspective. Compared to the previous work, we take a more flexible approach to conflicts between modifications by introducing the notion of conflict-resolving deltas. Furthermore, we extend our approach to allow the nesting of delta models for increased modularity. We also present conditions on the structure of deltas to ensure unambiguous product generation. Dave Clarke 0001, Michiel Helvensteijn, Ina Schaefer |
Math. Struct. Comput. Sci. | 1 |
| 2015 | Secure Compilation to Protected Module ArchitecturesabstractA fully abstract compiler prevents security features of the source language from being bypassed by an attacker operating at the target language level. Unfortunately, developing fully abstract compilers is very complex, and it is even more so when the target language is an untyped assembly language. To provide a fully abstract compiler that targets untyped assembly, it has been suggested to extend the target language with a protected module architecture—an assembly-level isolation mechanism which can be found in next-generation processors. This article provides a fully abstract compilation scheme whose source language is an object-oriented, high-level language and whose target language is such an extended assembly language. The source language enjoys features such as dynamic memory allocation and exceptions. Secure compilation of first-order method references, cross-package inheritance, and inner classes is also presented. Moreover, this article contains the formal proof of full abstraction of the compilation scheme. Measurements of the overhead introduced by the compilation scheme indicate that it is negligible. Marco Patrignani, Pieter Agten, Raoul Strackx, Bart Jacobs 0002, Dave Clarke 0001, Frank Piessens |
ACM Trans. Program. Lang. Syst. | 5 |
| 2014 | \mathrmCPS^2 : A Contextual Privacy Framework for Social Software
Rula Sayaf, Dave Clarke 0001, Richard Harper 0001 |
SecureComm (2) | 2 |
| 2013 | Secure Compilation of Object-Oriented Components to Protected Module Architectures
Marco Patrignani, Dave Clarke 0001, Frank Piessens |
APLAS | 2 |
| 2013 | Interactive Interaction Constraints
José Proença, Dave Clarke 0001 |
COORDINATION | 2 |
| 2013 | Fixing idioms: a recursion primitive for applicative DSLsabstractIn a lazy functional language, the standard encoding of recursion in DSLs uses the host language's recursion, so that DSL algorithms automatically use the host language's least fixpoints, even though many domains require algorithms to produce different fixpoints. In particular, this is the case for DSLs implemented as Applicative functors (structures with a notion of pure computations and function application). We propose a recursion primitive afix that models a recursive binder in a finally tagless HOAS encoding, but with a novel rank-2 type that allows us to specify and exploit the effects-values separation that characterizes Applicative DSLs. Unlike related approaches for Monads and Arrows, we model effectful recursion, not value recursion. Dominique Devriese, Ilya Sergey, Dave Clarke 0001, Frank Piessens |
PEPM | 3 |
| 2013 | Monadic abstract interpretersabstractRecent developments in the systematic construction of abstract interpreters hinted at the possibility of a broad unification of concepts in static analysis. We deliver that unification by showing context-sensitivity, polyvariance, flow-sensitivity, reachability-pruning, heap-cloning and cardinality-bounding to be independent of any particular semantics. Monads become the unifying agent between these concepts and between semantics. For instance, by plugging the same "context-insensitivity monad" into a monadically-parameterized semantics for Java or for the lambda calculus, it yields the expected context-insensitive analysis. Ilya Sergey, Dominique Devriese, Matthew Might, Jan Midtgaard, David Darais, Dave Clarke 0001, Frank Piessens |
PLDI | 6 |
| 2013 | Formal methods and analysis in software product line engineering: 4th edition of FMSPLE workshop seriesabstractFMSPLE 2013 is the fourth edition of the FMSPLE workshop series aimed at connecting researchers and practitioners interested in raising the efficiency and the effectiveness of software product line engineering through the application of innovative analysis approaches and formal methods. Dave Clarke 0001, Ina Schaefer, Maurice H. ter Beek, Sven Apel, Joanne M. Atlee |
SPLC | 1 |
| 2013 | Preface to the special issue on Coordination Models and Languages (Coordination 2010)
Dave Clarke 0001, Gul A. Agha |
Sci. Comput. Program. | 1 |
| 2012 | Partial Connector Colouring
Dave Clarke 0001, José Proença |
COORDINATION | 1 |
| 2012 | Subobject Transactional Memory
Marko van Dooren, Dave Clarke 0001 |
COORDINATION | 2 |
| 2012 | Gradual Ownership Types
Ilya Sergey, Dave Clarke 0001 |
ESOP | 2 |
| 2012 | Conflict Detection in Delta-Oriented Programming
Michael Lienhardt, Dave Clarke 0001 |
ISoLA (1) | 2 |
| 2012 | Calculating Graph Algorithms for Dominance and Shortest Path
Ilya Sergey, Jan Midtgaard, Dave Clarke 0001 |
MPC | 3 |
| 2012 | A correspondence between type checking via reduction and type checking via evaluation
Ilya Sergey, Dave Clarke 0001 |
Inf. Process. Lett. | 2 |
| 2012 | A model of context-dependent component connectors
Marcello M. Bonsangue, Dave Clarke 0001, Alexandra Silva 0001 |
Sci. Comput. Program. | 2 |
| 2012 | Software diversity: state of the art and perspectives
Ina Schaefer, Rick Rabiser, Dave Clarke 0001, Lorenzo Bettini, David Benavides 0001, Goetz Botterweck, Animesh Pathak, Salvador Trujillo, Karina Villela |
Int. J. Softw. Tools Technol. Transf. | 3 |
| 2011 | Modular Modelling of Software Product Lines with Feature Nets
Radu Muschevici, José Proença, Dave Clarke 0001 |
SEFM | 3 |
| 2011 | Channel-based coordination via constraint satisfaction
Dave Clarke 0001, José Proença, Alexander Lazovik, Farhad Arbab |
Sci. Comput. Program. | 1 |
| 2011 | Büchi automata for modeling component connectorsabstractReo is an exogenous coordination language for component connectors extending data flow networks with synchronization and context-dependent behavior. The first proposed formalism to capture the operational semantics of Reo is called constraint automaton. In this paper, we propose another operational model of Reo based on Büchi automata in which port synchronization is modeled by records labeling the transitions, whereas context dependencies are stored in the states. It is shown that constraint automata can be recast into our proposed Büchi automata of records. Also, we provide a composition operator which models the joining of two connectors and show that it can be obtained by using two standard operators: alphabet extension and automata product. Our semantics has the advantage over previous models in that it is based on standard automata theory, so that existing theories and tools can be easily reused. Moreover, it is the first formal model addressing all of Reo’s features: synchronization, mutual exclusion, hiding, and context-dependency. Mohammad Izadi, Marcello M. Bonsangue, Dave Clarke 0001 |
Softw. Syst. Model. | 3 |
| 2010 | Abstract delta modelingabstractDelta modeling is an approach to facilitate automated product derivation for software product lines. It is based on a set of deltas specifying modifications that are incrementally applied to a core product. The applicability of deltas depends on feature-dependent conditions. This paper presents abstract delta modeling, which explores delta modeling from an abstract, algebraic perspective. Dave Clarke 0001, Michiel Helvensteijn, Ina Schaefer |
GPCE | 1 |
| 2009 | Automata for Context-Dependent Connectors
Marcello M. Bonsangue, Dave Clarke 0001, Alexandra Silva 0001 |
COORDINATION | 2 |
| 2008 | Minimal Ownership for Active Objects
Dave Clarke 0001, Tobias Wrigstad, Johan Östlund, Einar Broch Johnsen |
APLAS | 1 |
| 2008 | Modeling Component Connectors: Synchronisation and Context-DependencyabstractReo is an exogenous coordination language for component connectors extending data flow networks with synchronization and context-dependent behavior. We propose an operational model of Reo based on Buchi automata in which port synchronization is modeled by records labeling the transitions, whereas context dependencies are stored in the states. We provide a composition operator which models the joining of two connectors, and show that it can be obtained by using two standard operators: alphabet extension and automata product. Our semantics has the advantage over previous models in that it is based on standard automata theory, so that existing theories and tools can be easily reused. Moreover, it is the first formal model addressing all of Reo's features: synchronization, mutual exclusion, hiding, and context-ependency. Mohammad Izadi, Marcello M. Bonsangue, Dave Clarke 0001 |
SEFM | 3 |
| 2008 | A Basic Logic for Reasoning about Connector Reconfiguration
Dave Clarke 0001 |
Fundam. Informaticae | 1 |
| 2007 | A Complete Guide to the Future
Frank S. de Boer, Dave Clarke 0001, Einar Broch Johnsen |
ESOP | 2 |
| 2007 | Connector colouring I: Synchronisation and context dependency
Dave Clarke 0001, David Costa 0001, Farhad Arbab |
Sci. Comput. Program. | 1 |
| 2006 | Types for Hierarchic Shapes
Sophia Drossopoulou, Dave Clarke 0001, James Noble 0001 |
ESOP | 2 |
| 2006 | Generic ownership for generic JavaabstractOwnership types enforce encapsulation in object-oriented programs by ensuring that objects cannot be leaked beyond object(s) that own them. Existing ownership programming languages either do not support parametric polymorphism (type genericity) or attempt to add it on top of ownership restrictions. Generic Ownership provides per-object ownership on top of a sound generic imperative language. The resulting system not only provides ownership guarantees comparable to established systems, but also requires few additional language mechanisms due to full reuse of parametric polymorphism. We formalise the core of Generic Ownership, highlighting that only restriction of this calls and owner subtype preservation are required to achieve deep ownership. Finally we describe how Ownership Generic Java (OGJ) was implemented as a minimal extension to Generic Java in the hope of bringing ownership types into mainstream programming. Alex Potanin, James Noble 0001, Dave Clarke 0001, Robert Biddle |
OOPSLA | 3 |
| 2006 | Featherweight generic confinementabstractExisting approaches to object encapsulation either rely on ad hoc syntactic restrictions or require the use of specialised type systems. Syntactic restrictions are difficult to scale and to prove correct, while specialised type systems require extensive changes to programming languages. We demonstrate that confinement can be enforced cheaply in Featherweight Generic Java, with no essential change to the underlying language or type system. This result demonstrates that polymorphic type parameters can simultaneously act as ownership parameters and should facilitate the adoption of confinement and ownership type systems in general-purpose programming languages. Alex Potanin, James Noble 0001, Dave Clarke 0001, Robert Biddle |
J. Funct. Program. | 3 |
| 2005 | Controlling Object Allocation Using Creation Guards
Cees Pierik, Dave Clarke 0001, Frank S. de Boer |
FM | 2 |
| 2004 | Modelling Coordination in Biological Systems
Dave Clarke 0001, David Costa 0001, Farhad Arbab |
ISoLA | 1 |
| 2004 | UUXML: A Type-Preserving XML Schema-Haskell Data Binding
Frank Atanassow, Dave Clarke 0001, Johan Jeuring |
PADL | 2 |
| 2003 | External Uniqueness Is Unique Enough
Dave Clarke 0001, Tobias Wrigstad |
ECOOP | 1 |
| 2003 | Dependency-style generic HaskellabstractGeneric Haskell is an extension of Haskell that supports the construction of generic programs. During the development of several applications, such as an XML editor and compressor, we encountered a number of limitations with the existing (Classic) Generic Haskell language, as implemented by the current Generic Haskell compiler. Specifically, generic definitions become disproportionately more difficult to write as their complexity increases, such as when one generic function uses another, because recursion is implicit in generic definitions. In the current implementation, writing such functions suffers the burden of a large administrative overhead and is at times counter-intuitive. Furthermore, the absence of type checking in the current implementation can make Generic Haskell hard to use.In this paper we develop the foundations of Dependency-style Generic Haskell which addresses the above problems, shifting the burden from the programmer to the compiler. These foundations consist of a full type system for Dependency-style Generic Haskell's core language and appropriate reduction rules. The type system enables the programmer to write generic functions in a more natural style, taking care of dependency details which were previously the programmer's responsibility. Andres Löh, Dave Clarke 0001, Johan Jeuring |
ICFP | 2 |
| 2003 | Saving the world from bad beans: deployment-time confinement checkingabstractThe Enterprise JavaBeans (EJB) framework requires developers to preserve architectural integrity constraints when writing EJB components. Breaking these constraints allows components to violate the transaction protocol, bypass security mechanisms, disable object persistence, and be susceptible to malicious attacks from other EJBs. We present an object confinement discipline that allows static verification of components' integrity as they are deployed into an EJB server. The confinement rules are simple for developers to understand, require no annotation to the code of EJB components, and can be efficiently enforced in existing EJB servers. Dave Clarke 0001, Michael Richmond, James Noble 0001 |
OOPSLA | 1 |
| 2002 | Ownership, encapsulation and the disjointness of type and effectabstractOwnership types provide a statically enforceable notion of object-level encapsulation. We extend ownership types with computational effects to support reasoning about object-oriented programs. The ensuing system provides both access control and effects reporting. Based on this type system, we codify two formal systems for reasoning about aliasing and the disjointness of computational effects. The first can be used to prove that evaluation of two expressions will never lead to aliases, while the latter can be used to show the non-interference of two expressions. Dave Clarke 0001, Sophia Drossopoulou |
OOPSLA | 1 |
| 2001 | Simple Ownership Types for Object Containment
Dave Clarke 0001, James Noble 0001, John Potter |
ECOOP | 1 |
| 1998 | Ownership Types for Flexible Alias ProtectionabstractObject-oriented programming languages allow inter-object aliasing. Although necessary to construct linked data structures and networks of interacting objects, aliasing is problematic in that an aggregate object's state can change via an alias to one of its components, without the aggregate being aware of any aliasing.Ownership types form a static type system that indicates object ownership. This provides a flexible mechanism to limit the visibility of object references and restrict access paths to objects, thus controlling a system's dynamic topology. The type system is shown to be sound, and the specific aliasing properties that a system's object graph satisfies are formulated and proven invariant for well-typed programs. Dave Clarke 0001, John Potter, James Noble 0001 |
OOPSLA | 1 |