home
publications
teaching
short CV
personal
the pub
|
Research Topics in Software Engineering
263-2100 (ETH, CS, Master Seminar)
Basic Information
- Course number: 263-2100, 2 credits
- Fall 2017, lectures: Th 15:15-17:00, CAB G 59
- Instructors: The seminars are divided by the instructors which yields a range of topics
- Markus Püschel (CAB, H69.3)
- Thomas Gross (CAB, H69.1)
- Peter Müller (CAB, H84)
- Martin Vechev (CAB, H69.2)
- TAs (and associated instructor):
- Vytautas Astrauskas (PM)
- Martin Bättig (TG)
- Benjamin Bichsel (MV)
- Alexandra Bugariu (PM)
- Andrei Dan (MV)
- Aristeidis Mastoras (TG)
- Luca Della Toffola (TG)
- Gagandeep Singh (MP)
- Ivana Unkovic (TG)
Course Description
The course is an introduction to research in software engineering and programming languages, based on reading and presenting high quality research papers in the field.
This semester there will be no general specific focus but rather a broad range of topics in the field.
In the first lecture I will explain the rules, distribute the research papers, and then give a short a lecture on how to give good technical presentations. The next two Wednesdays there will be no session. The remaining lectures will consist of student presentations, each about one research paper that is assigned in the beginning of the course.
Goals of this Course
- Learn how to read and understand a recent research paper in computer science.
- Learn how to present a technical topic in computer science to an audience of peers.
Academic Integrity
Avoid copy-paste as much as possible. For material (especially graphics and anything included by copy-paste) not created by you but used in your presentation you have to provide an acknowledgment of the source on the same slide.
Grading
- Quality of your presentation
and subsequent question handling
- How well you understood the paper
- How understandable you presented it
- How effectively your slides communicated (which includes the visual quality of the slides)
- The papers have varying difficulty; we will take that into account
- Presence and participation (e.g., good questions) during the presentations by other students
- If you miss many classes you will fail the course
How It Works
- In the beginning of the course every student will get a research paper and presentation date assigned (see schedule below)
- Understand the paper (motivation of the work, what they do, what the results are, what the limitations are)
- study the paper carefully
- obtain and study relevant background material such as other papers that are cited; you may need to include some of this background material in your presentation
- possibly meet with the TA or instructor to ask questions
- Create a presentation
- try to follow the guidelines given in the first lectures
- main check list what the presentation should include:
- clear motivation for the work
- maybe briefly provide some necessary background
- clear explanation what the paper does; this means using, as appropriate, examples, well-designed visuals, code examples
- do not trivialize the content, go deeper where necessary
- understandable (by your fellow students) presentation of the content and the results
- do not try to cover everything in the paper, just the key parts; be ready to explain any technical term used
- brief critical discussion in the end of the contribution: strong and weak parts including limitations
- strive for high visual quality
- acknowledge any external material (graphics, anything included by copy-paste from other sources) on the same slide (bottom right, small font, gray is usually a good way)
- If possible try out the tool/code that comes with the paper
- Have one meeting with your advisor at least a week before your presentation for clarifications and feedback. Bring a draft of the presentation.
- Present at your assigned date
- Presentations are 30 minutes + 15 minutes for questions
- The presentation time will be enforced (as in the real world) but much too short is also not good
Lectures
Lecture |
Date |
Title |
TA advisor |
Instructor |
1 |
21.09. |
Organization, small guide to technical presentations |
- |
Markus Püschel |
2 |
28.09. |
no seminar |
- |
- |
3 |
05.10. |
no seminar |
- |
- |
4 |
12.10. |
Balasubramanian: Compiler validation via equivalence modulo inputs
Hobrjartsson: Deny capabilities for safe, fast actors
|
AB
VA |
Peter Müller |
5 |
19.10. |
Goltz: Symbolic optimization with SMT solvers
Schmid: Typestate-based semantic code search over partial programs |
GS
GS |
Markus Püschel |
6 |
26.10. |
no seminar |
|
|
7 |
02.11. |
Kayed: Valor: efficient, software-only region conflict exceptions
Fischlin: Abstract Model Counting: a novel approach for Quantification of Information Leaks |
AD
BB |
Martin Vechev |
8 |
09.11. |
Ban: Input-Sensitive Profiling
Bödvarsson: Algorithmic Profiling |
LDT
LDT |
Thomas Gross |
9 |
16.11. |
Lilyanova: On-the-fly Pipeline Parallelism
Saemundsson: Enabling Effective Programming and Flexible Management of Efficient Body Sensor Network Applications |
AM
IU |
Thomas Gross |
10 |
23.11. |
Lichman: Abstract Semantic Diffing of Evolving Concurrent Programs
|
AD |
Martin Vechev |
11 |
30.11. |
Birjovanu: Systematic black-box analysis of collaborative web applications
Aurecchia: QuickChecking static analysis properties
|
AB
AB |
Peter Müller |
12 |
07.12. |
Inglin: Liquid types
Schimmelfennig: Bigfoot: Static Check Placement for Dynamic Race Detection |
VA
AD |
Peter Müller, Martin Vechev |
13 |
14.12. |
no seminar |
|
|
14 |
21.12. |
Peverelli: Concurrent Programming with Revisions and Isolation Types
Falkenstein: Hybrid STM/HTM for nested transactions on OpenJDK |
MB
MB |
Thomas Gross |
|