Lecturer | Dr. Michael Pradel | |
Teaching assistants | Marina Billes, Andrew Habib, 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. Grading will be based on a final exam, the course project, and the term paper.
This is a preliminary schedule that may change.
Date | Topic | Material | Deadlines and special events | ||||
---|---|---|---|---|---|---|---|
Oct 17, 2016 | Introduction; Basics | slides and notes | |||||
Oct 24, 2016 | Operational semantics 1 | ||||||
Oct 31, 2016 | Operational semantics 2 | slides and notes | Register teams for project and choose topics
| ||||
Nov 7, 2016 | Manual testing | ||||||
Nov 14, 2016 | Random and fuzz testing | ||||||
Nov 21, 2016 | Symbolic and concolic testing | ||||||
Nov 28, 2016 | GUI Testing | ||||||
Dec 5, 2016 | Testing concurrent programs | ||||||
Dec 12, 2016 | (no lecture) | Mid-term "exam" (not mandatory) | |||||
Dec 19, 2016 | Program slicing | ||||||
Jan 9, 2017 | Information flow analysis | Term papers for peer review | |||||
Jan 16, 2017 | Specification mining | ||||||
Jan 23, 2017 | Performance profiling | ||||||
Jan 30, 2017 | Path profiling | Reviews for term papers | |||||
Feb 6, 2017 | No lecture (project presentations) | Presentation of projects | |||||
Feb 20, 2017 | Projects and final term papers | ||||||
TBD | Final exam |
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: http://piazza.com/tu-darmstadt.de/fall2016/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). 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%.