Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- articleApril 2020
Verification of high-level transformations with inductive refinement types
ACM SIGPLAN Notices (SIGPLAN), Volume 53, Issue 9Pages 147–160https://doi.org/10.1145/3393934.3278125High-level transformation languages like Rascal include expressive features for manipulating large abstract syntax trees: first-class traversals, expressive pattern matching, backtracking and generalized iterators. We present the design and ...
Also Published in:
GPCE 2018: Proceedings of the 17th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences: ISBN 9781450360456 PMAF: an algebraic framework for static analysis of probabilistic programs
ACM SIGPLAN Notices (SIGPLAN), Volume 53, Issue 4Pages 513–528https://doi.org/10.1145/3296979.3192408Automatically establishing that a probabilistic program satisfies some property ϕ is a challenging problem. While a sampling-based approach—which involves running the program repeatedly—can suggest that ϕ holds, to establish that the program satisfies ϕ,...
Also Published in:
PLDI 2018: Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation: ISBN 9781450356985- research-articleJune 2018
Search, align, and repair: data-driven feedback generation for introductory programming exercises
ACM SIGPLAN Notices (SIGPLAN), Volume 53, Issue 4Pages 481–495https://doi.org/10.1145/3296979.3192384This paper introduces the “Search, Align, and Repair” data-driven program repair framework to automate feedback generation for introductory programming exercises. Distinct from existing techniques, our goal is to develop an efficient, fully automated, ...
Also Published in:
PLDI 2018: Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation: ISBN 9781450356985 - research-articleJune 2018
Active learning of points-to specifications
ACM SIGPLAN Notices (SIGPLAN), Volume 53, Issue 4Pages 678–692https://doi.org/10.1145/3296979.3192383When analyzing programs, large libraries pose significant challenges to static points-to analysis. A popular solution is to have a human analyst provide points-to specifications that summarize relevant behaviors of library code, which can substantially ...
Also Published in:
PLDI 2018: Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation: ISBN 9781450356985 - research-articleJune 2018
Program synthesis using conflict-driven learning
ACM SIGPLAN Notices (SIGPLAN), Volume 53, Issue 4Pages 420–435https://doi.org/10.1145/3296979.3192382We propose a new conflict-driven program synthesis technique that is capable of learning from past mistakes. Given a spurious program that violates the desired specification, our synthesis algorithm identifies the root cause of the conflict and learns ...
Also Published in:
PLDI 2018: Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation: ISBN 9781450356985 -
- research-articleJune 2018
CURD: a dynamic CUDA race detector
ACM SIGPLAN Notices (SIGPLAN), Volume 53, Issue 4Pages 390–403https://doi.org/10.1145/3296979.3192368As GPUs have become an integral part of nearly every pro- cessor, GPU programming has become increasingly popular. GPU programming requires a combination of extreme levels of parallelism and low-level programming, making it easy for concurrency bugs ...
Also Published in:
PLDI 2018: Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation: ISBN 9781450356985 - research-articleMarch 2018
Optimistic Hybrid Analysis: Accelerating Dynamic Analysis through Predicated Static Analysis
ACM SIGPLAN Notices (SIGPLAN), Volume 53, Issue 2Pages 348–362https://doi.org/10.1145/3296957.3177153Dynamic analysis tools, such as those that detect data-races, verify memory safety, and identify information flow, have become a vital part of testing and debugging complex software systems. While these tools are powerful, their slow speed often limits ...
Also Published in:
ASPLOS '18: Proceedings of the Twenty-Third International Conference on Architectural Support for Programming Languages and Operating Systems: ISBN 9781450349116 - research-articleMarch 2018
Static Detection of Event-based Races in Android Apps
ACM SIGPLAN Notices (SIGPLAN), Volume 53, Issue 2Pages 257–270https://doi.org/10.1145/3296957.3173173Event-based races are the main source of concurrency errors in Android apps. Prior approaches for scalable detection of event-based races have been dynamic. Due to their dynamic nature, these approaches suffer from coverage and false negative issues. We ...
Also Published in:
ASPLOS '18: Proceedings of the Twenty-Third International Conference on Architectural Support for Programming Languages and Operating Systems: ISBN 9781450349116 - posterFebruary 2018
Revealing parallel scans and reductions in sequential loops through function reconstruction
ACM SIGPLAN Notices (SIGPLAN), Volume 53, Issue 1Pages 395–396https://doi.org/10.1145/3200691.3178523Many sequential loops are actually scans or reductions and can be parallelized across iterations despite the loop-carried dependences. In this work, we consider the parallelization of such scan/reduction loops, and propose a practical runtime approach ...
Also Published in:
PPoPP '18: Proceedings of the 23rd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming: ISBN 9781450349826 - articleSeptember 2017
Ornaments: exploiting parametricity for safer, more automated code refactorization and code reuse (invited talk)
ACM SIGPLAN Notices (SIGPLAN), Volume 52, Issue 10Page 1https://doi.org/10.1145/3156695.3127333Inductive datatypes and parametric polymorphism are two key features introduced in the ML family of languages, which have already been widely exploited for structuring programs: Haskell and ML programs are often more elegant and more correct by ...
Also Published in:
Haskell 2017: Proceedings of the 10th ACM SIGPLAN International Symposium on Haskell: ISBN 9781450351829 - articleSeptember 2017
Speculate: discovering conditional equations and inequalities about black-box functions by reasoning from test results
ACM SIGPLAN Notices (SIGPLAN), Volume 52, Issue 10Pages 40–51https://doi.org/10.1145/3156695.3122961This paper presents Speculate, a tool that automatically conjectures laws involving conditional equations and inequalities about Haskell functions. Speculate enumerates expressions involving a given collection of Haskell functions, testing to separate ...
Also Published in:
Haskell 2017: Proceedings of the 10th ACM SIGPLAN International Symposium on Haskell: ISBN 9781450351829 - articleSeptember 2017
Packrats parse in packs
ACM SIGPLAN Notices (SIGPLAN), Volume 52, Issue 10Pages 14–25https://doi.org/10.1145/3156695.3122958We present a novel but remarkably simple formulation of formal language grammars in Haskell as functions mapping a record of pro- duction parsers to itself. Thus formulated grammars are first-class objects, composable and reusable. We also provide a ...
Also Published in:
Haskell 2017: Proceedings of the 10th ACM SIGPLAN International Symposium on Haskell: ISBN 9781450351829 - articleJune 2017
Shadow state encoding for efficient monitoring of block-level properties
ACM SIGPLAN Notices (SIGPLAN), Volume 52, Issue 9Pages 47–58https://doi.org/10.1145/3156685.3092269Memory shadowing associates addresses from an application's memory to values stored in a disjoint memory space called shadow memory. At runtime shadow values store metadata about application memory locations they are mapped to. Shadow state encodings --...
Also Published in:
ISMM 2017: Proceedings of the 2017 ACM SIGPLAN International Symposium on Memory Management: ISBN 9781450350440 - articleJune 2017
"What's in a name?" going beyond allocation site names in heap analysis
ACM SIGPLAN Notices (SIGPLAN), Volume 52, Issue 9Pages 92–103https://doi.org/10.1145/3156685.3092267A points-to analysis computes a sound abstraction of heap memory conventionally using a name-based abstraction that summarizes runtime memory by grouping locations using the names of allocation sites: All concrete heap locations allocated by the same ...
Also Published in:
ISMM 2017: Proceedings of the 2017 ACM SIGPLAN International Symposium on Memory Management: ISBN 9781450350440 - articleJune 2017
Similarity of binaries through re-optimization
ACM SIGPLAN Notices (SIGPLAN), Volume 52, Issue 6Pages 79–94https://doi.org/10.1145/3140587.3062387We present a scalable approach for establishing similarity between stripped binaries (with no debug information). The main challenge in binary similarity, is to establish similarity even when the code has been compiled using different compilers, with ...
Also Published in:
PLDI 2017: Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation: ISBN 9781450349888 - articleJune 2017
Decomposition instead of self-composition for proving the absence of timing channels
ACM SIGPLAN Notices (SIGPLAN), Volume 52, Issue 6Pages 362–375https://doi.org/10.1145/3140587.3062378We present a novel approach to proving the absence of timing channels. The idea is to partition the program's execution traces in such a way that each partition component is checked for timing attack resilience by a time complexity analysis and that per-...
Also Published in:
PLDI 2017: Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation: ISBN 9781450349888 - articleJune 2017
Compositional recurrence analysis revisited
ACM SIGPLAN Notices (SIGPLAN), Volume 52, Issue 6Pages 248–262https://doi.org/10.1145/3140587.3062373Compositional recurrence analysis (CRA) is a static-analysis method based on a combination of symbolic analysis and abstract interpretation. This paper addresses the problem of creating a context-sensitive interprocedural version of CRA that handles ...
Also Published in:
PLDI 2017: Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation: ISBN 9781450349888 - articleJune 2017
Fusing effectful comprehensions
ACM SIGPLAN Notices (SIGPLAN), Volume 52, Issue 6Pages 17–32https://doi.org/10.1145/3140587.3062362List comprehensions provide a powerful abstraction mechanism for expressing computations over ordered collections of data declaratively without having to use explicit iteration constructs. This paper puts forth effectful comprehensions as an elegant way ...
Also Published in:
PLDI 2017: Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation: ISBN 9781450349888 - articleJune 2017
Efficient and precise points-to analysis: modeling the heap by merging equivalent automata
ACM SIGPLAN Notices (SIGPLAN), Volume 52, Issue 6Pages 278–291https://doi.org/10.1145/3140587.3062360Mainstream points-to analysis techniques for object-oriented languages rely predominantly on the allocation-site abstraction to model heap objects. We present MAHJONG, a novel heap abstraction that is specifically developed to address the needs of an ...
Also Published in:
PLDI 2017: Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation: ISBN 9781450349888 - articleJune 2017
Context transformations for pointer analysis
ACM SIGPLAN Notices (SIGPLAN), Volume 52, Issue 6Pages 263–277https://doi.org/10.1145/3140587.3062359Points-to analysis for Java benefits greatly from context sensitivity. CFL-reachability and k-limited context strings are two approaches to obtaining context sensitivity with different advantages: CFL-reachability allows local reasoning about data-value ...
Also Published in:
PLDI 2017: Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation: ISBN 9781450349888