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 2015
From Network Interface to Multithreaded Web Applications: A Case Study in Modular Program Verification
POPL '15: Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesPages 609–622https://doi.org/10.1145/2676726.2677003Many verifications of realistic software systems are monolithic, in the sense that they define single global invariants over complete system state. More modular proof techniques promise to support reuse of component proofs and even reduce the effort ...
Also Published in:
ACM SIGPLAN Notices: Volume 50 Issue 1 - research-articleJanuary 2015
Tractable Refinement Checking for Concurrent Objects
POPL '15: Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesPages 651–662https://doi.org/10.1145/2676726.2677002Efficient implementations of concurrent objects such as semaphores, locks, and atomic collections are essential to modern computing. Yet programming such objects is error prone: in minimizing the synchronization overhead between concurrent object ...
Also Published in:
ACM SIGPLAN Notices: Volume 50 Issue 1 - research-articleJanuary 2015
Probabilistic Termination: Soundness, Completeness, and Compositionality
POPL '15: Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesPages 489–501https://doi.org/10.1145/2676726.2677001We propose a framework to prove almost sure termination for probabilistic programs with real valued variables. It is based on ranking supermartingales, a notion analogous to ranking functions on non-probabilistic programs. The framework is proven sound ...
Also Published in:
ACM SIGPLAN Notices: Volume 50 Issue 1 - research-articleJanuary 2015
Higher-Order Approximate Relational Refinement Types for Mechanism Design and Differential Privacy
POPL '15: Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesPages 55–68https://doi.org/10.1145/2676726.2677000Mechanism design is the study of algorithm design where the inputs to the algorithm are controlled by strategic agents, who must be incentivized to faithfully report them. Unlike typical programmatic properties, it is not sufficient for algorithms to ...
Also Published in:
ACM SIGPLAN Notices: Volume 50 Issue 1 - research-articleJanuary 2015
Summary-Based Context-Sensitive Data-Dependence Analysis in Presence of Callbacks
POPL '15: Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesPages 83–95https://doi.org/10.1145/2676726.2676997Building a summary for library code is a common approach to speeding up the analysis of client code. In presence of callbacks, some reachability relationships between library nodes cannot be obtained during library-code summarization. Thus, the library ...
Also Published in:
ACM SIGPLAN Notices: Volume 50 Issue 1 - research-articleJanuary 2015
Abstract Symbolic Automata: Mixed syntactic/semantic similarity analysis of executables
POPL '15: Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesPages 329–341https://doi.org/10.1145/2676726.2676986We introduce a model for mixed syntactic/semantic approximation of programs based on symbolic finite automata (SFA). The edges of SFA are labeled by predicates whose semantics specifies the denotations that are allowed by the edge. We introduce the ...
Also Published in:
ACM SIGPLAN Notices: Volume 50 Issue 1 - research-articleJanuary 2015
Compositional CompCert
POPL '15: Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesPages 275–287https://doi.org/10.1145/2676726.2676985This paper reports on the development of Compositional CompCert, the first verified separate compiler for C.
Specifying and proving separate compilation for C is made challenging by the coincidence of: compiler optimizations, such as register spilling, ...
Also Published in:
ACM SIGPLAN Notices: Volume 50 Issue 1 - research-articleJanuary 2015
Faster Algorithms for Algebraic Path Properties in Recursive State Machines with Constant Treewidth
POPL '15: Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesPages 97–109https://doi.org/10.1145/2676726.2676979Interprocedural analysis is at the heart of numerous applications in programming languages, such as alias analysis, constant propagation, etc. Recursive state machines (RSMs) are standard models for interprocedural analysis. We consider a general ...
Also Published in:
ACM SIGPLAN Notices: Volume 50 Issue 1 - research-articleJanuary 2015
Specification Inference Using Context-Free Language Reachability
POPL '15: Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesPages 553–566https://doi.org/10.1145/2676726.2676977We present a framework for computing context-free language reachability properties when parts of the program are missing. Our framework infers candidate specifications for missing program pieces that are needed for verifying a property of interest, and ...
Also Published in:
ACM SIGPLAN Notices: Volume 50 Issue 1 - research-articleJanuary 2015
Sound Modular Verification of C Code Executing in an Unverified Context
POPL '15: Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesPages 581–594https://doi.org/10.1145/2676726.2676972Over the past decade, great progress has been made in the static modular verification of C code by means of separation logic-based program logics. However, the runtime guarantees offered by such verification are relatively limited when the verified ...
Also Published in:
ACM SIGPLAN Notices: Volume 50 Issue 1 - research-articleJanuary 2015
Quantitative Interprocedural Analysis
POPL '15: Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesPages 539–551https://doi.org/10.1145/2676726.2676968We consider the quantitative analysis problem for interprocedural control-flow graphs (ICFGs). The input consists of an ICFG, a positive weight function that assigns every transition a positive integer-valued number, and a labelling of the transitions (...
Also Published in:
ACM SIGPLAN Notices: Volume 50 Issue 1 - research-articleJanuary 2015
A Formally-Verified C Static Analyzer
POPL '15: Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesPages 247–259https://doi.org/10.1145/2676726.2676966This paper reports on the design and soundness proof, using the Coq proof assistant, of Verasco, a static analyzer based on abstract interpretation for most of the ISO C 1999 language (excluding recursion and dynamic allocation). Verasco establishes the ...
Also Published in:
ACM SIGPLAN Notices: Volume 50 Issue 1 - research-articleJanuary 2015
Equations, Contractions, and Unique Solutions
POPL '15: Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesPages 421–432https://doi.org/10.1145/2676726.2676965One of the most studied behavioural equivalences is bisimilarity. Its success is much due to the associated bisimulation proof method, which can be further enhanced by means of "up-to bisimulation" techniques such as "up-to context".
A different proof ...
Also Published in:
ACM SIGPLAN Notices: Volume 50 Issue 1 - research-articleJanuary 2015
A Scalable, Correct Time-Stamped Stack
POPL '15: Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesPages 233–246https://doi.org/10.1145/2676726.2676963Concurrent data-structures, such as stacks, queues, and deques, often implicitly enforce a total order over elements in their underlying memory layout. However, much of this order is unnecessary: linearizability only requires that elements are ordered ...
Also Published in:
ACM SIGPLAN Notices: Volume 50 Issue 1