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 2021
Practical smart contract sharding with ownership and commutativity analysis
PLDI 2021: Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and ImplementationPages 1327–1341https://doi.org/10.1145/3453483.3454112Sharding is a popular way to achieve scalability in blockchain protocols, increasing their throughput by partitioning the set of transaction validators into a number of smaller committees, splitting the workload. Existing approaches for blockchain ...
- research-articleJune 2021
On probabilistic termination of functional programs with continuous distributions
PLDI 2021: Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and ImplementationPages 1312–1326https://doi.org/10.1145/3453483.3454111We study termination of higher-order probabilistic functional programs with recursion, stochastic conditioning and sampling from continuous distributions. Reasoning about the termination probability of programs with continuous distributions is hard, ...
- research-articleJune 2021
Termination analysis without the tears
PLDI 2021: Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and ImplementationPages 1296–1311https://doi.org/10.1145/3453483.3454110Determining whether a given program terminates is the quintessential undecidable problem. Algorithms for termination analysis may be classified into two groups: (1) algorithms with strong behavioral guarantees that work in limited circumstances (e.g., ...
- research-articleJune 2021
Specification synthesis with constrained Horn clauses
PLDI 2021: Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and ImplementationPages 1203–1217https://doi.org/10.1145/3453483.3454104The problem of synthesizing specifications of undefined procedures has a broad range of applications, but the usefulness of the generated specifications depends on their quality. In this paper, we propose a technique for finding maximal and non-vacuous ...
- research-articleJune 2021
Quantitative analysis of assertion violations in probabilistic programs
PLDI 2021: Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and ImplementationPages 1171–1186https://doi.org/10.1145/3453483.3454102We consider the fundamental problem of deriving quantitative bounds on the probability that a given assertion is violated in a probabilistic program. We provide automated algorithms that obtain both lower and upper bounds on the assertion violation ...
- research-articleJune 2021
CompCertO: compiling certified open C components
PLDI 2021: Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and ImplementationPages 1095–1109https://doi.org/10.1145/3453483.3454097Since the introduction of CompCert, researchers have been refining its language semantics and correctness theorem, and used them as components in software verification efforts. Meanwhile, artifacts ranging from CPU designs to network protocols have been ...
- research-articleJune 2021
Phased synthesis of divide and conquer programs
PLDI 2021: Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and ImplementationPages 974–986https://doi.org/10.1145/3453483.3454089We propose a fully automated method that takes as input an iterative or recursive reference implementation and produces divide-and-conquer implementations that are functionally equivalent to the input. Three interdependent components have to be ...
- research-articleJune 2021
Chianina: an evolving graph system for flow- and context-sensitive analyses of million lines of C code
PLDI 2021: Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and ImplementationPages 914–929https://doi.org/10.1145/3453483.3454085Sophisticated static analysis techniques often have complicated implementations, much of which provides logic for tuning and scaling rather than basic analysis functionalities. This tight coupling of basic algorithms with special treatments for ...
When threads meet events: efficient and precise static race detection with origins
PLDI 2021: Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and ImplementationPages 725–739https://doi.org/10.1145/3453483.3454073Data races are among the worst bugs in software in that they exhibit non-deterministic symptoms and are notoriously difficult to detect. The problem is exacerbated by interactions between threads and events in real-world applications. We present a novel ...
- research-articleJune 2021
Abstraction for conflict-free replicated data types
PLDI 2021: Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and ImplementationPages 636–650https://doi.org/10.1145/3453483.3454067Strong eventual consistency (SEC) has been used as a classic notion of correctness for Conflict-Free Replicated Data Types (CRDTs). However, it does not give proper abstractions of functionality, thus is not helpful for modular verification of client ...
- research-articleJune 2021
Central moment analysis for cost accumulators in probabilistic programs
PLDI 2021: Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and ImplementationPages 559–573https://doi.org/10.1145/3453483.3454062For probabilistic programs, it is usually not possible to automatically derive exact information about their properties, such as the distribution of states at a given program point. Instead, one can attempt to derive approximations, such as upper bounds ...
- research-articleJune 2021
Trace-based control-flow analysis
PLDI 2021: Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and ImplementationPages 482–496https://doi.org/10.1145/3453483.3454057We define a small-step semantics for the untyped λ-calculus, that traces the β-reductions that occur during evaluation. By abstracting the computation traces, we reconstruct k-CFA using abstract interpretation, and justify constraint-based k-CFA in a ...
Fast and precise certification of transformers
PLDI 2021: Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and ImplementationPages 466–481https://doi.org/10.1145/3453483.3454056We present DeepT, a novel method for certifying Transformer networks based on abstract interpretation. The key idea behind DeepT is our new Multi-norm Zonotope abstract domain, an extension of the classical Zonotope designed to handle ℓ1 and ℓ2-norm ...
Beyond the elementary representations of program invariants over algebraic data types
PLDI 2021: Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and ImplementationPages 451–465https://doi.org/10.1145/3453483.3454055First-order logic is a natural way of expressing properties of computation. It is traditionally used in various program logics for expressing the correctness properties and certificates. Although such representations are expressive for some theories, ...
- research-articleJune 2021
Learning to find naming issues with big code and small supervision
PLDI 2021: Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and ImplementationPages 296–311https://doi.org/10.1145/3453483.3454045We introduce a new approach for finding and fixing naming issues in source code. The method is based on a careful combination of unsupervised and supervised procedures: (i) unsupervised mining of patterns from Big Code that express common naming idioms. ...
- research-articleJune 2021
Demanded abstract interpretation
PLDI 2021: Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and ImplementationPages 282–295https://doi.org/10.1145/3453483.3454044We consider the problem of making expressive static analyzers interactive. Formal static analysis is seeing increasingly widespread adoption as a tool for verification and bug-finding, but even with powerful cloud infrastructure it can take minutes or ...
- research-articleJune 2021
Alive2: bounded translation validation for LLVM
PLDI 2021: Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and ImplementationPages 65–79https://doi.org/10.1145/3453483.3454030We designed, implemented, and deployed Alive2: a bounded translation validation tool for the LLVM compiler’s intermediate representation (IR). It limits resource consumption by, for example, unrolling loops up to some bound, which means there are ...
Gleipnir: toward practical error analysis for Quantum programs
PLDI 2021: Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and ImplementationPages 48–64https://doi.org/10.1145/3453483.3454029Practical error analysis is essential for the design, optimization, and evaluation of Noisy Intermediate-Scale Quantum(NISQ) computing. However, bounding errors in quantum programs is a grand challenge, because the effects of quantum errors depend on ...