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-articleOctober 2016
Directed synthesis of failing concurrent executions
OOPSLA 2016: Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and ApplicationsPages 430–446https://doi.org/10.1145/2983990.2984040Detecting concurrency-induced bugs in multithreaded libraries can be challenging due to the intricacies associated with their manifestation. This includes invocation of multiple methods, synthesis of inputs to the methods to reach the failing location, ...
Also Published in:
ACM SIGPLAN Notices: Volume 51 Issue 10 - research-articleOctober 2016
Finding compiler bugs via live code mutation
OOPSLA 2016: Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and ApplicationsPages 849–863https://doi.org/10.1145/2983990.2984038Validating optimizing compilers is challenging because it is hard to generate valid test programs (i.e., those that do not expose any undefined behavior). Equivalence Modulo Inputs (EMI) is an effective, promising methodology to tackle this problem. ...
Also Published in:
ACM SIGPLAN Notices: Volume 51 Issue 10 - research-articleOctober 2016
Stateless model checking with data-race preemption points
OOPSLA 2016: Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and ApplicationsPages 477–493https://doi.org/10.1145/2983990.2984036Stateless model checking is a powerful technique for testing concurrent programs, but suffers from exponential state space explosion when the test input parameters are too large. Several reduction techniques can mitigate this explosion, but even after ...
Also Published in:
ACM SIGPLAN Notices: Volume 51 Issue 10 - research-articleOctober 2016
Apex: automatic programming assignment error explanation
- Dohyeong Kim,
- Yonghwi Kwon,
- Peng Liu,
- I. Luk Kim,
- David Mitchel Perry,
- Xiangyu Zhang,
- Gustavo Rodriguez-Rivera
OOPSLA 2016: Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and ApplicationsPages 311–327https://doi.org/10.1145/2983990.2984031This paper presents Apex, a system that can automatically generate explanations for programming assignment bugs, regarding where the bugs are and how the root causes led to the runtime failures. It works by comparing the passing execution of a correct ...
Also Published in:
ACM SIGPLAN Notices: Volume 51 Issue 10 - research-articleOctober 2016Distinguished Paper
Semantics-based program verifiers for all languages
OOPSLA 2016: Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and ApplicationsPages 74–91https://doi.org/10.1145/2983990.2984027We present a language-independent verification framework that can be instantiated with an operational semantics to automatically generate a program verifier. The framework treats both the operational semantics and the program correctness specifications ...
Also Published in:
ACM SIGPLAN Notices: Volume 51 Issue 10 - research-articleOctober 2016
Maximal causality reduction for TSO and PSO
OOPSLA 2016: Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and ApplicationsPages 447–461https://doi.org/10.1145/2983990.2984025Verifying concurrent programs is challenging due to the exponentially large thread interleaving space. The problem is exacerbated by relaxed memory models such as Total Store Order (TSO) and Partial Store Order (PSO) which further explode the ...
Also Published in:
ACM SIGPLAN Notices: Volume 51 Issue 10 - research-articleOctober 2016
Precise and maximal race detection from incomplete traces
OOPSLA 2016: Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and ApplicationsPages 462–476https://doi.org/10.1145/2983990.2984024We present RDIT, a novel dynamic technique to detect data races in multithreaded programs with incomplete trace information, i.e., in the presence of missing events. RDIT is both precise and maximal: it does not report any false alarms and it detects a ...
Also Published in:
ACM SIGPLAN Notices: Volume 51 Issue 10 - research-articleOctober 2016
Accelerating program analyses by cross-program training
OOPSLA 2016: Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and ApplicationsPages 359–377https://doi.org/10.1145/2983990.2984023Practical programs share large modules of code. However, many program analyses are ineffective at reusing analysis results for shared code across programs. We present POLYMER, an analysis optimizer to address this problem. POLYMER runs the analysis ...
Also Published in:
ACM SIGPLAN Notices: Volume 51 Issue 10 - research-articleOctober 2016
Extensible access control with authorization contracts
OOPSLA 2016: Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and ApplicationsPages 214–233https://doi.org/10.1145/2983990.2984021Existing programming language access control frameworks do not meet the needs of all software components. We propose an expressive framework for implementing access control monitors for components. The basis of the framework is a novel concept: the ...
Also Published in:
ACM SIGPLAN Notices: Volume 51 Issue 10 - research-articleOctober 2016
Purposes, concepts, misfits, and a redesign of git
OOPSLA 2016: Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and ApplicationsPages 292–310https://doi.org/10.1145/2983990.2984018Git is a widely used version control system that is powerful but complicated. Its complexity may not be an inevitable consequence of its power but rather evidence of flaws in its design. To explore this hypothesis, we analyzed the design of Git using a ...
Also Published in:
ACM SIGPLAN Notices: Volume 51 Issue 10 - research-articleOctober 2016
Dependent partitioning
OOPSLA 2016: Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and ApplicationsPages 344–358https://doi.org/10.1145/2983990.2984016A key problem in parallel programming is how data is partitioned: divided into subsets that can be operated on in parallel and, in distributed memory machines, spread across multiple address spaces.
We present a dependent partitioning framework that ...
Also Published in:
ACM SIGPLAN Notices: Volume 51 Issue 10 - research-articleOctober 2016
To be precise: regression aware debugging
OOPSLA 2016: Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and ApplicationsPages 897–915https://doi.org/10.1145/2983990.2984014Bounded model checking based debugging solutions search for mutations of program expressions that produce the expected output for a currently failing test. However, the current localization tools are not regression aware: they do not use information ...
Also Published in:
ACM SIGPLAN Notices: Volume 51 Issue 10 - research-articleOctober 2016
Scalable verification of border gateway protocol configurations with an SMT solver
OOPSLA 2016: Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and ApplicationsPages 765–780https://doi.org/10.1145/2983990.2984012Internet Service Providers (ISPs) use the Border Gateway Protocol (BGP) to announce and exchange routes for de- livering packets through the internet. ISPs must carefully configure their BGP routers to ensure traffic is routed reli- ably and securely. ...
Also Published in:
ACM SIGPLAN Notices: Volume 51 Issue 10 - research-articleOctober 2016
Finding resume and restart errors in Android applications
OOPSLA 2016: Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and ApplicationsPages 864–880https://doi.org/10.1145/2983990.2984011Smartphone apps create and handle a large variety of ``instance'' data that has to persist across runs, such as the current navigation route, workout results, antivirus settings, or game state. Due to the nature of the smartphone platform, an app can ...
Also Published in:
ACM SIGPLAN Notices: Volume 51 Issue 10 - research-articleOctober 2016
Low-overhead and fully automated statistical debugging with abstraction refinement
OOPSLA 2016: Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and ApplicationsPages 881–896https://doi.org/10.1145/2983990.2984005Cooperative statistical debugging is an effective approach for diagnosing production-run failures. To quickly identify failure predictors from the huge program predicate space, existing techniques rely on random or heuristics-guided predicate sampling ...
Also Published in:
ACM SIGPLAN Notices: Volume 51 Issue 10 - research-articleOctober 2016Distinguished Paper
Asserting reliable convergence for configuration management scripts
OOPSLA 2016: Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and ApplicationsPages 328–343https://doi.org/10.1145/2983990.2984000The rise of elastically scaling applications that frequently deploy new machines has led to the adoption of DevOps practices across the cloud engineering stack. So-called configuration management tools utilize scripts that are based on declarative ...
Also Published in:
ACM SIGPLAN Notices: Volume 51 Issue 10 - research-articleOctober 2016
Dynamically diagnosing type errors in unsafe code
OOPSLA 2016: Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and ApplicationsPages 800–819https://doi.org/10.1145/2983990.2983998Existing approaches for detecting type errors in unsafe languages are limited. Static analysis methods are imprecise, and often require source-level changes, while most dynamic methods check only memory properties (bounds, liveness, etc.), owing to a ...
Also Published in:
ACM SIGPLAN Notices: Volume 51 Issue 10 - research-articleOctober 2016
The missing link: explaining ELF static linking, semantically
OOPSLA 2016: Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and ApplicationsPages 607–623https://doi.org/10.1145/2983990.2983996Beneath the surface, software usually depends on complex linker behaviour to work as intended. Even linking <pre>hello_world.c</pre> is surprisingly involved, and systems software such as <pre>libc</pre> and operating system kernels rely on a host of ...
Also Published in:
ACM SIGPLAN Notices: Volume 51 Issue 10 - research-articleOctober 2016
A practical framework for type inference error explanation
OOPSLA 2016: Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and ApplicationsPages 781–799https://doi.org/10.1145/2983990.2983994Many languages have support for automatic type inference. But when inference fails, the reported error messages can be unhelpful, highlighting a code location far from the source of the problem. Several lines of work have emerged proposing error ...
Also Published in:
ACM SIGPLAN Notices: Volume 51 Issue 10