Dave Clarke

ORCID: 0000-0002-1970-6607
Publications
Citations
Views
---
Saved
---
About
Contact & Profiles
Research Areas
  • Logic, programming, and type systems
  • Distributed systems and fault tolerance
  • Security and Verification in Computing
  • Advanced Software Engineering Methodologies
  • Formal Methods in Verification
  • Service-Oriented Architecture and Web Services
  • Parallel Computing and Optimization Techniques
  • Advanced Malware Detection Techniques
  • Software Engineering Research
  • Model-Driven Software Engineering Techniques
  • Privacy, Security, and Data Protection
  • Logic, Reasoning, and Knowledge
  • Distributed and Parallel Computing Systems
  • Petri Nets in System Modeling
  • Business Process Modeling and Analysis
  • Access Control and Trust
  • Privacy-Preserving Technologies in Data
  • Advanced Database Systems and Queries
  • linguistics and terminology studies
  • Advanced Data Storage Technologies
  • Software System Performance and Reliability
  • Scientific Computing and Data Management
  • Nursing education and management
  • Internet Traffic Analysis and Secure E-voting
  • Semantic Web and Ontologies

Stantec (United States)
2024

NewGen Therapeutics (United States)
2022

Central Laser Facility
2022

Centro Laser
2022

Marine Institute
2022

Uppsala University
2013-2019

KU Leuven
2009-2016

iMinds
2013-2015

Information Technology University
2015

University of Oslo
2012

Ownership types provide a statically enforceable notion of object-level encapsulation. We extend ownership with computational effects to support reasoning about object-oriented programs. The ensuing system provides both access control and reporting. Based on this type system, we codify two formal systems for aliasing the disjointness effects. first can be used prove that evaluation expressions will never lead aliases, while latter show non-interference expressions.

10.1145/582419.582447 article EN 2002-01-01

A fully abstract compiler prevents security features of the source language from being bypassed by an attacker operating at target level. Unfortunately, developing compilers is very complex, and it even more so when untyped assembly language. To provide a that targets assembly, has been suggested to extend with protected module architecture—an assembly-level isolation mechanism which can be found in next-generation processors. This article provides compilation scheme whose object-oriented,...

10.1145/2699503 article EN ACM Transactions on Programming Languages and Systems 2015-04-16

Delta modeling is an approach to facilitate automated product derivation for software lines. It based on a set of deltas specifying modifications that are incrementally applied core product. The applicability depends feature-dependent conditions. This paper presents abstract delta modeling, which explores from abstract, algebraic perspective.

10.1145/1868294.1868298 article EN 2010-10-10

Ownership types enforce encapsulation in object-oriented programs by ensuring that objects cannot be leaked beyond object(s) own them. Existing ownership programming languages either do not support parametric polymorphism (type genericity) or attempt to add it on top of restrictions. Generic provides per-object a sound generic imperative language. The resulting system only guarantees comparable established systems, but also requires few additional language mechanisms due full reuse...

10.1145/1167473.1167500 article EN 2006-10-16

Beginning with BETA, a range of programming language mechanisms such as virtual classes (class-valued attributes objects) have been developed to allow inheritance in the presence mutually dependent classes. This paper presents Tribe, type system which generalises and simplifies other formalisms mechanisms, by treating issues are inessential for soundness, precise details dispatch field initialisation, orthogonal core formalism. Tribe can support path types simultaneously on both objects, is...

10.1145/1218563.1218578 article EN 2007-03-14

Synchronous coordination systems, such as Reo, exchange data via indivisible actions, while distributed systems are typically asynchronous and assume that messages can be delayed or get lost. To combine these seemingly contradictory notions, we introduce the Dreams framework. Coordination patterns in described using a synchronous model based on Reo language, whereas global system behaviour is given by runtime composition of autonomous actors communicating asynchronously. also exploits use to...

10.1145/2245276.2232017 article EN 2012-03-26

Generic Haskell is an extension of that supports the construction generic programs. During development several applications, such as XML editor and compressor, we encountered a number limitations with existing (Classic) language, implemented by current compiler. Specifically, definitions become disproportionately more difficult to write their complexity increases, when one function uses another, because recursion implicit in definitions. In implementation, writing functions suffers burden...

10.1145/944705.944719 article EN 2003-08-25

The Enterprise JavaBeans (EJB) framework requires developers to preserve architectural integrity constraints when writing EJB components. Breaking these allows components violate the transaction protocol, bypass security mechanisms, disable object persistence, and be susceptible malicious attacks from other EJBs. We present an confinement discipline that static verification of components' as they are deployed into server. rules simple for understand, require no annotation code components,...

10.1145/949305.949339 article EN 2003-10-26

Recent developments in the systematic construction of abstract interpreters hinted at possibility a broad unification concepts static analysis. We deliver that by showing context-sensitivity, polyvariance, flow-sensitivity, reachability-pruning, heap-cloning and cardinality-bounding to be independent any particular semantics. Monads become unifying agent between these For instance, plugging same "context-insensitivity monad" into monadically-parameterized semantics for Java or lambda...

10.1145/2491956.2491979 article EN 2013-06-11
Coming Soon ...