The Programming Systems Seminar is a seminar for discussing and presenting research in "programming systems," broadly construed, which includes at least programming languages, software engineering, compilers, and any work relevant to improving the design and construction of software.
The goals for the seminar are:
- To stay up to date on developments in this (broad) area
- To build some community among researchers (faculty and students) in related areas
- To give students additional practice presenting research ideas, including presenting ideas they are more familiar with to those not in their own immediate research area
The general format for the seminar is to meet each week to discuss a single research paper, with discussion led by one or two group members. The discussion should kick off with a high level summary of the paper, an explanation of the paper's key technical ideas and approaches, the evaluation, and potential impact on the area. One important aspect should be striving to clarify particularly difficult parts of the paper, such that everyone in the group can understand at least what the major insights were, even if they don't fully understand the technique or appreciate its full importance. Due to the broad spectrum of backgrounds in the group, these explanations should aim to be broadly accessible, though inevitably at least some corners of some papers will be accessible only to those working very close to that topic; we should strive to choose papers for discussion that minimize how often this happens --- these won't be the only papers you read! Ideally discussion leads will also identify aspects of the paper they find particularly interesting, questionable, or possibly applicable to other areas, so the group can discuss these more open-ended topics as well. Also reasonable topics for discussion are parts of the paper the presenters themselves do not understand! We can work through some topics together.
Attendees who are not leading a discussion in a particular week should come prepared having already read the paper themselves beforehand, in order to be ready to raise or discuss points of confusion or particular interest, and should expect to be active participants in discussion most weeks.
While we do not currently have any lined up, it is possible this time could be used for guest talks about research as well.
For this first run, Professors Gordon and Chatterjee have picked a set of papers we believe will both have interest across the group, and be mostly understandable to most group members. Students should volunteer for papers they are interested in reading and presenting to the group, even if it is not necessarily from their primary research topic/area.
Here is a list of options for this first term, in no particular order:
- Grounded Copilot: How Programmers Interact with Code-Generating Models, OOPSLA 2023
- Explainable Program Synthesis by Localizing Specifications, OOPSLA 2023
- Reference Capabilities for Flexible Memory Management, OOPSLA 2023
- Live Pattern Matching with Typed Holes, OOPSLA 2023
- How Do We Read Formal Claims? Eye-Tracking and the Cognition of Proofs about Algorithms, ICSE 2023
- Modular Hardware Design with Timeline Types, PLDI 2023
- Developer-Intent Driven Code Comment Generation, ICSE 2023
- "STILL AROUND": Experiences and Survival Strategies of Veteran Women Software Developers, ICSE 2023
- AI-based Question Answering Assistance for Analyzing Natural-language Requirements, ICSE 2023
- Automated Repair of Programs from Large Language Models, ICSE 2023
- Two Sides of the Same Coin: Exploiting the Impact of Identifiers in Neural Code Comprehension, ICSE 2023