Nothing Special   »   [go: up one dir, main page]

skip to main content
10.5555/1532974guideproceedingsBook PagePublication PagesConference Proceedingsacm-pubtype
ESOP '09: Proceedings of the 18th European Symposium on Programming Languages and Systems: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
2009 Proceeding
Publisher:
  • Springer-Verlag
  • Berlin, Heidelberg
Conference:
York UK March 22 - 29, 2009
ISBN:
978-3-642-00589-3
Published:
28 March 2009

Reflects downloads up to 30 Nov 2024Bibliometrics
Abstract

No abstract available.

Skip Table Of Content Section
Section: Typed Functional Programming
Article
Well-Typed Programs Can't Be Blamed

We introduce the <em>blame calculus</em> , which adds the notion of blame from Findler and Felleisen's <em>contracts</em> to a system similar to Siek and Taha's <em>gradual types</em> and Flanagan's <em>hybrid types</em> . We characterise where positive ...

Article
Exploring the Design Space of Higher-Order Casts

This paper explores the surprisingly rich design space for the simply typed lambda calculus with casts and a dynamic type. Such a calculus is the target intermediate language of the gradually typed lambda calculus but it is also interesting in its own ...

Article
Practical Variable-Arity Polymorphism

Just as some functions have uniform behavior over distinct types, other functions have uniform behavior over distinct arities. These variable-arity functions are widely used in scripting languages such as Scheme and Python. Statically typed languages ...

Article
Resolving Inductive Definitions with Binders in Higher-Order Typed Functional Programming

This paper studies inductive definitions involving binders, in which aliasing between free and bound names is permitted. Such aliasing occurs in informal specifications of operational semantics, but is excluded by the common representation of binding as ...

Section: ETAPS Invited Talk
Article
Using Category Theory to Design Programming Languages

In a 1980 paper entitled "Using Category Theory to Design Conversions and Generic Operators", the author showed how the concepts of category theory can guide the design of a programming language to avoid anomalies in the interaction of implicit ...

Section: Computational Effects
Article
Modular Monad Transformers

During the last two decades, monads have become an indispensable tool for structuring functional programs with computational effects. In this setting, the mathematical notion of a monad is extended with operations that allow programmers to manipulate ...

Article
Handlers of Algebraic Effects

We present an algebraic treatment of exception handlers and, more generally, introduce handlers for other computational effects representable by an algebraic theory. These include nondeterminism, interactive input/output, concurrency, state, time, and ...

Section: Types for Object-Oriented Languages
Article
Is Structural Subtyping Useful? An Empirical Study

Structural subtyping is popular in research languages, but all mainstream object-oriented languages use nominal subtyping. Since languages with structural subtyping are not in widespread use, the empirical questions of whether and how structural ...

Article
An Interval-Based Inference of Variant Parametric Types

Variant parametric types represent the successful integration of subtype and parametric polymorphism to support a more flexible subtyping for Java like languages. A key feature that helps strengthen this integration is the use-site variance. Depending ...

Article
Existential Quantification for Variant Ownership

Ownership types characterize the topology of objects in the heap, through a characterization of the context to which an object belongs. They have been used to support reasoning, memory management, concurrency, <em>etc.</em> Subtyping is traditionally ...

Section: Verification
Article
Formalising and Verifying Reference Attribute Grammars in Coq

Reference attribute grammars are a powerful formalism for concisely specifying and implementing static analyses. While they have proven their merit in practical applications, no attempt has so far been made to rigorously verify correctness properties of ...

Article
Verified, Executable Parsing

We describe the mechanisation of an SLR parser produced by a parser generator, covering background properties of context-free languages and grammars, as well as the construction of an SLR automaton. Among the various properties proved about the parser ...

Article
An Efficient Algorithm for Solving the Dyck-CFL Reachability Problem on Trees

The context-free language (CFL) reachability problem is well known and studied in computer science, as a fundamental problem underlying many important static analyses such as points-to-analysis. Solving the CFL reachability problem in the general case ...

Article
Amortised Memory Analysis Using the Depth of Data Structures

Hofmann and Jost have presented a heap space analysis [1] that finds linear space bounds for many functional programs. It uses an amortised analysis: assigning hypothetical amounts of free space (called potential) to data structures in proportion to ...

Section: ESOP Invited Talk
Article
The Financial Crisis, a Lack of Contract Specification Tools: What Can Finance Learn from Programming Language Design?

The magnitude and dramatic consequences of the current "financial crisis" are publicly well documented. Even non professionals may read in, say, newspapers about notions like "derivatives", "over the counter deals", "complexity of contracts", "...

Section: Security
Article
All Secrets Great and Small

Tools for analysing secure information flow are almost exclusively based on ideas going back to Denning's work from the 70's. This approach embodies an imperfect notion of security which turns a blind eye to information flows which are encoded in the ...

Article
Type-Based Automated Verification of Authenticity in Cryptographic Protocols

Gordon and Jeffrey have proposed a type and effect system for checking authenticity in cryptographic protocols. The type system reduces the protocol verification problem to the type checking problem, but protocols must be manually annotated with non-...

Section: Concurrency
Article
A Theory of Non-monotone Memory (Or: Contexts for free)

We develop a general method of proving contextual properties--including (but not limited to) observational equivalence, space improvement, and memory safety <em>under arbitrary contexts</em> --for programs in untyped call-by-value <em>***</em> -calculus ...

Article
Abstraction for Concurrent Objects

Concurrent data structures are usually designed to satisfy correctness conditions such as sequential consistency and linearizability. In this paper, we consider the following fundamental question: what guarantees are provided by these conditions for ...

Article
Minimization Algorithm for Symbolic Bisimilarity

The operational semantics of interactive systems is usually described by labeled transition systems. Abstract semantics is defined in terms of bisimilarity that, in the finite case, can be computed via the well-known <em>partition refinement algorithm</...

Section: Service-Oriented Computing
Article
Conversation Types

We present a type theory for analyzing concurrent multiparty interactions as found in service-oriented computing. Our theory introduces a novel and flexible type structure, able to uniformly describe both the internal and the interface behavior of ...

Article
Abstract Processes in Orchestration Languages

Orchestrators are descriptions at implementation level and may contain sensitive information that should be kept private. Consequently, orchestration languages come equipped with a notion of <em>abstract processes</em> , which enable the interaction ...

Article
Global Principal Typing in Partially Commutative Asynchronous Sessions

We generalise a theory of multiparty session types for the <em>***</em> -calculus through asynchronous communication subtyping, which allows partial commutativity of actions with maximal flexibility and safe optimisation in message choreography. A sound ...

Article
Tisa: A Language Design and Modular Verification Technique for Temporal Policies in Web Services

Web services are distributed software components, that are decoupled from each other using interfaces with specified functional behaviors. However, such behavioral specifications are insufficient to demonstrate compliance with certain temporal non-...

Section: Parallel and Concurrent Programming
Article
Automatic Parallelization with Separation Logic

Separation logic is a recent approach to the analysis of pointer programs in which resource separation is expressed with a logical connective in assertions that describe the state at any given point in the program. We extend this approach to express ...

Article
Deny-Guarantee Reasoning

Rely-guarantee is a well-established approach to reasoning about concurrent programs that use parallel composition. However, parallel composition is not how concurrency is structured in real systems. Instead, threads are started by `fork' and collected ...

Article
A Basis for Verifying Multi-threaded Programs

Advanced multi-threaded programs apply concurrency concepts in sophisticated ways. For instance, they use fine-grained locking to increase parallelism and change locking orders dynamically when data structures are being reorganized. This paper presents ...

Article
SingleTrack: A Dynamic Determinism Checker for Multithreaded Programs

Multithreaded programs are prone to errors caused by unintended interference between concurrent threads. This paper focuses on verifying that <em>deterministically-parallel</em> code is free of such thread interference errors. Deterministically-parallel ...

Contributors
  • University of Paris
Please enable JavaScript to view thecomments powered by Disqus.

Recommendations