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
Reticle: a virtual machine for programming modern FPGAs
PLDI 2021: Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and ImplementationPages 756–771https://doi.org/10.1145/3453483.3454075Modern field-programmable gate arrays (FPGAs) have recently powered high-profile efficiency gains in systems from datacenters to embedded devices by offering ensembles of heterogeneous, reconfigurable hardware units. Programming stacks for FPGAs, ...
- research-articleJune 2021
Proof repair across type equivalences
PLDI 2021: Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and ImplementationPages 112–127https://doi.org/10.1145/3453483.3454033We describe a new approach to automatically repairing broken proofs in the Coq proof assistant in response to changes in types. Our approach combines a configurable proof term transformation with a decompiler from proof terms to suggested tactic ...
Synthesizing structured CAD models with equality saturation and inverse transformations
- Chandrakana Nandi,
- Max Willsey,
- Adam Anderson,
- James R. Wilcox,
- Eva Darulova,
- Dan Grossman,
- Zachary Tatlock
PLDI 2020: Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and ImplementationPages 31–44https://doi.org/10.1145/3385412.3386012Recent program synthesis techniques help users customize CAD models(e.g., for 3D printing) by decompiling low-level triangle meshes to Constructive Solid Geometry (CSG) expressions. Without loops or functions, editing CSG can require many coordinated ...
- research-articleJune 2017
Debugging probabilistic programs
MAPL 2017: Proceedings of the 1st ACM SIGPLAN International Workshop on Machine Learning and Programming LanguagesPages 18–26https://doi.org/10.1145/3088525.3088564Many applications compute with estimated and uncertain data. While advances in probabilistic programming help developers build such applications, debugging them remains extremely challenging. New types of errors in probabilistic programs include 1) ...
- research-articleJune 2016
Verified peephole optimizations for CompCert
PLDI '16: Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and ImplementationPages 448–461https://doi.org/10.1145/2908080.2908109Transformations over assembly code are common in many compilers. These transformations are also some of the most bug-dense compiler components. Such bugs could be elim- inated by formally verifying the compiler, but state-of-the- art formally verified ...
Also Published in:
ACM SIGPLAN Notices: Volume 51 Issue 6 - research-articleJune 2014
Test-driven synthesis
PLDI '14: Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and ImplementationPages 408–418https://doi.org/10.1145/2594291.2594297Programming-by-example technologies empower end-users to create simple programs merely by providing input/output examples. Existing systems are designed around solvers specialized for a specific set of data types or domain-specific language (DSL). We ...
Also Published in:
ACM SIGPLAN Notices: Volume 49 Issue 6 - research-articleJune 2014
Expressing and verifying probabilistic assertions
PLDI '14: Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and ImplementationPages 112–122https://doi.org/10.1145/2594291.2594294Traditional assertions express correctness properties that must hold on every program execution. However, many applications have probabilistic outcomes and consequently their correctness properties are also probabilistic (e.g., they identify faces in ...
Also Published in:
ACM SIGPLAN Notices: Volume 49 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 - research-articleJune 2012
Type-directed completion of partial expressions
PLDI '12: Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and ImplementationPages 275–286https://doi.org/10.1145/2254064.2254098Modern programming frameworks provide enormous libraries arranged in complex structures, so much so that a large part of modern programming is searching for APIs that surely exist" somewhere in an unfamiliar part of the framework. We present a novel way ...
Also Published in:
ACM SIGPLAN Notices: Volume 47 Issue 6 - research-articleJune 2011
EnerJ: approximate data types for safe and general low-power computation
PLDI '11: Proceedings of the 32nd ACM SIGPLAN Conference on Programming Language Design and ImplementationPages 164–174https://doi.org/10.1145/1993498.1993518Energy is increasingly a first-order concern in computer systems. Exploiting energy-accuracy trade-offs is an attractive choice in applications that can tolerate inaccuracies. Recent work has explored exposing this trade-off in programming models. A key ...
Also Published in:
ACM SIGPLAN Notices: Volume 46 Issue 6 - research-articleJune 2010
Language support for extensible web browsers
APLWACA '10: Proceedings of the 2010 Workshop on Analysis and Programming Languages for Web Applications and Cloud ApplicationsPages 39–43https://doi.org/10.1145/1810139.1810146Web browsers are sophisticated and crucial programs, and millions of users extend their browsers to customize their browsing experience. In this paper we argue the position that such extensions themselves constitute an important facet of web ...
- ArticleJune 2007
Searching for type-error messages
PLDI '07: Proceedings of the 28th ACM SIGPLAN Conference on Programming Language Design and ImplementationPages 425–434https://doi.org/10.1145/1250734.1250783Advanced type systems often need some form of type inference to reduce the burden of explicit typing, but type inference often leads to poor error messages for ill-typed programs. This work pursues a new approach to constructing compilers and presenting ...
Also Published in:
ACM SIGPLAN Notices: Volume 42 Issue 6 - ArticleJune 2007
Enforcing isolation and ordering in STM
- Tatiana Shpeisman,
- Vijay Menon,
- Ali-Reza Adl-Tabatabai,
- Steven Balensiefer,
- Dan Grossman,
- Richard L. Hudson,
- Katherine F. Moore,
- Bratin Saha
PLDI '07: Proceedings of the 28th ACM SIGPLAN Conference on Programming Language Design and ImplementationPages 78–88https://doi.org/10.1145/1250734.1250744Transactional memory provides a new concurrency control mechanism that avoids many of the pitfalls of lock-based synchronization. High-performance software transactional memory (STM) implementations thus far provide weak atomicity: Accessing shared data ...
Also Published in:
ACM SIGPLAN Notices: Volume 42 Issue 6 - ArticleMay 2002
Region-based memory management in cyclone
PLDI '02: Proceedings of the ACM SIGPLAN 2002 conference on Programming language design and implementationPages 282–293https://doi.org/10.1145/512529.512563Cyclone is a type-safe programming language derived from C. The primary design goal of Cyclone is to let programmers control data representation and memory management without sacrificing type-safety. In this paper, we focus on the region-based memory ...
Also Published in:
ACM SIGPLAN Notices: Volume 37 Issue 5