Sciweavers

PLDI
2012
ACM
12 years 1 months ago
Speculative separation for privatization and reductions
Automatic parallelization is a promising strategy to improve application performance in the multicore era. However, common programming practices such as the reuse of data structur...
Nick P. Johnson, Hanjun Kim, Prakash Prabhu, Ayal ...
PLDI
2012
ACM
12 years 1 months ago
Self-stabilizing Java
Self-stabilizing programs automatically recover from state corruption caused by software bugs and other sources to reach the correct state. A number of applications are inherently...
Yong Hun Eom, Brian Demsky
PLDI
2012
ACM
12 years 1 months ago
Concurrent data representation synthesis
We describe an approach for synthesizing data representations for concurrent programs. Our compiler takes as input a program written using concurrent relations and synthesizes a r...
Peter Hawkins, Alex Aiken, Kathleen Fisher, Martin...
33
Voted
PLDI
2012
ACM
12 years 1 months ago
Understanding and detecting real-world performance bugs
Developers frequently use inefficient code sequences that could be fixed by simple patches. These inefficient code sequences can cause significant performance degradation and ...
Guoliang Jin, Linhai Song, Xiaoming Shi, Joel Sche...
PLDI
2012
ACM
12 years 1 months ago
RockSalt: better, faster, stronger SFI for the x86
Software-based fault isolation (SFI), as used in Google’s Native Client (NaCl), relies upon a conceptually simple machine-code analysis to enforce a security policy. But for com...
Greg Morrisett, Gang Tan, Joseph Tassarotti, Jean-...
POPL
2012
ACM
12 years 7 months ago
Static and user-extensible proof checking
Despite recent successes, large-scale proof development within proof assistants remains an arcane art that is extremely timeconsuming. We argue that this can be attributed to two ...
Antonis Stampoulis, Zhong Shao
POPL
2012
ACM
12 years 7 months ago
Towards a program logic for JavaScript
JavaScript has become the most widely used language for clientside web programming. The dynamic nature of JavaScript makes understanding its code notoriously difficult, leading t...
Philippa Gardner, Sergio Maffeis, Gareth David Smi...
POPL
2012
ACM
12 years 7 months ago
The ins and outs of gradual type inference
Gradual typing lets programmers evolve their dynamically typed programs by gradually adding explicit type annotations, which confer benefits like improved performance and fewer r...
Aseem Rastogi, Avik Chaudhuri, Basil Hosmer
POPL
2012
ACM
12 years 7 months ago
The marriage of bisimulations and Kripke logical relations
There has been great progress in recent years on developing effective techniques for reasoning about program equivalence in ML-like languages—that is, languages that combine fea...
Chung-Kil Hur, Derek Dreyer, Georg Neis, Viktor Va...
POPL
2012
ACM
12 years 7 months ago
Playing in the grey area of proofs
Interpolation is an important technique in verification and static analysis of programs. In particular, interpolants extracted from proofs of various properties are used in invar...
Krystof Hoder, Laura Kovács, Andrei Voronko...