Lecturer | Dr. Michael Pradel | |
Teaching assistants | Martin Billes, Jibesh Patra, Marija Selakovic, Cristian-Alexandru Staicu | |
Course type | Integrated course | |
Time | Monday, 9:50--11:30 | |
Location | S101/A4 | |
TUCAN entry | 20-00-0933-iv | |
Piazza | Class page |
This course introduces the principles and practice of testing and analyzing large software systems. The course provides an overview of program analysis and covers two topics in more detail: Test generation, i.e., techniques for automatically creating inputs to execute a program, and dynamic analysis, i.e., techniques for reasoning about the runtime behavior of a program. In addition to weekly lectures, students will deepen their understanding through a practical course project (implement a program analysis based on an existing framework) and acquire research skills by writing a term paper. Besides academic achievements, the course will help students to improve their programming skills by learning about common sources of mistakes and about techniques to find them.
This is a preliminary schedule that may change.
Date | Topic | Material | Deadlines and special events | ||||
---|---|---|---|---|---|---|---|
Oct 12, 2015 | Introduction; Basics | ||||||
Oct 19, 2015 | Operational semantics 1 | Register teams for project and choose topics | |||||
Oct 26, 2015 | Operational semantics 2 | slides & notes | |||||
Nov 2, 2015 | Manual testing | ||||||
Nov 9, 2015 | Random and fuzz testing | Choose topics for term paper | |||||
Nov 16, 2015 | Symbolic and concolic testing | ||||||
Nov 23, 2015 | GUI Testing | ||||||
Nov 30, 2015 | (no lecture) | Mid-term "exam" (not mandatory) | |||||
Dec 7, 2015 | Testing concurrent programs | ||||||
Dec 14, 2015 | (no lecture) | ||||||
Jan 11, 2016 | Program slicing | Term papers for peer review | |||||
Jan 18, 2016 | Information flow analysis | ||||||
Jan 25, 2016 | Specification mining | ||||||
Feb 1, 2016 | (no lecture) | Reviews for term papers | |||||
Feb 8, 2016 | Presentation of projects | Presentation of projects | |||||
Feb 19, 2016 | (no lecture) | Projects and final term papers | |||||
Mar 15, 2016 | Final exam |
Additional topics (relevant only for term papers):
We are using Piazza for class discussion, in-class quizzes, and for sharing additional material. The system is highly catered to getting you help fast and efficiently from classmates and instructors. Rather than emailing questions to the teaching staff, please post your questions on Piazza.
Find our class page at: https://piazza.com/tu-darmstadt.de/fall2015/20000933iv/home
For writing term papers and project reports, please use this LaTeX template.
Grading will be based on the course project, the term paper, and the final exam (33% each). To pass the course, students have to pass all three parts. We also provide a non-mandatory mid-term "exam", which allows students to obtain extra credits that can improve the overall grade by up to 10%.