default search action
PLDI 2017: Barcelona, Spain
- Albert Cohen, Martin T. Vechev:
Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2017, Barcelona, Spain, June 18-23, 2017. ACM 2017, ISBN 978-1-4503-4988-8
Compiler Optimizations
- Jonathan Lifflander, Sriram Krishnamoorthy:
Cache locality optimization for recursive programs. 1-16 - Olli Saarikivi, Margus Veanes, Todd Mytkowicz, Madan Musuvathi:
Fusing effectful comprehensions. 17-32 - Yufei Ding, Lin Ning, Hui Guan, Xipeng Shen:
Generalizations of the theory and deployment of triangular inequality for compiler-based strength reduction. 33-48 - David Menendez, Santosh Nagarakatte:
Alive-Infer: data-driven precondition inference for peephole optimizations in LLVM. 49-63
Learning and Probabilistic
- Kuat Yessenov, Ivan Kuraj, Armando Solar-Lezama:
DemoMatch: API discovery from demonstrations. 64-78 - Yaniv David, Nimrod Partush, Eran Yahav:
Similarity of binaries through re-optimization. 79-94 - Osbert Bastani, Rahul Sharma, Alex Aiken, Percy Liang:
Synthesizing program input grammars. 95-110 - Daniel Huang, Jean-Baptiste Tristan, Greg Morrisett:
Compiling Markov chain Monte Carlo algorithms for probabilistic modeling. 111-125
Concurrency Analysis
- Ariel Eizenberg, Yuanfeng Peng, Toma Pigli, William Mansky, Joseph Devietti:
BARRACUDA: binary-level analysis of runtime RAces in CUDA programs. 126-140 - Dustin Rhodes, Cormac Flanagan, Stephen N. Freund:
BigFoot: static check placement for dynamic race detection. 141-156 - Dileep Kini, Umang Mathur, Mahesh Viswanathan:
Dynamic race prediction in linear time. 157-170 - Marina Billes, Anders Møller, Michael Pradel:
Systematic black-box analysis of collaborative web applications. 171-184
Language Implementation
- Andreas Haas, Andreas Rossberg, Derek L. Schuff, Ben L. Titzer, Michael Holman, Dan Gohman, Luke Wagner, Alon Zakai, J. F. Bastien:
Bringing the web up to speed with WebAssembly. 185-200 - Dmitry Petrashko, Ondrej Lhoták, Martin Odersky:
Miniphases: compilation using modular and efficient tree transformations. 201-216 - Anthony Canino, Yu David Liu:
Proactive and adaptive energy-aware programming with mixed typechecking. 217-232 - Piyus Kedia, Manuel Costa, Matthew J. Parkinson, Kapil Vaswani, Dimitrios Vytiniotis, Aaron Blankstein:
Simple, fast, and safe manual memory management. 233-247
Static Analysis
- Zachary Kincaid, Jason Breck, Ashkan Forouhi Boroujeni, Thomas W. Reps:
Compositional recurrence analysis revisited. 248-262 - Rei Thiessen, Ondrej Lhoták:
Context transformations for pointer analysis. 263-277 - Tian Tan, Yue Li, Jingling Xue:
Efficient and precise points-to analysis: modeling the heap by merging equivalent automata. 278-291 - Anirudh Santhiar, Aditya Kanade:
Static deadlock detection for asynchronous C# programs. 292-305
Dynamic Analysis and Testing
- Zhoulai Fu, Zhendong Su:
Achieving high coverage for floating-point code via unconstrained programming. 306-319 - Buddhika Chamith, Bo Joel Svensson, Luke Dalessandro, Ryan R. Newton:
Instruction punning: lightweight instrumentation for x86-64. 320-332 - Amanieu D'Antras, Cosmin Gorgovan, Jim D. Garside, Mikel Luján:
Low overhead dynamic binary translation on ARM. 333-346 - Qirun Zhang, Chengnian Sun, Zhendong Su:
Skeletal program enumeration for rigorous compiler testing. 347-361
Static Analysis and Security
- Timos Antonopoulos, Paul Gazzillo, Michael Hicks, Eric Koskinen, Tachio Terauchi, Shiyi Wei:
Decomposition instead of self-composition for proving the absence of timing channels. 362-375 - Qinheping Hu, Loris D'Antoni:
Automatic program inversion using symbolic transducers. 376-389 - Peter Ohmann, Alexander Brooks, Loris D'Antoni, Ben Liblit:
Control-flow recovery from partial failure reports. 390-405 - Goran Doychev, Boris Köpf:
Rigorous analysis of software countermeasures against cache attacks. 406-421
Synthesis
- Yu Feng, Ruben Martins, Jacob Van Geffen, Isil Dillig, Swarat Chaudhuri:
Component-based synthesis of table consolidation and transformation tasks from examples. 422-436 - Ryan Beckett, Ratul Mahajan, Todd D. Millstein, Jitendra Padhye, David Walker:
Network configuration synthesis with abstract topologies. 437-451 - Chenglong Wang, Alvin Cheung, Rastislav Bodík:
Synthesizing highly expressive SQL queries from input-output examples. 452-466 - James Bornholt, Emina Torlak:
Synthesizing memory models from framework sketches and Litmus tests. 467-481
Functional Programming and Correctness
- Luke Maurer, Paul Downen, Zena M. Ariola, Simon L. Peyton Jones:
Compiling without continuations. 482-494 - Daniel Patterson, Jamie Perconti, Christos Dimoulas, Amal Ahmed:
FunTAL: reasonably mixing a functional language with assembly. 495-509 - Shumo Chu, Konstantin Weitz, Alvin Cheung, Dan Suciu:
HoTTSQL: proving query rewrites with univalent SQL semantics. 510-524 - Richard A. Eisenberg, Simon Peyton Jones:
Levity polymorphism. 525-539
Parallelization and Concurrency
- Azadeh Farzan, Victor Nicolet:
Synthesis of divide and conquer parallelism for loops. 540-555 - Troels Henriksen, Niels G. W. Serup, Martin Elsman, Fritz Henglein, Cosmin E. Oancea:
Futhark: purely functional GPU-programming with nested parallelism and in-place array updates. 556-571 - Grigory Fedyukovich, Maaz Bin Safeer Ahmad, Rastislav Bodík:
Gradual synthesis for static parallelization of single-pass array-processing programs. 572-585
Verified Computation
- Timothy Bourke, Lélio Brun, Pierre-Évariste Dagand, Xavier Leroy, Marc Pouzet, Lionel Rieg:
A formally verified compiler for Lustre. 586-601 - Parosh Aziz Abdulla, Mohamed Faouzi Atig, Yu-Fang Chen, Bui Phi Diep, Lukás Holík, Ahmed Rezine, Philipp Rümmer:
Flatten and conquer: a framework for efficient analysis of string constraints. 602-617
Correctness
- Ori Lahav, Viktor Vafeiadis, Jeehoon Kang, Chung-Kil Hur, Derek Dreyer:
Repairing sequential consistency in C/C++11. 618-632 - Juneyoung Lee, Yoonseung Kim, Youngju Song, Chung-Kil Hur, Sanjoy Das, David Majnemer, John Regehr, Nuno P. Lopes:
Taming undefined behavior in LLVM. 633-647
Systems and Performance
- Scott Schneider, Kun-Lung Wu:
Low-synchronization, mostly lock-free, elastic scheduling for streaming runtimes. 648-661 - Thomas Würthinger, Christian Wimmer, Christian Humer, Andreas Wöß, Lukas Stadler, Chris Seaton, Gilles Duboscq, Doug Simon, Matthias Grimmer:
Practical partial evaluation for high-performance dynamic language runtimes. 662-676 - Stefan K. Muller, Umut A. Acar, Robert Harper:
Responsive parallel computation: bridging competitive and cooperative threading. 677-692 - Konstantinos Mamouras, Mukund Raghothaman, Rajeev Alur, Zachary G. Ives, Sanjeev Khanna:
StreamQRE: modular specification and efficient evaluation of quantitative queries over streaming data. 693-708
manage site settings
To protect your privacy, all features that rely on external API calls from your browser are turned off by default. You need to opt-in for them to become active. All settings here will be stored as cookies with your web browser. For more information see our F.A.Q.