Instructor: | Michael Pradel | |
Course type: | Seminar | |
Language: | English | |
Time: | Monday, 3pm | |
Location: | Rheinstr. 75 (Fraunhofer SIT Neubau), ground floor, Room "Hamburg" | |
TUCaN entry: | 20-00-0769-se |
Have you ever wondered how to find many bugs with little effort? This seminar is about recent research in the area of automated program analyses that find bugs. Program analysis is the process of automatically analyzing the behavior of a program. It is a topic at the intersection of software engineering and programming languages.
In this seminar, students will learn how to read and digest research papers, how to present complex ideas to others, and how to give constructive feedback. Specifically, each student will be required to read and understand several research papers, to write a term paper that summarizes and discusses these papers, to critically review term papers written by others, and to give a talk.
We cover the following topics:
To participate in the seminar, you must be present during the first meeting.
Grades are determined based on your final term paper (40%), your talk (40%), and your review of other term papers (20%). Attending the weekly meetings is mandatory to get credit.
For writing term papers, please use this LaTeX template.
We'll have weekly meetings from Nov 10 to Dec 15, 2014, where one or more students talk about a particular topic. During the semester, there are deadlines for submitting your term paper, for reviewing term papers written by others, and for revising your term paper based on the feedback you get. Here's a tentative schedule:
Nov 10, 2014: Concurrency
Paper | Speaker | |
Multithreaded Java program test generation, Edelstein et al., 2002 | Ankit Chouhary | |
AVIO: Detecting Atomicity Violations via Access Interleaving Invariants, Lu et al., 2006 | Aoun Haider |
Nov 17, 2014: Web and GUI applications
Paper | Speaker | |
A Framework for Automated Testing of JavaScript Web Applications, Artzi et al., 2011 | Thomas Glaser | |
EventBreak: Analyzing the Responsiveness of User Interfaces through Performance-Guided Test Generation, Pradel et al., 2014 | Prasad Sawant |
Nov 24, 2014: Performance bugs 1
Paper | Speaker | |
Go with the Flow: Profiling Copies to Find Runtime Bloat, Xu et al., 2009 | Matthias Mettel | |
Catch Me If You Can: Performance Bug Detection in the Wild, Jovic et al., 2011 | Saju Daniel |
Dec 1, 2014: Performance bugs 2
Paper | Speaker | |
Measuring Empirical Computational Complexity, Goldsmith et al., 2007 | Manikandan Ravichandran | |
Algorithmic Profiling, Zaparanuks and Hauswirth, 2012 | Jigar Modi |
Dec 8, 2014: Concolic execution
Paper | Speaker | |
DART: Directed Automated Random Testing, Godefroid et al., 2005 | Markus Ermuth | |
TBD | TBD |
Dec 15, 2014: Testing at Google/Youtube
Guest talk by Andreas Leitner (Google, Zurich)
Jan 12, 2015: Security vulnerabilities
Paper | Speaker | |
25 Million Flows Later - Large-scale Detection of DOM-based XSS, Lekies et al., 2013 | Tahir Hussain | |
Chucky: Exposing Missing Checks in Source Code for Vulnerability Discovery, Yamaguchi et al., 2013 | Suhas Chikkanna |
Jan 12, 2015: Deadline for term papers
Jan 29, 2015: Deadline for reviews
Feb 17, 2015: Deadline for revised term papers