Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- ArticleJanuary 2006
A verifiable SSA program representation for aggressive compiler optimization
- Vijay S. Menon,
- Neal Glew,
- Brian R. Murphy,
- Andrew McCreight,
- Tatiana Shpeisman,
- Ali-Reza Adl-Tabatabai,
- Leaf Petersen
POPL '06: Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 397–408https://doi.org/10.1145/1111037.1111072We present a verifiable low-level program representation to embed, propagate, and preserve safety information in high perfor-mance compilers for safe languages such as Java and C#. Our representation precisely encodes safety information via static ...
Also Published in:
ACM SIGPLAN Notices: Volume 41 Issue 1 - ArticleJanuary 2006
Harmless advice
POPL '06: Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 383–396https://doi.org/10.1145/1111037.1111071This paper defines an object-oriented language with harmless aspect-oriented advice. A piece of harmless advice is a computation that, like ordinary aspect-oriented advice, executes when control reaches a designated control-flow point. However, unlike ...
Also Published in:
ACM SIGPLAN Notices: Volume 41 Issue 1 - ArticleJanuary 2006
The essence of command injection attacks in web applications
POPL '06: Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 372–382https://doi.org/10.1145/1111037.1111070Web applications typically interact with a back-end database to retrieve persistent data and then present the data to the user as dynamically generated output, such as HTML web pages. However, this interaction is commonly done through a low-level API by ...
Also Published in:
ACM SIGPLAN Notices: Volume 41 Issue 1 - ArticleJanuary 2006
Associating synchronization constraints with data in an object-oriented language
POPL '06: Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 334–345https://doi.org/10.1145/1111037.1111067Concurrency-related bugs may happen when multiple threads access shared data and interleave in ways that do not correspond to any sequential execution. Their absence is not guaranteed by the traditional notion of "data race" freedom. We present a new ...
Also Published in:
ACM SIGPLAN Notices: Volume 41 Issue 1 - ArticleJanuary 2006
Certified assembly programming with embedded code pointers
POPL '06: Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 320–333https://doi.org/10.1145/1111037.1111066Embedded code pointers (ECPs) are stored handles of functions and continuations commonly seen in low-level binaries as well as functional or higher-order programs. ECPs are known to be very hard to support well in Hoare-logic style verification systems. ...
Also Published in:
ACM SIGPLAN Notices: Volume 41 Issue 1 -
- ArticleJanuary 2006
Frame rules from answer types for code pointers
POPL '06: Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 309–319https://doi.org/10.1145/1111037.1111065We define a type system, which may also be considered as a simple Hoare logic, for a fragment of an assembly language that deals with code pointers and jumps. The typing is aimed at local reasoning in the sense that only the type of a code pointer is ...
Also Published in:
ACM SIGPLAN Notices: Volume 41 Issue 1 - ArticleJanuary 2006
Specifying C++ concepts
POPL '06: Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 295–308https://doi.org/10.1145/1111037.1111064C++ templates are key to the design of current successful mainstream libraries and systems. They are the basis of programming techniques in diverse areas ranging from conventional general-purpose programming to software for safety-critical embedded ...
Also Published in:
ACM SIGPLAN Notices: Volume 41 Issue 1 - ArticleJanuary 2006
A virtual class calculus
POPL '06: Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 270–282https://doi.org/10.1145/1111037.1111062Virtual classes are class-valued attributes of objects. Like virtual methods, virtual classes are defined in an object's class and may be redefined within subclasses. They resemble inner classes, which are also defined within a class, but virtual ...
Also Published in:
ACM SIGPLAN Notices: Volume 41 Issue 1 - ArticleJanuary 2006
A polymorphic modal type system for lisp-like multi-staged languages
POPL '06: Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 257–268https://doi.org/10.1145/1111037.1111060This article presents a polymorphic modal type system and its principal type inference algorithm that conservatively extend ML by all of Lisp's staging constructs (the quasi-quotation system). The combination is meaningful because ML is a practical ...
Also Published in:
ACM SIGPLAN Notices: Volume 41 Issue 1 - ArticleJanuary 2006
Hybrid type checking
POPL '06: Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 245–256https://doi.org/10.1145/1111037.1111059Traditional static type systems are very effective for verifying basic interface specifications, but are somewhat limited in the kinds specifications they support. Dynamically-checked contracts can enforce more precise specifications, but these are not ...
Also Published in:
ACM SIGPLAN Notices: Volume 41 Issue 1 - ArticleJanuary 2006
Stratified type inference for generalized algebraic data types
POPL '06: Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 232–244https://doi.org/10.1145/1111037.1111058Stratified type inference for generalized algebraic data types.
Also Published in:
ACM SIGPLAN Notices: Volume 41 Issue 1 - ArticleJanuary 2006
Modular set-based analysis from contracts
POPL '06: Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 218–231https://doi.org/10.1145/1111037.1111057In PLT Scheme, programs consist of modules with contracts. The latter describe the inputs and outputs of functions and objects via predicates. A run-time system enforces these predicates; if a predicate fails, the enforcer raises an exception that ...
Also Published in:
ACM SIGPLAN Notices: Volume 41 Issue 1 - ArticleJanuary 2006
Fast and loose reasoning is morally correct
POPL '06: Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 206–217https://doi.org/10.1145/1111037.1111056Functional programmers often reason about programs as if they were written in a total language, expecting the results to carry over to non-total (partial) languages. We justify such reasoning.Two languages are defined, one total and one partial, with ...
Also Published in:
ACM SIGPLAN Notices: Volume 41 Issue 1 - ArticleJanuary 2006
N-synchronous Kahn networks: a relaxed model of synchrony for real-time systems
POPL '06: Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 180–193https://doi.org/10.1145/1111037.1111054The design of high-performance stream-processing systems is a fast growing domain, driven by markets such like high-end TV, gaming, 3D animation and medical imaging. It is also a surprisingly demanding task, with respect to the algorithmic and ...
Also Published in:
ACM SIGPLAN Notices: Volume 41 Issue 1 - ArticleJanuary 2006
Adventures in time and space
POPL '06: Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 168–179https://doi.org/10.1145/1111037.1111053This paper investigates what is essentially a call-by-value version of PCF under a complexity-theoretically motivated type system. The programming formalism, ATR1, has its first-order programs characterize the poly-time computable functions, and its ...
Also Published in:
ACM SIGPLAN Notices: Volume 41 Issue 1 - ArticleJanuary 2006
A fixpoint calculus for local and global program flows
POPL '06: Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 153–165https://doi.org/10.1145/1111037.1111051We define a new fixpoint modal logic, the visibly pushdown μ-calculus (VP-μ), as an extension of the modal μ-calculus. The models of this logic are execution trees of structured programs where the procedure calls and returns are made visible. This new ...
Also Published in:
ACM SIGPLAN Notices: Volume 41 Issue 1 - ArticleJanuary 2006
Small bisimulations for reasoning about higher-order imperative programs
POPL '06: Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 141–152https://doi.org/10.1145/1111037.1111050We introduce a new notion of bisimulation for showing contextual equivalence of expressions in an untyped lambda-calculus with an explicit store, and in which all expressed values, including higher-order values, are storable. Our notion of bisimulation ...
Also Published in:
ACM SIGPLAN Notices: Volume 41 Issue 1 - ArticleJanuary 2006
Verifying properties of well-founded linked lists
POPL '06: Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 115–126https://doi.org/10.1145/1111037.1111048We describe a novel method for verifying programs that manipulate linked lists, based on two new predicates that characterize reachability of heap cells. These predicates allow reasoning about both acyclic and cyclic lists uniformly with equal ease. The ...
Also Published in:
ACM SIGPLAN Notices: Volume 41 Issue 1 - ArticleJanuary 2006
Polymorphic regular tree types and patterns
POPL '06: Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 103–114https://doi.org/10.1145/1111037.1111047We propose a type system based on regular tree grammars, where algebraic datatypes are interpreted in a structural way. Thus, the same constructors can be reused for different types and a flexible subtyping relation can be defined between types, ...
Also Published in:
ACM SIGPLAN Notices: Volume 41 Issue 1 - ArticleJanuary 2006
A logic for information flow in object-oriented programs
POPL '06: Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 91–102https://doi.org/10.1145/1111037.1111046This paper specifies, via a Hoare-like logic, an interprocedural and flow sensitive (but termination insensitive) information flow analysis for object-oriented programs. Pointer aliasing is ubiquitous in such programs, and can potentially leak ...
Also Published in:
ACM SIGPLAN Notices: Volume 41 Issue 1