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 2012
Fully automatic and precise detection of thread safety violations
PLDI '12: Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and ImplementationPages 521–530https://doi.org/10.1145/2254064.2254126Concurrent, object-oriented programs often use thread-safe library classes. Existing techniques for testing a thread-safe class either rely on tests using the class, on formal specifications, or on both. Unfortunately, these techniques often are not ...
Also Published in:
ACM SIGPLAN Notices: Volume 47 Issue 6 - research-articleJune 2012
Logical inference techniques for loop parallelization
PLDI '12: Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and ImplementationPages 509–520https://doi.org/10.1145/2254064.2254124This paper presents a fully automatic approach to loop parallelization that integrates the use of static and run-time analysis and thus overcomes many known difficulties such as nonlinear and indirect array indexing and complex control flow. Our hybrid ...
Also Published in:
ACM SIGPLAN Notices: Volume 47 Issue 6 - research-articleJune 2012
Polyhedra scanning revisited
PLDI '12: Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and ImplementationPages 499–508https://doi.org/10.1145/2254064.2254123This paper presents a new polyhedra scanning system called CodeGen+ to address the challenge of generating high-performance code for complex iteration spaces resulting from compiler optimization and autotuning systems. The strength of our approach lies ...
Also Published in:
ACM SIGPLAN Notices: Volume 47 Issue 6 - research-articleJune 2012
Effective parallelization of loops in the presence of I/O operations
PLDI '12: Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and ImplementationPages 487–498https://doi.org/10.1145/2254064.2254122Software-based thread-level parallelization has been widely studied for exploiting data parallelism in purely computational loops to improve program performance on multiprocessors. However, none of the previous efforts deal with efficient ...
Also Published in:
ACM SIGPLAN Notices: Volume 47 Issue 6 - research-articleJune 2012
Static analysis and compiler design for idempotent processing
PLDI '12: Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and ImplementationPages 475–486https://doi.org/10.1145/2254064.2254120Recovery functionality has many applications in computing systems, from speculation recovery in modern microprocessors to fault recovery in high-reliability systems. Modern systems commonly recover using checkpoints. However, checkpoints introduce ...
Also Published in:
ACM SIGPLAN Notices: Volume 47 Issue 6 -
- research-articleJune 2012
Automated synthesis of symbolic instruction encodings from I/O samples
PLDI '12: Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and ImplementationPages 441–452https://doi.org/10.1145/2254064.2254116Symbolic execution is a key component of precise binary program analysis tools. We discuss how to automatically boot-strap the construction of a symbolic execution engine for a processor instruction set such as x86, x64 or ARM. We show how to ...
Also Published in:
ACM SIGPLAN Notices: Volume 47 Issue 6 - research-articleJune 2012
Dynamic synthesis for relaxed memory models
PLDI '12: Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and ImplementationPages 429–440https://doi.org/10.1145/2254064.2254115Modern architectures implement relaxed memory models which may reorder memory operations or execute them non-atomically. Special instructions called memory fences are provided, allowing control of this behavior.
To implement a concurrent algorithm for a ...
Also Published in:
ACM SIGPLAN Notices: Volume 47 Issue 6 - research-articleJune 2012
Concurrent data representation synthesis
PLDI '12: Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and ImplementationPages 417–428https://doi.org/10.1145/2254064.2254114We describe an approach for synthesizing data representations for concurrent programs. Our compiler takes as input a program written using concurrent relations and synthesizes a representation of the relations as sets of cooperating data structures as ...
Also Published in:
ACM SIGPLAN Notices: Volume 47 Issue 6 - research-articleJune 2012
Dynamic trace-based analysis of vectorization potential of applications
- Justin Holewinski,
- Ragavendar Ramamurthi,
- Mahesh Ravishankar,
- Naznin Fauzia,
- Louis-Noël Pouchet,
- Atanas Rountev,
- P. Sadayappan
PLDI '12: Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and ImplementationPages 371–382https://doi.org/10.1145/2254064.2254108Recent hardware trends with GPUs and the increasing vector lengths of SSE-like ISA extensions for multicore CPUs imply that effective exploitation of SIMD parallelism is critical for achieving high performance on emerging and future architectures. A ...
Also Published in:
ACM SIGPLAN Notices: Volume 47 Issue 6 - research-articleJune 2012
Speculative separation for privatization and reductions
PLDI '12: Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and ImplementationPages 359–370https://doi.org/10.1145/2254064.2254107Automatic parallelization is a promising strategy to improve application performance in the multicore era. However, common programming practices such as the reuse of data structures introduce artificial constraints that obstruct automatic ...
Also Published in:
ACM SIGPLAN Notices: Volume 47 Issue 6 - research-articleJune 2012
A compiler framework for extracting superword level parallelism
PLDI '12: Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and ImplementationPages 347–358https://doi.org/10.1145/2254064.2254106SIMD (single-instruction multiple-data) instruction set extensions are quite common today in both high performance and embedded microprocessors, and enable the exploitation of a specific type of data parallelism called SLP (Superword Level Parallelism). ...
Also Published in:
ACM SIGPLAN Notices: Volume 47 Issue 6 - research-articleJune 2012
Test-case reduction for C compiler bugs
PLDI '12: Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and ImplementationPages 335–346https://doi.org/10.1145/2254064.2254104To report a compiler bug, one must often find a small test case that triggers the bug. The existing approach to automated test-case reduction, delta debugging, works by removing substrings of the original input; the result is a concatenation of ...
Also Published in:
ACM SIGPLAN Notices: Volume 47 Issue 6 - research-articleJune 2012
SuperC: parsing all of C by taming the preprocessor
PLDI '12: Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and ImplementationPages 323–334https://doi.org/10.1145/2254064.2254103C tools, such as source browsers, bug finders, and automated refactorings, need to process two languages: C itself and the preprocessor. The latter improves expressivity through file includes, macros, and static conditionals. But it operates only on ...
Also Published in:
ACM SIGPLAN Notices: Volume 47 Issue 6 - research-articleJune 2012
Synchronising C/C++ and POWER
- Susmit Sarkar,
- Kayvan Memarian,
- Scott Owens,
- Mark Batty,
- Peter Sewell,
- Luc Maranget,
- Jade Alglave,
- Derek Williams
PLDI '12: Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and ImplementationPages 311–322https://doi.org/10.1145/2254064.2254102Shared memory concurrency relies on synchronisation primitives: compare-and-swap, load-reserve/store-conditional (aka LL/SC), language-level mutexes, and so on. In a sequentially consistent setting, or even in the TSO setting of x86 and Sparc, these ...
Also Published in:
ACM SIGPLAN Notices: Volume 47 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 2012
Engage: a deployment management system
PLDI '12: Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and ImplementationPages 263–274https://doi.org/10.1145/2254064.2254096Many modern applications are built by combining independently developed packages and services that are distributed over many machines with complex inter-dependencies. The assembly, installation, and management of such applications is hard, and usually ...
Also Published in:
ACM SIGPLAN Notices: Volume 47 Issue 6 - research-articleJune 2012
Fast and precise hybrid type inference for JavaScript
PLDI '12: Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and ImplementationPages 239–250https://doi.org/10.1145/2254064.2254094JavaScript performance is often bound by its dynamically typed nature. Compilers do not have access to static type information, making generation of efficient, type-specialized machine code difficult. We seek to solve this problem by inferring types. In ...
Also Published in:
ACM SIGPLAN Notices: Volume 47 Issue 6 - research-articleJune 2012
Proving acceptability properties of relaxed nondeterministic approximate programs
PLDI '12: Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and ImplementationPages 169–180https://doi.org/10.1145/2254064.2254086Approximate program transformations such as skipping tasks [29, 30], loop perforation [21, 22, 35], reduction sampling [38], multiple selectable implementations [3, 4, 16, 38], dynamic knobs [16], synchronization elimination [20, 32], approximate ...
Also Published in:
ACM SIGPLAN Notices: Volume 47 Issue 6 - research-articleJune 2012
Reagents: expressing and composing fine-grained concurrency
PLDI '12: Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and ImplementationPages 157–168https://doi.org/10.1145/2254064.2254084Efficient communication and synchronization is crucial for fine grained parallelism. Libraries providing such features, while indispensable, are difficult to write, and often cannot be tailored or composed to meet the needs of specific users. We ...
Also Published in:
ACM SIGPLAN Notices: Volume 47 Issue 6 - research-articleJune 2012
JANUS: exploiting parallelism via hindsight
PLDI '12: Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and ImplementationPages 145–156https://doi.org/10.1145/2254064.2254083This paper addresses the problem of reducing unnecessary conflicts in optimistic synchronization. Optimistic synchronization must ensure that any two concurrently executing transactions that commit are properly synchronized. Conflict detection is an ...
Also Published in:
ACM SIGPLAN Notices: Volume 47 Issue 6