Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
Sound regular expression semantics for dynamic symbolic execution of JavaScript
PLDI 2019: Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and ImplementationPages 425–438https://doi.org/10.1145/3314221.3314645Support for regular expressions in symbolic execution-based tools for test generation and bug finding is insufficient. Common aspects of mainstream regular expression engines, such as backreferences or greedy matching, are ignored or imprecisely ...
- research-articleJune 2019
Learning stateful preconditions modulo a test generator
PLDI 2019: Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and ImplementationPages 775–787https://doi.org/10.1145/3314221.3314641In this paper, we present a novel learning framework for inferring stateful preconditions (i.e., preconditions constraining not only primitive-type inputs but also non-primitive-type object states) modulo a test generator, where the quality of the ...
SLING: using dynamic analysis to infer program invariants in separation logic
PLDI 2019: Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and ImplementationPages 788–801https://doi.org/10.1145/3314221.3314634We introduce a new dynamic analysis technique to discover invariants in separation logic for heap-manipulating programs. First, we use a debugger to obtain rich program execution traces at locations of interest on sample inputs. These traces consist of ...
Promising-ARM/RISC-V: a simpler and faster operational concurrency model
PLDI 2019: Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and ImplementationPages 1–15https://doi.org/10.1145/3314221.3314624For ARMv8 and RISC-V, there are concurrency models in two styles, extensionally equivalent: axiomatic models, expressing the concurrency semantics in terms of global properties of complete executions; and operational models, that compute incrementally. ...
Incremental precision-preserving symbolic inference for probabilistic programs
PLDI 2019: Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and ImplementationPages 237–252https://doi.org/10.1145/3314221.3314623We present ISymb an incremental symbolic inference framework for probabilistic programs in situations when some loop-manipulated array data, upon which their probabilistic models are conditioned, undergoes small changes. To tackle the path explosion ...
Verified compilation on a verified processor
- Andreas Lööw,
- Ramana Kumar,
- Yong Kiam Tan,
- Magnus O. Myreen,
- Michael Norrish,
- Oskar Abrahamsson,
- Anthony Fox
PLDI 2019: Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and ImplementationPages 1041–1053https://doi.org/10.1145/3314221.3314622Developing technology for building verified stacks, i.e., computer systems with comprehensive proofs of correctness, is one way the science of programming languages furthers the computing discipline. While there have been successful projects verifying ...
Continuously reasoning about programs using differential Bayesian inference
PLDI 2019: Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and ImplementationPages 561–575https://doi.org/10.1145/3314221.3314616Programs often evolve by continuously integrating changes from multiple programmers. The effective adoption of program analysis tools in this continuous integration setting is hindered by the need to only report alarms relevant to a particular program ...
Robustness against release/acquire semantics
PLDI 2019: Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and ImplementationPages 126–141https://doi.org/10.1145/3314221.3314604We present an algorithm for automatically checking robustness of concurrent programs against C/C++11 release/acquire semantics, namely verifying that all program behaviors under release/acquire are allowed by sequential consistency. Our approach reduces ...
Towards certified separate compilation for concurrent programs
PLDI 2019: Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and ImplementationPages 111–125https://doi.org/10.1145/3314221.3314595Certified separate compilation is important for establishing end-to-end guarantees for certified systems consisting of multiple program modules. There has been much work building certified compilers for sequential programs. In this paper, we propose a ...
Simple and precise static analysis of untrusted Linux kernel extensions
- Elazar Gershuni,
- Nadav Amit,
- Arie Gurfinkel,
- Nina Narodytska,
- Jorge A. Navas,
- Noam Rinetzky,
- Leonid Ryzhyk,
- Mooly Sagiv
PLDI 2019: Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and ImplementationPages 1069–1084https://doi.org/10.1145/3314221.3314590Extended Berkeley Packet Filter (eBPF) is a Linux subsystem that allows safely executing untrusted user-defined extensions inside the kernel. It relies on static analysis to protect the kernel against buggy and malicious extensions. As the eBPF ...