Programming Language Implementation Seminar
In this seminar, we read recent papers from the top conferences and journals in programming languages. Topics include: program analysis, program optimization, program synthesis, compilation.
Please register to the forum to follow this seminar and interact with you fellow students.
|Participants||12 / 12 (seats taken / maximum seats)|
|Waiting list||2 (please attend the Preparatory Meeting)|
|Preparatory Meeting||2015-10-21, 16:00 - 18:00 pm (cum tempore), E1.3 room 401|
|Weekly Meeting||Wednesdays, 16:00 - 18:00 pm (cum tempore), E1.3 room 401|
|Prerequisites||Preferably, you take part or have taken part in the compiler construction course.|
|Topics||Recent papers from programming languages, program analysis, program synthesis, compilers|
Write a mail to Johannes Doerfert until 2015-10-20 and come to the preparatory meeting.
Each paper will be assigned to one participant. We will have weekly meetings during the semester in which we will discuss one of the papers. The discussion will be managed by the student to whom the paper was assigned. She/he is responsible for giving a short summary on the paper and for structuring the following discussion.
Every week each student has to write a summary (max. 500 words) on the week's paper. This summary should include open questions and is to be submitted two days before the corresponding meeting (11:59 noon). The summaries of all participants will be made available and can be used by the moderator to structure the discussion in the following meeting.
At the end of the semester each participant will give a presentation (30 minutes) about her/his paper.
Each participant is allowed to drop two summaries without any particular reason. In case you drop a summary, please send a short mail telling so.
Once registered, you cannot unregister later than 2015-10-23.
- February 24, 2016: 14:00 - 16:00 pm (sine tempore)
- March 9, 2016: 14:00 - 18:00 pm (sine tempore)
[V] Compiler Correctness, Translation Validation, Self Composition
Gilles Barthe, Juan Manuel Crespo, César Kunz:
Beyond 2-Safety: Asymmetric Product Programs for Relational Program Verification. LFCS 2013: 29-43
Nuno P. Lopes, David Menendez, Santosh Nagarakatte, John Regehr:
Provably correct peephole optimizations with alive. PLDI 2015: 22-32
Rahul Sharma, Eric Schkufza, Berkeley R. Churchill, Alex Aiken:
Data-driven equivalence checking. OOPSLA 2013: 391-406
Kedar S. Namjoshi, Lenore D. Zuck:
Witnessing Program Transformations. SAS 2013: 304-323
[S] Program Synthesis
Dimitrios Prountzos, Roman Manevich, Keshav Pingali:
Synthesizing parallel graph programs via automated planning. PLDI 2015: 533-544
Venkatesh Srinivasan, Thomas W. Reps:
Synthesis of machine code from semantics. PLDI 2015: 596-607
Eric Schkufza, Rahul Sharma, Alex Aiken:
Stochastic superoptimization. ASPLOS 2013: 305-316
John Feser, Swarat Chaudhuri, Isil Dillig:
Synthesizing Data Structure Transformations from Input-Output Examples. PLDI 2015
Robert A Cochran, Loris D'Antoni, Benjamin Livshits, David Molnar, Margus Veanes:
Program Boosting: Program Synthesis via Crowd-Sourcing. POPL 2015
[O] Code Optimization
Pavel Panchekha, Alex Sanchez-Stern, James R. Wilcox, Zachary Tatlock:
Automatically improving accuracy for floating point expressions. PLDI 2015: 1-11
Thomas Würthinger, Christian Wimmer, Andreas Wöß, Lukas Stadler, Gilles Duboscq, Christian Humer, Gregor Richards, Doug Simon, Mario Wolczko:
One VM to rule them all. Onward! 2013: 187-204
Ramakrishna Upadrasta, Albert Cohen:
Sub-polyhedral scheduling using (unit-)two-variable-per-inequality polyhedra. POPL 2013: 483-496
Tobias Grosser, Sven Verdoolaege, Albert Cohen:
Polyhedral AST Generation Is More Than Scanning Polyhedra TOPLAS 2015
Mark Batty, Scott Owens, Susmit Sarkar, Peter Sewell, Tjark Weber:
Mathematizing C++ concurrency. POPL 2011: 55-66
Viktor Vafeiadis, Thibaut Balabonski, Soham Chakraborty, Robin Morisset, Francesco Zappa Nardelli:
Common Compiler Optimisations are Invalid in the C11 Memory Model and what we can do about it. POPL 2015: 209-220
Ur/Web: A Simple Model for Programming the Web. POPL 2015: 153-165
Xi Wang, David Lazar, Nickolai Zeldovich, Adam Chlipala, Zachary Tatlock:
Jitk: A Trustworthy In-Kernel Interpreter Infrastructure. OSDI 2014: 33-47
Jacques-Henri Jourdan, Vincent Laporte, Sandrine Blazy, Xavier Leroy, David Pichardie:
A Formally-Verified C Static Analyzer. POPL 2015: 247-259
Ben Greenman, Fabian Muehlboeck, Ross Tate:
Getting F-Bounded Polymorphism into Shape. PLDI 2014: 89-99
Quentin Carbonneaux, Jan Hoffmann, Zhong Shao:
Compositional Certified Resource Bounds. PLDI 2015