Beyond Coverage: Modern Testing and Debugging
(CSE P 590/Spring 2019)


Announcements


Overview

This course focuses on the principles of effective software testing and debugging, emphasizing state-of-the-art approaches and a hands-on experience. Topics include mutation-based testing, constraint-based testing, automated test generation, and probabilistic debugging.


Logistics

Lecture

Tue 6:30pm--9:20pm

Room

CSE2 G10

Instructor

René Just
  • rjust(at)cs.washington.edu
  • Office: CSE2 338
  • Office hours: After class and by appointment

Teaching Assistant

Martin Kellogg
  • kelloggm(at)cs.washington.edu
  • Office: CSE2 253
  • Office hours: Before and after class, and by appointment

Grading

Grades will be based on a class project, in-class exercises, and participation:
  • 30%: Class project
  • 60%: In-class exercise exercises
  • 10%: Participation


Course material

Date Topic Material

04/02 Course introduction Slides, Slides (4pages)
04/09 Best practices and version control Slides, Slides (4pages)
In-class exercise 1
04/16 Coverage-based testing Slides, Slides (4pages)
In-class exercise 2
04/23 Automated test generation Paper/group discussions
In-class exercise 3
04/30 Mutation-based testing Slides, Slides (4pages), Code examples
Project presentation 1
05/07 Mutation-based testing Slides, Slides (4pages)
In-class exercise 4
05/14 Formal reasoning and constraint-based testing Slides, Slides (4pages)
In-class exercise 5
05/21 Fault localization Slides, Slides (4pages)
In-class exercise 6
05/28 Defect prediction Slides, Slides (4pages)
Project presentation 2
06/04 Type checking and pluggable types


Assignments/Readings

Some paper links may point into a Digital Library. Using a UW IP address, or the UW libraries off-campus access, should provide access.

Date Assignment/Reading

04/02 Project proposal (due 04/09)
04/09 In-class exercise 1 (write up due 04/11)
04/16 In-class exercise 2 (write up due 04/18)
04/23 Randoop (manual), EvoSuite (manual)
In-class exercise 3 (write up due 04/25)
04/30 Project proposal
05/07 Industrial mutation testing, Major mutation framework
In-class exercise 4 (write up due 05/09)
05/14 In-class exercise 5 (write up due 05/16)
05/21 In-class exercise 6 (write up due 05/23)
05/28 Project presentation/demo (instructions)
06/04 Final project deliverables (requirements)




You can find the general course policies here.