Everyone is expected to read every paper and be prepared to discuss them in class.
The course will explore mostly recent papers that span the intersection between programming languages and systems. We will cover many topics from more language and runtime papers to papers than use PL to solve problems in operating system, networking and security. The group project will provide students with the opportunity to work on a small project in the area and conduct further investigation and problem solving on their own.
A one page response to each paper is due in class or by email before the start of class. See the reading list page.
Students will present 2 (may drop to 1 depending on enrollment) papers from the reading list and lead the class discussion. You should cover the background material including the basic design, implementation, and evaluation of the system. A great presentation should lead directly to a discussion around the paper's design decisions, assumptions, and results. Students who present a third paper will have their lowest presentation grade dropped.
Students are generally not permitted to submit the same work for credit in multiple classes, e.g., do not present the same paper in multiple seminars.
Students are expected to follow the university policies.
The Office for Persons with Disabilities (OPD), located in Needles Hall, Room 1132, collaborates with all academic departments to arrange appropriate accommodations for students with disabilities without compromising the academic integrity of the curriculum. If you require academic accommodations to lessen the impact of your disability, please register with the OPD at the beginnieach academic term.
This reading list will be in-flux, but we will start with next weeks papers.
We can choose any papers from good venues in PL and systems.
|5/8—5/12||First Day||An Incremental Path Towards a Safer OS Kernel|
|5/15—5/19||Theseus: an Experiment in Operating System Structure and State Management||Singularity|
|5/29—6/2||Safe to the Last Instruction||GoJournal|
|6/12—6/16||Effective Data-Race Detection for the Kernel||Pool Alloc|
|6/19—6/23||Secure Virtual Architecture||LLVM: A Compilation Framework for Lifelong Program Analysis & Transformation|
|6/26—6/30||MLIR: Scaling Compiler Infrastructure for Domain Specific Computation||gpucc: An Open-Source GPGPU Compiler|
See Piazza posts.