This course will provide an introduction to software testing and quality assurance techniques. The students will learn a wide spectrum of techniques and tools that can be used to improve and evaluate software quality ranging from mature testing methodologies to cutting edge automated verification algorithms. Topics to be covered include: coverage criteria (graph, data-flow, and logic coverage), symbolic execution (static, dynamic, concolic), constraint solving (SMT), inductive invariants, automatic deductive verification, automatic invariant synthesis, and Software Model Checking.
Additional information about the course is available in the course syllabus.
Details | Instructor | Teaching Assistants |
---|---|---|
Name | Prof. Arie Gurfinkel (@prof_arie) | Isabel Garcia-Contreras (@TA_Isa) |
Office | Home | |
first . last AT uwaterloo.ca | — |
Jan 5 | A0 out |
Jan 9 | A0 due |
Jan 11 | A1 out |
Feb 4 | A1 due |
Jan 27 | Fuzz out |
Feb 11 | Fuzz due |
Feb 14 | Quiz 1 out |
Feb 15 | A2 out |
Feb 21 - 25 | Reading week |
Mar 11 | A2 due |
Mar 15 | A3 out |
Mar 15 | Quiz 2 out |
Apr 4 | A3 due |
Apr 4 | Last class |
Apr 15 | Project Due |