default search action
PLDI 2019: Phoenix, AZ, USA
- Kathryn S. McKinley, Kathleen Fisher:
Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2019, Phoenix, AZ, USA, June 22-26, 2019. ACM 2019, ISBN 978-1-4503-6712-7
Concurrency I
- Christopher Pulte, Jean Pichon-Pharabod, Jeehoon Kang, Sung-Hwan Lee, Chung-Kil Hur:
Promising-ARM/RISC-V: a simpler and faster operational concurrency model. 1-15 - Lun Liu, Todd D. Millstein, Madanlal Musuvathi:
Accelerating sequential consistency for Java with speculative compilation. 16-30 - Aleksandar Prokopec, Andrea Rosà, David Leopoldseder, Gilles Duboscq, Petr Tuma, Martin Studener, Lubomír Bulej, Yudi Zheng, Alex Villazón, Doug Simon, Thomas Würthinger, Walter Binder:
Renaissance: benchmarking suite for parallel applications on the JVM. 31-47
Language Design I
- Michael Vollmer, Chaitanya Koparkar, Mike Rainey, Laith Sakka, Milind Kulkarni, Ryan R. Newton:
LoCal: a language for programs operating on serialized data. 48-62 - Daniel J. Fremont, Tommaso Dreossi, Shromona Ghosh, Xiangyu Yue, Alberto L. Sangiovanni-Vincentelli, Sanjit A. Seshia:
Scenic: a language for scenario specification and scene generation. 63-78 - Sridhar Gopinath, Nikhil Ghanathe, Vivek Seshadri, Rahul Sharma:
Compiling KB-sized machine learning models to tiny IoT devices. 79-95
Concurrency II
- Michalis Kokologiannakis, Azalea Raad, Viktor Vafeiadis:
Model checking for weakly consistent libraries. 96-110 - Hanru Jiang, Hongjin Liang, Siyang Xiao, Junpeng Zha, Xinyu Feng:
Towards certified separate compilation for concurrent programs. 111-125 - Ori Lahav, Roy Margalit:
Robustness against release/acquire semantics. 126-141
Language Design II
- Roshan Dathathri, Olli Saarikivi, Hao Chen, Kim Laine, Kristin E. Lauter, Saeed Maleki, Madanlal Musuvathi, Todd Mytkowicz:
CHET: an optimizing compiler for fully-homomorphic neural-network inferencing. 142-156 - Darius Mercadier, Pierre-Évariste Dagand:
Usuba: high-throughput and constant-time ciphers, by construction. 157-173 - Sunjay Cauligi, Gary Soeller, Brian Johannesmeyer, Fraser Brown, Riad S. Wahby, John Renner, Benjamin Grégoire, Gilles Barthe, Ranjit Jhala, Deian Stefan:
FaCT: a DSL for timing-sensitive computation. 174-189
Probabilistic Programming
- Steffen Smolka, Praveen Kumar, David M. Kahn, Nate Foster, Justin Hsu, Dexter Kozen, Alexandra Silva:
Scalable verification of probabilistic networks. 190-203 - Peixin Wang, Hongfei Fu, Amir Kafshdar Goharshady, Krishnendu Chatterjee, Xudong Qin, Wenjun Shi:
Cost analysis of nondeterministic probabilistic programs. 204-220 - Marco F. Cusumano-Towner, Feras A. Saad, Alexander K. Lew, Vikash K. Mansinghka:
Gen: a general-purpose probabilistic programming system with programmable inference. 221-236 - Jieyuan Zhang, Jingling Xue:
Incremental precision-preserving symbolic inference for probabilistic programs. 237-252
Synthesis
- Tristan Knoth, Di Wang, Nadia Polikarpova, Jan Hoffmann:
Resource-guided program synthesis. 253-268 - Jiasi Shen, Martin C. Rinard:
Using active learning to synthesize models of applications that access databases. 269-285 - Yuepeng Wang, James Dong, Rushi Shah, Isil Dillig:
Synthesizing database programs for schema refactoring. 286-300 - Arun Shankar Iyer, Manohar Jonnalagedda, Suresh Parthasarathy, Arjun Radhakrishna, Sriram K. Rajamani:
Synthesis and machine learning for heterogeneous extraction. 301-315
Memory Management
- Thomas Shull, Jian Huang, Josep Torrellas:
AutoPersist: an easy-to-use Java NVM framework based on reachability. 316-332 - Bobby Powers, David Tench, Emery D. Berger, Andrew McGregor:
Mesh: compacting memory management for C/C++ applications. 333-346 - Chenxi Wang, Huimin Cui, Ting Cao, John N. Zigman, Haris Volos, Onur Mutlu, Fang Lv, Xiaobing Feng, Guoqing Harry Xu:
Panthera: holistic memory management for big data processing over hybrid memories. 347-362
Parsing
- Rijnard van Tonder, Claire Le Goues:
Lightweight multi-language syntax transformation with parser parser combinators. 363-378 - Neelakantan R. Krishnaswami, Jeremy Yallop:
A typed, algebraic approach to parsing. 379-393 - Giovanni Campagna, Silei Xu, Mehrad Moradshahi, Richard Socher, Monica S. Lam:
Genie: a generator of natural language semantic parsers for virtual assistant commands. 394-410
Bug Finding and Testing I
- William T. Hallahan, Anton Xue, Maxwell Troy Bland, Ranjit Jhala, Ruzica Piskac:
Lazy counterfactual symbolic execution. 411-424 - Blake Loring, Duncan Mitchell, Johannes Kinder:
Sound regular expression semantics for dynamic symbolic execution of JavaScript. 425-438 - Zhoulai Fu, Zhendong Su:
Effective floating-point analysis via weak-distance minimization. 439-452
Parallelism and Super Computing I
- Tanvir Ahmed Khan, Yifan Zhao, Gilles Pokam, Barzan Mozafari, Baris Kasikci:
Huron: hybrid false sharing detection and repair. 453-468 - Martin Kong, Louis-Noël Pouchet:
Model-driven transformations for multi- and many-core CPUs. 469-484 - Adarsh Yoga, Santosh Nagarakatte:
Parallelism-centric what-if and differential analyses. 485-501
Type Systems I
- Alceste Scalas, Nobuko Yoshida, Elias Benussi:
Verifying message-passing programs with dependent behavioural types. 502-516 - Andre Kuhlenschmidt, Deyaaeldeen Almahallawi, Jeremy G. Siek:
Toward efficient gradual typing for structural types via coercions. 517-532 - Ezgi Çiçek, Weihao Qu, Gilles Barthe, Marco Gaboardi, Deepak Garg:
Bidirectional type checking for relational properties. 533-547
Bug Finding and Testing II
- Björn Mathis, Rahul Gopinath, Michaël Mera, Alexander Kampmann, Matthias Höschele, Andreas Zeller:
Parser-directed fuzzing. 548-560 - Kihong Heo, Mukund Raghothaman, Xujie Si, Mayur Naik:
Continuously reasoning about programs using differential Bayesian inference. 561-575 - Christopher Lidbury, Alastair F. Donaldson:
Sparse record and replay with controlled scheduling. 576-593
Parallelism and Super Computing II
- Mahdi Soltan Mohammadi, Tomofumi Yuki, Kazem Cheshmi, Eddie C. Davis, Mary W. Hall, Maryam Mehri Dehnavi, Payal Nandy, Catherine Olschanowsky, Anand Venkat, Michelle Mills Strout:
Sparse computation data dependence simplification for efficient compiler-generated inspectors. 594-609 - Azadeh Farzan, Victor Nicolet:
Modular divide-and-conquer parallelization of nested loops. 610-624 - Travis Augustine, Janarthanan Sarma, Louis-Noël Pouchet, Gabriel Rodríguez:
Generating piecewise-regular code from irregular structures. 625-639
Type Systems II
- Kevin Liao, Matthew A. Hammer, Andrew Miller:
ILC: a calculus for composable, computational cryptography. 640-654 - Yuxin Wang, Zeyu Ding, Guanhong Wang, Daniel Kifer, Danfeng Zhang:
Proving differential privacy with shadow execution. 655-669 - Konstantinos Mamouras, Caleb Stanford, Rajeev Alur, Zachary G. Ives, Val Tannen:
Data-trace types for distributed stream processing systems. 670-685
ML
- He Zhu, Zikang Xiong, Stephen Magill, Suresh Jagannathan:
An inductive synthesis framework for verifiable reinforcement learning. 686-701 - Wen-Chuan Lee, Peng Liu, Yingqi Liu, Shiqing Ma, Xiangyu Zhang:
Programming support for autonomizing software. 702-716 - Hui Guan, Xipeng Shen, Seung-Hwan Lim:
Wootz: a compiler-based framework for fast CNN pruning via composability. 717-730 - Greg Anderson, Shankara Pailoor, Isil Dillig, Swarat Chaudhuri:
Optimization and abstraction: a synergistic approach for analyzing neural network robustness. 731-744
Specification
- Jan Eberhardt, Samuel Steffen, Veselin Raychev, Martin T. Vechev:
Unsupervised learning of API aliasing specifications. 745-759 - Victor Chibotaru, Benjamin Bichsel, Veselin Raychev, Martin T. Vechev:
Scalable taint specification inference with big code. 760-774 - Angello Astorga, P. Madhusudan, Shambwaditya Saha, Shiyu Wang, Tao Xie:
Learning stateful preconditions modulo a test generator. 775-787 - Ton Chanh Le, Guolong Zheng, ThanhVu Nguyen:
SLING: using dynamic analysis to infer program invariants in separation logic. 788-801
Static Analysis
- Meng Wu, Chao Wang:
Abstract interpretation under speculative execution. 802-815 - Tobias Gysi, Tobias Grosser, Laurin Brandner, Torsten Hoefler:
A fast analytical model of fully associative caches. 816-829 - Laith Sakka, Kirshanthan Sundararajah, Ryan R. Newton, Milind Kulkarni:
Sound, fine-grained traversal fusion for heterogeneous trees. 830-844 - Phuc C. Nguyen, Thomas Gilray, Sam Tobin-Hochstadt, David Van Horn:
Size-change termination as a contract: dynamically and statically enforcing termination for higher-order programs. 845-859
Dynamics: Analysis and Compilation
- David Mitchel Perry, Dohyeong Kim, Roopsha Samanta, Xiangyu Zhang:
SemCluster: clustering of imperative programming assignments based on quantitative semantic features. 860-873 - Timotej Kapus, Oren Ish-Shalom, Shachar Itzhaky, Noam Rinetzky, Cristian Cadar:
Computing summaries of string loops in C for better testing and refactoring. 874-888 - Jiho Choi, Thomas Shull, Josep Torrellas:
Reusable inline caching for JavaScript performance. 889-901
Performance
- Kirshanthan Sundararajah, Milind Kulkarni:
Composable, sound transformations of nested recursion and loops. 902-917 - Laxman Dhulipala, Guy E. Blelloch, Julian Shun:
Low-latency graph streaming using compressed purely-functional trees. 918-934 - Xulong Tang, Mahmut Taylan Kandemir, Mustafa Karaköy, Meenakshi Arunachalam:
Co-optimizing memory-level parallelism and cache-level parallelism. 935-949
Type Systems III
- Reuben N. S. Rowe, Hugo Férée, Simon J. Thompson, Scott Owens:
Characterising renaming within OCaml's module system: theory and implementation. 950-965 - Milod Kazerounian, Sankha Narayan Guria, Niki Vazou, Jeffrey S. Foster, David Van Horn:
Type-level computations for Ruby libraries. 966-979
Systems I
- Chao Wang, Constantin Enea, Suha Orhun Mutluergil, Gustavo Petri:
Replication-aware linearizability. 980-993 - Guangpu Li, Haopeng Liu, Xianglan Chen, Haryadi S. Gunawi, Shan Lu:
DFix: automatically fixing timing bugs in distributed systems. 994-1009 - Nikos Vasilakis, Ben Karel, Yash Palkhiwala, John Sonchack, André DeHon, Jonathan M. Smith:
Ignis: scaling distribution-oblivious systems with light-touch distribution. 1010-1026
Verification I
- Berkeley R. Churchill, Oded Padon, Rahul Sharma, Alex Aiken:
Semantic program alignment for equivalence checking. 1027-1040 - Andreas Lööw, Ramana Kumar, Yong Kiam Tan, Magnus O. Myreen, Michael Norrish, Oskar Abrahamsson, Anthony C. J. Fox:
Verified compilation on a verified processor. 1041-1053 - Tej Chajed, Joseph Tassarotti, M. Frans Kaashoek, Nickolai Zeldovich:
Argosy: verifying layered storage systems with recovery refinement. 1054-1068
Systems II
- Elazar Gershuni, Nadav Amit, Arie Gurfinkel, Nina Narodytska, Jorge A. Navas, Noam Rinetzky, Leonid Ryzhyk, Mooly Sagiv:
Simple and precise static analysis of untrusted Linux kernel extensions. 1069-1084 - Emily Ruppel, Brandon Lucia:
Transactional concurrency control for intermittent, energy-harvesting computing systems. 1085-1100 - Kiwan Maeng, Brandon Lucia:
Supporting peripherals in intermittent systems with just-in-time checkpoints. 1101-1116
Verification II
- Parosh Aziz Abdulla, Jatin Arora, Mohamed Faouzi Atig, Shankara Narayanan Krishna:
Verification of programs under the release-acquire semantics. 1117-1132 - Sandeep Dasgupta, Daejun Park, Theodoros Kasampalis, Vikram S. Adve, Grigore Rosu:
A complete formal semantics of x86-64 user-level instruction set architecture. 1133-1148 - Li Zhou, Nengkun Yu, Mingsheng Ying:
An applied quantum Hoare logic. 1149-1162
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.