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
Regenerate: a language generator for extended regular expressions
ACM SIGPLAN Notices (SIGPLAN), Volume 53, Issue 9Pages 202–214https://doi.org/10.1145/3393934.3278133Regular expressions are part of every programmer’s toolbox. They are used for a wide variety of language-related tasks and there are many algorithms for manipulating them. In particular, matching algorithms that detect whether a word belongs to the ...
Also Published in:
GPCE 2018: Proceedings of the 17th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences: ISBN 9781450360456 - articleApril 2020
Measuring effectiveness of sample-based product-line testing
ACM SIGPLAN Notices (SIGPLAN), Volume 53, Issue 9Pages 119–133https://doi.org/10.1145/3393934.3278130Recent research on quality assurance (QA) of configurable software systems (e.g., software product lines) proposes different analysis strategies to cope with the inherent complexity caused by the well-known combinatorial-explosion problem. Those ...
Also Published in:
GPCE 2018: Proceedings of the 17th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences: ISBN 9781450360456 - articleApril 2020
Inferring ownership domains from refinements
Ownership type qualifiers clarify aliasing invariants that cannot be directly expressed in mainstream programming languages. Adding qualifiers to code, however, often involves significant overhead and difficult interaction.
We propose an analysis to ...
Also Published in:
GPCE 2018: Proceedings of the 17th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences: ISBN 9781450360456 - articleApril 2020
Exploring feature interactions without specifications: a controlled experiment
In highly configurable systems, features may interact unexpectedly and produce faulty behavior. Those faults are not easily identified from the analysis of each feature separately, especially when feature specifications are missing. We propose ...
Also Published in:
GPCE 2018: Proceedings of the 17th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences: ISBN 9781450360456 - articleApril 2020
Anomaly analyses for feature-model evolution
ACM SIGPLAN Notices (SIGPLAN), Volume 53, Issue 9Pages 188–201https://doi.org/10.1145/3393934.3278123Software Product Lines (SPLs) are a common technique to capture families of software products in terms of commonalities and variabilities. On a conceptual level, functionality of an SPL is modeled in terms of features in Feature Models (FMs). As other ...
Also Published in:
GPCE 2018: Proceedings of the 17th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences: ISBN 9781450360456 -
- articleSeptember 2018
Suggesting valid hole fits for typed-holes (experience report)
ACM SIGPLAN Notices (SIGPLAN), Volume 53, Issue 7Pages 179–185https://doi.org/10.1145/3299711.3242760Type systems allow programmers to communicate a partial specification of their program to the compiler using types, which can then be used to check that the implementation matches the specification. But can the types be used to aid programmers during ...
Also Published in:
Haskell 2018: Proceedings of the 11th ACM SIGPLAN International Symposium on Haskell: ISBN 9781450358354 - articleSeptember 2018
Ghosts of departed proofs (functional pearl)
ACM SIGPLAN Notices (SIGPLAN), Volume 53, Issue 7Pages 119–131https://doi.org/10.1145/3299711.3242755Library authors often are faced with a design choice: should a function with preconditions be implemented as a partial function, or by returning a failure condition on incorrect use? Neither option is ideal. Partial functions lead to frustrating run-...
Also Published in:
Haskell 2018: Proceedings of the 11th ACM SIGPLAN International Symposium on Haskell: ISBN 9781450358354 - articleSeptember 2018
A promise checked is a promise kept: inspection testing
Occasionally, developers need to ensure that the compiler treats their code in a specific way that is only visible by inspecting intermediate or final compilation artifacts. This is particularly common with carefully crafted compositional libraries, ...
Also Published in:
Haskell 2018: Proceedings of the 11th ACM SIGPLAN International Symposium on Haskell: ISBN 9781450358354 - articleSeptember 2018
Branching processes for QuickCheck generators
In QuickCheck (or, more generally, random testing), it is challenging to control random data generators' distributions---specially when it comes to user-defined algebraic data types (ADT). In this paper, we adapt results from an area of mathematics ...
Also Published in:
Haskell 2018: Proceedings of the 11th ACM SIGPLAN International Symposium on Haskell: ISBN 9781450358354 - articleJune 2018
Statically relating program properties for efficient verification (short WIP paper)
ACM SIGPLAN Notices (SIGPLAN), Volume 53, Issue 6Pages 99–103https://doi.org/10.1145/3299710.3211341Efficient automatic verification of real world embedded software with numerous properties is a challenge. Existing techniques verify a sufficient subset of properties by identifying implication relations between their verification outcomes. We believe ...
Also Published in:
LCTES 2018: Proceedings of the 19th ACM SIGPLAN/SIGBED International Conference on Languages, Compilers, and Tools for Embedded Systems: ISBN 9781450358033 Pinpoint: fast and precise sparse value flow analysis for million lines of code
ACM SIGPLAN Notices (SIGPLAN), Volume 53, Issue 4Pages 693–706https://doi.org/10.1145/3296979.3192418When dealing with millions of lines of code, we still cannot have the cake and eat it: sparse value-flow analysis is powerful in checking source-sink problems, but existing work cannot escape from the “pointer trap” – a precise points-to analysis limits ...
Also Published in:
PLDI 2018: Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation: ISBN 9781450356985A data-driven CHC solver
ACM SIGPLAN Notices (SIGPLAN), Volume 53, Issue 4Pages 707–721https://doi.org/10.1145/3296979.3192416We present a data-driven technique to solve Constrained Horn Clauses (CHCs) that encode verification conditions of programs containing unconstrained loops and recursions. Our CHC solver neither constrains the search space from which a predicate's ...
Also Published in:
PLDI 2018: Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation: ISBN 9781450356985Static serializability analysis for causal consistency
ACM SIGPLAN Notices (SIGPLAN), Volume 53, Issue 4Pages 90–104https://doi.org/10.1145/3296979.3192415Many distributed databases provide only weak consistency guarantees to reduce synchronization overhead and remain available under network partitions. However, this leads to behaviors not possible under stronger guarantees. Such behaviors can easily defy ...
Also Published in:
PLDI 2018: Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation: ISBN 9781450356985Modularity for decidability of deductive verification with applications to distributed systems
- Marcelo Taube,
- Giuliano Losa,
- Kenneth L. McMillan,
- Oded Padon,
- Mooly Sagiv,
- Sharon Shoham,
- James R. Wilcox,
- Doug Woos
ACM SIGPLAN Notices (SIGPLAN), Volume 53, Issue 4Pages 662–677https://doi.org/10.1145/3296979.3192414Proof automation can substantially increase productivity in formal verification of complex systems. However, unpredictablility of automated provers in handling quantified formulas presents a major hurdle to usability of these tools. We propose to solve ...
Also Published in:
PLDI 2018: Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation: ISBN 9781450356985- research-articleJune 2018
A general path-based representation for predicting program properties
ACM SIGPLAN Notices (SIGPLAN), Volume 53, Issue 4Pages 404–419https://doi.org/10.1145/3296979.3192412Predicting program properties such as names or expression types has a wide range of applications. It can ease the task of programming, and increase programmer productivity. A major challenge when learning from programs is how to represent programs in a ...
Also Published in:
PLDI 2018: Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation: ISBN 9781450356985 VeriPhy: verified controller executables from verified cyber-physical system models
ACM SIGPLAN Notices (SIGPLAN), Volume 53, Issue 4Pages 617–630https://doi.org/10.1145/3296979.3192406We present VeriPhy, a verified pipeline which automatically transforms verified high-level models of safety-critical cyber-physical systems (CPSs) in differential dynamic logic (dL) to verified controller executables. VeriPhy proves that all safety ...
Also Published in:
PLDI 2018: Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation: ISBN 9781450356985- research-articleJune 2018
Advanced automata-based algorithms for program termination checking
ACM SIGPLAN Notices (SIGPLAN), Volume 53, Issue 4Pages 135–150https://doi.org/10.1145/3296979.3192405In 2014, Heizmann et al. proposed a novel framework for program termination analysis. The analysis starts with a termination proof of a sample path. The path is generalized to a Büchi automaton (BA) whose language (by construction) represents a set of ...
Also Published in:
PLDI 2018: Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation: ISBN 9781450356985 - research-articleJune 2018
On-stack replacement, distilled
ACM SIGPLAN Notices (SIGPLAN), Volume 53, Issue 4Pages 166–180https://doi.org/10.1145/3296979.3192396On-stack replacement (OSR) is essential technology for adaptive optimization, allowing changes to code actively executing in a managed runtime. The engineering aspects of OSR are well-known among VM architects, with several implementations available to ...
Also Published in:
PLDI 2018: Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation: ISBN 9781450356985 - research-articleJune 2018
D4: fast concurrency debugging with parallel differential analysis
ACM SIGPLAN Notices (SIGPLAN), Volume 53, Issue 4Pages 359–373https://doi.org/10.1145/3296979.3192390We present D4, a fast concurrency analysis framework that detects concurrency bugs (e.g., data races and deadlocks) interactively in the programming phase. As developers add, modify, and remove statements, the code changes are sent to D4 to detect ...
Also Published in:
PLDI 2018: Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation: ISBN 9781450356985 - research-articleJune 2018
EffectiveSan: type and memory error detection using dynamically typed C/C++
ACM SIGPLAN Notices (SIGPLAN), Volume 53, Issue 4Pages 181–195https://doi.org/10.1145/3296979.3192388Low-level programming languages with weak/static type systems, such as C and C++, are vulnerable to errors relating to the misuse of memory at runtime, such as (sub-)object bounds overflows, (re)use-after-free, and type confusion. Such errors account ...
Also Published in:
PLDI 2018: Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation: ISBN 9781450356985