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-articleJune 2013
Reasoning about nondeterminism in programs
PLDI '13: Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and ImplementationPages 219–230https://doi.org/10.1145/2491956.2491969Branching-time temporal logics (e.g. CTL, CTL*, modal mu-calculus) allow us to ask sophisticated questions about the nondeterminism that appears in systems. Applications of this type of reasoning include planning, games, security analysis, disproving, ...
Also Published in:
ACM SIGPLAN Notices: Volume 48 Issue 6 - research-articleJune 2013
Compiler testing via a theory of sound optimisations in the C11/C++11 memory model
PLDI '13: Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and ImplementationPages 187–196https://doi.org/10.1145/2491956.2491967Compilers sometimes generate correct sequential code but break the concurrency memory model of the programming language: these subtle compiler bugs are observable only when the miscompiled functions interact with concurrent contexts, making them ...
Also Published in:
ACM SIGPLAN Notices: Volume 48 Issue 6 - research-articleJune 2013
Modular verification of linearizability with non-fixed linearization points
PLDI '13: Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and ImplementationPages 459–470https://doi.org/10.1145/2491956.2462189Locating linearization points (LPs) is an intuitive approach for proving linearizability, but it is difficult to apply the idea in Hoare-style logic for formal program verification, especially for verifying algorithms whose LPs cannot be statically ...
Also Published in:
ACM SIGPLAN Notices: Volume 48 Issue 6 - research-articleJune 2013
P: safe asynchronous event-driven programming
PLDI '13: Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and ImplementationPages 321–332https://doi.org/10.1145/2491956.2462184We describe the design and implementation of P, a domain-specific language to write asynchronous event driven code. P allows the programmer to specify the system as a collection of interacting state machines, which communicate with each other using ...
Also Published in:
ACM SIGPLAN Notices: Volume 48 Issue 6 - research-articleJune 2013
Formal verification of SSA-based optimizations for LLVM
PLDI '13: Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and ImplementationPages 175–186https://doi.org/10.1145/2491956.2462164Modern compilers, such as LLVM and GCC, use a static single assignment(SSA) intermediate representation (IR) to simplify and enable many advanced optimizations. However, formally verifying the correctness of SSA-based optimizations is challenging ...
Also Published in:
ACM SIGPLAN Notices: Volume 48 Issue 6 - research-articleJune 2013
CONCURRIT: a domain specific language for reproducing concurrency bugs
PLDI '13: Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and ImplementationPages 153–164https://doi.org/10.1145/2491956.2462162We present CONCURRIT, a domain-specific language (DSL) for reproducing concurrency bugs. Given some partial information about the nature of a bug in an application, a programmer can write a CONCURRIT script to formally and concisely specify a set of ...
Also Published in:
ACM SIGPLAN Notices: Volume 48 Issue 6 - research-articleJune 2013
Rely-guarantee references for refinement types over aliased mutable data
PLDI '13: Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and ImplementationPages 73–84https://doi.org/10.1145/2491956.2462160Reasoning about side effects and aliasing is the heart of verifying imperative programs. Unrestricted side effects through one reference can invalidate assumptions about an alias. We present a new type system approach to reasoning about safe assumptions ...
Also Published in:
ACM SIGPLAN Notices: Volume 48 Issue 6