Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- research-articleJanuary 2008
Extensible encoding of type hierarchies
POPL '08: Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 349–358https://doi.org/10.1145/1328438.1328480The subtyping test consists of checking whether a type t is a descendant of a type r (Agrawal et al. 1989). We study how to perform such a test efficiently, assuming a dynamic hierarchy when new types are inserted at run-time. The goal is to achieve ...
Also Published in:
ACM SIGPLAN Notices: Volume 43 Issue 1 - research-articleJanuary 2008
Imperative self-adjusting computation
POPL '08: Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 309–322https://doi.org/10.1145/1328438.1328476Self-adjusting computation enables writing programs that can automatically and efficiently respond to changes to their data (e.g., inputs). The idea behind the approach is to store all data that can change over time in modifiable references and to let ...
Also Published in:
ACM SIGPLAN Notices: Volume 43 Issue 1 - research-articleJanuary 2008
Relational inductive shape analysis
POPL '08: Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 247–260https://doi.org/10.1145/1328438.1328469Shape analyses are concerned with precise abstractions of the heap to capture detailed structural properties. To do so, they need to build and decompose summaries of disjoint memory regions. Unfortunately, many data structure invariants require ...
Also Published in:
ACM SIGPLAN Notices: Volume 43 Issue 1 - research-articleJanuary 2008
Lifting abstract interpreters to quantified logical domains
POPL '08: Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 235–246https://doi.org/10.1145/1328438.1328468We describe a general technique for building abstract interpreters over powerful universally quantified abstract domains that leverage existing quantifier-free domains. Our quantified abstract domain can represent universally quantified facts like ∀i(0 ≤...
Also Published in:
ACM SIGPLAN Notices: Volume 43 Issue 1 - research-articleJanuary 2008
Generating precise and concise procedure summaries
POPL '08: Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 221–234https://doi.org/10.1145/1328438.1328467We present a framework for generating procedure summaries that are (a) precise - applying the summary in a given context yields the same result as re-analyzing the procedure in that context, and(b) concise - the summary exploits the commonalitiesin the ...
Also Published in:
ACM SIGPLAN Notices: Volume 43 Issue 1 -
- research-articleJanuary 2008
Semantics of transactional memory and automatic mutual exclusion
POPL '08: Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 63–74https://doi.org/10.1145/1328438.1328449Software Transactional Memory (STM) is an attractive basis for the development of language features for concurrent programming. However, the semantics of these features can be delicate and problematic. In this paper we explore the tradeoffs between ...
Also Published in:
ACM SIGPLAN Notices: Volume 43 Issue 1 - research-articleJanuary 2008
From dirt to shovels: fully automatic tool generation from ad hoc data
POPL '08: Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 421–434https://doi.org/10.1145/1328438.1328488An ad hoc data source is any semistructured data source for which useful data analysis and transformation tools are not readily available. Such data must be queried, transformed and displayed by systems administrators, computational biologists, ...
Also Published in:
ACM SIGPLAN Notices: Volume 43 Issue 1 - research-articleJanuary 2008
Boomerang: resourceful lenses for string data
POPL '08: Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 407–419https://doi.org/10.1145/1328438.1328487A lens is a bidirectional program. When read from left toright, it denotes an ordinary function that maps inputs to outputs. When read from right to left, it denotes an ''update translator'' that takes an input together with an updated output and ...
Also Published in:
ACM SIGPLAN Notices: Volume 43 Issue 1 - research-articleJanuary 2008
The design and implementation of typed scheme
POPL '08: Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 395–406https://doi.org/10.1145/1328438.1328486When scripts in untyped languages grow into large programs, maintaining them becomes difficult. A lack of types in typical scripting languages means that programmers must (re)discover critical pieces of design information every time they wish to change ...
Also Published in:
ACM SIGPLAN Notices: Volume 43 Issue 1 - research-articleJanuary 2008
A type-theoretic foundation for programming with higher-order abstract syntax and first-class substitutions
POPL '08: Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 371–382https://doi.org/10.1145/1328438.1328483Higher-order abstract syntax (HOAS) is a simple, powerful technique for implementing object languages, since it directly supports common and tricky routines dealing with variables, such as capture-avoiding substitution and renaming. This is achieved by ...
Also Published in:
ACM SIGPLAN Notices: Volume 43 Issue 1 - research-articleJanuary 2008
Focusing and higher-order abstract syntax
POPL '08: Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 359–369https://doi.org/10.1145/1328438.1328482Focusing is a proof-search strategy, originating in linear logic, that elegantly eliminates inessential nondeterminism, with one byproduct being a correspondence between focusing proofs and programs with explicit evaluation order. Higher-order abstract ...
Also Published in:
ACM SIGPLAN Notices: Volume 43 Issue 1 - research-articleJanuary 2008
Cryptographically sound implementations for typed information-flow security
POPL '08: Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 323–335https://doi.org/10.1145/1328438.1328478In language-based security, confidentiality and integrity policies conveniently specify the permitted flows of information between different parts of a program with diverse levels of trust. These policies enable a simple treatment of security, and they ...
Also Published in:
ACM SIGPLAN Notices: Volume 43 Issue 1 - research-articleJanuary 2008
Foundations for structured programming with GADTs
POPL '08: Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 297–308https://doi.org/10.1145/1328438.1328475GADTs are at the cutting edge of functional programming and becomemore widely used every day. Nevertheless, the semantic foundations underlying GADTs are not well understood. In this paper we solve this problem by showing that the standard theory of ...
Also Published in:
ACM SIGPLAN Notices: Volume 43 Issue 1 - research-articleJanuary 2008
Clowns to the left of me, jokers to the right (pearl): dissecting data structures
POPL '08: Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 287–295https://doi.org/10.1145/1328438.1328474This paper introduces a small but useful generalisation to the 'derivative' operation on datatypes underlying Huet's notion of 'zipper', giving a concrete representation to one-hole contexts in data which is undergoing transformation. This operator, '...
Also Published in:
ACM SIGPLAN Notices: Volume 43 Issue 1 - research-articleJanuary 2008
Multiparty asynchronous session types
POPL '08: Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 273–284https://doi.org/10.1145/1328438.1328472Communication is becoming one of the central elements in software development. As a potential typed foundation for structured communication-centred programming, session types have been studied over the last decade for a wide range of process calculi and ...
Also Published in:
ACM SIGPLAN Notices: Volume 43 Issue 1 - research-articleJanuary 2008
A theory of platform-dependent low-level software
POPL '08: Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 209–220https://doi.org/10.1145/1328438.1328465The C language definition leaves the sizes and layouts of types partially unspecified. When a C program makes assumptions about type layout, its semantics is defined only on platforms (C compilers and the underlying hardware) on which those assumptions ...
Also Published in:
ACM SIGPLAN Notices: Volume 43 Issue 1 - research-articleJanuary 2008
Demand-driven alias analysis for C
POPL '08: Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 197–208https://doi.org/10.1145/1328438.1328464This paper presents a demand-driven, flow-insensitive analysisalgorithm for answering may-alias queries. We formulate thecomputation of alias queries as a CFL-reachability problem, and use this formulation to derive a demand-driven analysis algorithm. ...
Also Published in:
ACM SIGPLAN Notices: Volume 43 Issue 1 - research-articleJanuary 2008
Back to the future: revisiting precise program verification using SMT solvers
POPL '08: Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 171–182https://doi.org/10.1145/1328438.1328461This paper takes a fresh look at the problem of precise verification of heap-manipulating programs using first-order Satisfiability-Modulo-Theories (SMT) solvers. We augment the specification logic of such solvers by introducing the Logic of Interpreted ...
Also Published in:
ACM SIGPLAN Notices: Volume 43 Issue 1 - research-articleJanuary 2008
Proving non-termination
POPL '08: Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 147–158https://doi.org/10.1145/1328438.1328459The search for proof and the search for counterexamples (bugs) are complementary activities that need to be pursued concurrently in order to maximize the practical success rate of verification tools.While this is well-understood in safety verification, ...
Also Published in:
ACM SIGPLAN Notices: Volume 43 Issue 1 - research-articleJanuary 2008
Lightweight semiformal time complexity analysis for purely functional data structures
POPL '08: Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 133–144https://doi.org/10.1145/1328438.1328457Okasaki and others have demonstrated how purely functional data structures that are efficient even in the presence of persistence can be constructed. To achieve good time bounds essential use is often made of laziness. The associated complexity analysis ...
Also Published in:
ACM SIGPLAN Notices: Volume 43 Issue 1