default search action
PLDI 2020: London, UK
- Alastair F. Donaldson, Emina Torlak:
Proceedings of the 41st ACM SIGPLAN International Conference on Programming Language Design and Implementation, PLDI 2020, London, UK, June 15-20, 2020. ACM 2020, ISBN 978-1-4503-7613-6
Synthesis I
- Anders Miltner, Saswat Padhi, Todd D. Millstein, David Walker:
Data-driven inference of representation invariants. 1-15 - Georgios Sakkas, Madeline Endres, Benjamin Cosman, Westley Weimer, Ranjit Jhala:
Type error feedback via analytic program repair. 16-30 - Chandrakana Nandi, Max Willsey, Adam Anderson, James R. Wilcox, Eva Darulova, Dan Grossman, Zachary Tatlock:
Synthesizing structured CAD models with equality saturation and inverse transformations. 31-44
Language Implementation
- Matthew Flatt, R. Kent Dybvig:
Compiler and runtime support for continuation marks. 45-58 - Kaan Genç, Michael D. Bond, Guoqing Harry Xu:
Crafty: efficient, HTM-compatible persistent transactions. 59-74 - Kavon Farvardin, John H. Reppy:
From folklore to fact: comparing implementations of stacks and continuations. 75-90
Machine Learning I
- Miltiadis Allamanis, Earl T. Barr, Soline Ducousso, Zheng Gao:
Typilus: neural type hints. 91-105 - Jianan Yao, Gabriel Ryan, Justin Wong, Suman Jana, Ronghui Gu:
Learning nonlinear loop invariants with gated continuous logic networks. 106-120 - Ke Wang, Zhendong Su:
Blended, precise semantic program embeddings. 121-134
Security
- Fraser Brown, John Renner, Andres Nötzli, Sorin Lerner, Hovav Shacham, Deian Stefan:
Towards a verified range analysis for JavaScript JITs. 135-150 - Gregory J. Duck, Xiang Gao, Abhik Roychoudhury:
Binary rewriting without control flow recovery. 151-163 - Chris Porter, Girish Mururu, Prithayan Barua, Santosh Pande:
BlankIt library debloating: getting what you want instead of cutting what you don't. 164-180
Verification I
- Siddharth Krishna, Nisarg Patel, Dennis E. Shasha, Thomas Wies:
Verifying concurrent search structure templates. 181-196 - Jacob R. Lorch, Yixuan Chen, Manos Kapritsos, Bryan Parno, Shaz Qadeer, Upamanyu Sharma, James R. Wilcox, Xueyuan Zhao:
Armada: low-effort verification of high-performance concurrent programs. 197-210 - Ori Lahav, Udi Boker:
Decidable verification under a causally consistent shared memory. 211-226 - Bernhard Kragl, Constantin Enea, Thomas A. Henzinger, Suha Orhun Mutluergil, Shaz Qadeer:
Inductive sequentialization of asynchronous programs. 227-242
Language Design I
- Thomas Bourgeat, Clément Pit-Claudel, Adam Chlipala, Arvind:
The essence of Bluespec: a core language for rule-based hardware design. 243-257 - Fabian Schuiki, Andreas Kurth, Tobias Grosser, Luca Benini:
LLHD: a multi-level intermediate representation for hardware description languages. 258-271 - Shaopeng Zhu, Shih-Han Hung, Shouvanik Chakrabarti, Xiaodi Wu:
On the principles of differentiable quantum programming languages. 272-285 - Benjamin Bichsel, Maximilian Baader, Timon Gehr, Martin T. Vechev:
Silq: a high-level quantum language with safe uncomputation and intuitive semantics. 286-300
Memory Management
- Albert Mingkun Yang, Erik Österlund, Tobias Wrigstad:
Improving program locality in the GC using hotness. 301-313 - Jeehoon Kang, Jaehwang Jung:
A marriage of pointer- and epoch-based reclamation. 314-328 - Brian Suchy, Simone Campanoni, Nikos Hardavellas, Peter A. Dinda:
CARAT: a case for virtual memory through compiler- and runtime-based address translation. 329-345
Concurrency
- Conrad Watt, Christopher Pulte, Anton Podkopaev, Guillaume Barbier, Stephen Dolan, Shaked Flur, Jean Pichon-Pharabod, Shu-yu Guo:
Repairing and mechanising the JavaScript relaxed memory model. 346-361 - Sung-Hwan Lee, Minki Cho, Anton Podkopaev, Soham Chakraborty, Chung-Kil Hur, Ori Lahav, Viktor Vafeiadis:
Promising 2.0: global optimizations in relaxed memory concurrency. 362-376 - Michal Friedman, Naama Ben-David, Yuanhao Wei, Guy E. Blelloch, Erez Petrank:
NVTraverse: in NVRAM data structures, the destination is more important than the journey. 377-392
Type Systems
- Rachit Nigam, Sachille Atapattu, Samuel Thomas, Zhijing Li, Theodore Bauer, Yuwei Ye, Apurva Koti, Adrian Sampson, Zhiru Zhang:
Predictable accelerator design with time-sensitive affine types. 393-407 - David Durst, Matthew Feldman, Dillon Huff, David Akeley, Ross G. Daly, Gilbert Louis Bernstein, Marco Patrignani, Kayvon Fatahalian, Pat Hanrahan:
Type-directed scheduling of streaming accelerators. 408-422 - Frank Emrich, Sam Lindley, Jan Stolarek, James Cheney, Jonathan Coates:
FreezeML: complete and easy type inference for first-class polymorphism. 423-437
Smart Contracts
- Ao Li, Jemin Andrew Choi, Fan Long:
Securing smart contract with runtime validation. 438-453 - Lexi Brent, Neville Grech, Sifis Lagouvardos, Bernhard Scholz, Yannis Smaragdakis:
Ethainter: a smart contract security analyzer for composite vulnerabilities. 454-469 - Sidi Mohamed Beillahi, Gabriela F. Ciocarlie, Michael Emmi, Constantin Enea:
Behavioral simulation for smart contracts. 470-486
Synthesis II
- Qiaochu Chen, Xinyu Wang, Xi Ye, Greg Durrett, Isil Dillig:
Multi-modal synthesis of regular expressions. 487-502 - DongKwon Lee, Woosuk Lee, Hakjoo Oh, Kwangkeun Yi:
Optimizing homomorphic evaluation circuits by program synthesis and term rewriting. 503-518 - Pepe Vila, Pierre Ganty, Marco Guarnieri, Boris Köpf:
CacheQuery: learning replacement policies from hardware caches. 519-532
Language Design II
- Gérard Berry, Manuel Serrano:
HipHop.js: (A)Synchronous reactive web programming. 533-545 - Roshan Dathathri, Blagovesta Kostova, Olli Saarikivi, Wei Dai, Kim Laine, Madan Musuvathi:
EVA: an encrypted vector arithmetic language and compiler for efficient homomorphic computation. 546-561 - Hans-Juergen Boehm:
Towards an API for the real numbers. 562-576 - Stefan K. Muller, Kyle Singer, Noah Goldstein, Umut A. Acar, Kunal Agrawal, I-Ting Angelina Lee:
Responsive parallelism with futures and state. 577-591
Performance
- Youwei Zhuo, Jingji Chen, Qinyi Luo, Yanzhi Wang, Hailong Yang, Depei Qian, Xuehai Qian:
SympleGraph: distributed graph processing with precise loop-carried dependency guarantee. 592-607 - Fabian Ritter, Sebastian Hack:
PMEvo: portable inference of port mappings for out-of-order processors by evolutionary optimization. 608-622 - Zhenwei Wu, Kai Lu, Andrew Nisbet, Wenzhe Zhang, Mikel Luján:
PMThreads: persistent memory threads harnessing versioned shadow copies. 623-637 - Sotiris Apostolakis, Ziyang Xu, Zujun Tan, Greg Chan, Simone Campanoni, David I. August:
SCAF: a speculation-aware collaborative dependence analysis framework. 638-654
Verification II
- Sandeep Dasgupta, Sushant Dinesh, Deepan Venkatesh, Vikram S. Adve, Christopher W. Fletcher:
Scalable validation of binary lifters. 655-671 - Krishnendu Chatterjee, Hongfei Fu, Amir Kafshdar Goharshady, Ehsan Kafshdar Goharshady:
Polynomial invariant generation for non-deterministic recursive programs. 672-687 - Jason Breck, John Cyphert, Zachary Kincaid, Thomas W. Reps:
Templates and recurrences: better together. 688-702 - Jason R. Koenig, Oded Padon, Neil Immerman, Alex Aiken:
First-order quantified separators. 703-717
Bug Finding
- Dominik Winterer, Chengyu Zhang, Zhendong Su:
Validating SMT solvers via semantic fusion. 718-730 - Sangeeta Chowdhary, Jay P. Lim, Santosh Nagarakatte:
Debugging and detecting numerical errors in computation with posits. 731-746 - Jake Roemer, Kaan Genç, Michael D. Bond:
SmartTrack: efficient predictive race detection. 747-762 - Boqin Qin, Yilun Chen, Zeming Yu, Linhai Song, Yiying Zhang:
Understanding memory and thread safety practices and issues in real-world Rust programs. 763-779
Static Analysis
- Yuanbo Li, Qirun Zhang, Thomas W. Reps:
Fast graph simplification for interleaved Dyck-reachability. 780-793 - Anastasios Antoniadis, Nikos Filippakis, Paddy Krishnan, Raghavendra Ramesh, Nicholas Allen, Yannis Smaragdakis:
Static analysis of Java enterprise applications: frameworks and caches, the elephants in the room. 794-807 - Auguste Olivry, Julien Langou, Louis-Noël Pouchet, P. Sadayappan, Fabrice Rastello:
Automated derivation of parametric data movement lower bounds for affine programs. 808-822
Code Generation
- Stephen Chou, Fredrik Kjolstad, Saman P. Amarasinghe:
Automatic generation of efficient sparse tensor format conversion routines. 823-838 - Ankush Phulia, Vaibhav Bhagee, Sorav Bansal:
OOElala: order-of-evaluation based alias analysis for compiler optimization. 839-853 - Rodrigo C. O. Rocha, Pavlos Petoumenos, Zheng Wang, Murray Cole, Hugh Leather:
Effective function merging in the SSA form. 854-868
Probabilistic Programming
- Jianhui Chen, Fei He:
Proving almost-sure termination by omega-regular decomposition. 869-882 - Timon Gehr, Samuel Steffen, Martin T. Vechev:
λPSI: exact inference for higher-order probabilistic programs. 883-897 - Guillaume Baudart, Louis Mandel, Eric Atkinson, Benjamin Sherman, Marc Pouzet, Michael Carbin:
Reactive probabilistic programming. 898-912
Symbolic Execution
- Sunjay Cauligi, Craig Disselkoen, Klaus von Gleissenthall, Dean M. Tullsen, Deian Stefan, Tamara Rezk, Gilles Barthe:
Constant-time foundations for the new spectre era. 913-926 - José Fragoso Santos, Petar Maksimovic, Sacha-Élie Ayoun, Philippa Gardner:
Gillian, part i: a multi-language platform for symbolic execution. 927-942 - Parosh Aziz Abdulla, Mohamed Faouzi Atig, Yu-Fang Chen, Bui Phi Diep, Julian Dolby, Petr Janku, Hsin-Hung Lin, Lukás Holík, Wei-Cheng Wu:
Efficient handling of string-number conversion. 943-957
Networking and Hardware
- Nick Giannarakis, Devon Loehr, Ryan Beckett, David Walker:
NV: an intermediate language for verification of network control planes. 958-973 - Kausik Subramanian, Anubhavnidhi Abhashkumar, Loris D'Antoni, Aditya Akella:
Detecting network load violations for distributed control planes. 974-988 - Hongjune Kim, Jianping Zeng, Qingrui Liu, Mohammad Abdel-Majeed, Jaejin Lee, Changhee Jung:
Compiler-directed soft error resilience for lightweight GPU register file protection. 989-1004 - Kiwan Maeng, Brandon Lucia:
Adaptive low-overhead scheduling for periodic and reactive intermittent execution. 1005-1021
Parsing, Debugging, and Code Search
- Grzegorz Herman:
Faster general parsing through context-free memoization. 1022-1035 - Romain Edelmann, Jad Hamza, Viktor Kuncak:
Zippy LL(1) parsing with derivatives. 1036-1051 - Yuanbo Li, Shuo Ding, Qirun Zhang, Davide Italiano:
Debug information validation for optimized code. 1052-1065 - Varot Premtoon, James Koppel, Armando Solar-Lezama:
Semantic code search via equational reasoning. 1066-1082
Machine Learning II
- Samuel Drews, Aws Albarghouthi, Loris D'Antoni:
Proving data-poisoning robustness in decision trees. 1083-1097 - Muhammad Usman, Wenxi Wang, Marko Vasic, Kaiyuan Wang, Haris Vikalo, Sarfraz Khurshid:
A study of the learnability of relational properties: model counting meets machine learning (MCML). 1098-1111 - Jingxuan He, Gagandeep Singh, Markus Püschel, Martin T. Vechev:
Learning fast and precise numerical analysis. 1112-1127
Synthesis III
- Qinheping Hu, John Cyphert, Loris D'Antoni, Thomas W. Reps:
Exact and approximate methods for proving unrealizability of syntax-guided synthesis problems. 1128-1142 - Ruyi Ji, Jingjing Liang, Yingfei Xiong, Lu Zhang, Zhenjiang Hu:
Question selection for interactive program synthesis. 1143-1158 - Kangjing Huang, Xiaokang Qiu, Peiyuan Shen, Yanjun Wang:
Reconciling enumerative and deductive program synthesis. 1159-1174
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.