CS/SE 6301: Advanced Software Testing and Verification

This course will cover basic background and concepts in software testing. In addition, the course will cover the main research topics during the whole software testing lifecycle, including test generation, mutation testing, regression testing, oracle generation, automated debugging and repair. Finally, the course will also introduce recent advances in static analysis and formal verification, as well as bug detection for specific kinds of programs, e.g., concurrent programs, web-based systems, mobile apps, and compilers.

Course Information


Recommended Textbooks

Tentative Schedule

Date Lecture Topic Readings Memo
13-Jan Lecture 01: Course Introduction
15-Jan Lecture 02: Testing and JUnit
20-Jan Lecture 03: Code Coverage (I)
22-Jan Lecture 04: Code Coverage (II) Dataflow Coverage Assignment-1 Out (Due 11:59pm 28-Jan)
27-Jan Lecture 05: Test Generation (I) Adaptive Random Testing, Randoop, EvoSuite
29-Jan Lecture 06: Test Generation (II) Java PathFinder, Pex, KLEE
03-Feb Lecture 07: Mutation Testing Selective Mutation Testing, Weak Mutation Testing,
Is mutation an appropriate tool for testing experiments?
Assignment-2 (review instructions) Out (Due 11:59pm 09-Feb)
05-Feb Lecture 08: Regression Testing Test Prioritization, Test Selection, Test Reduction
10-Feb Lecture 09: Oracle/Invariant Generation Daikon, iDiscovery
12-Feb Lecture 10: Automated Debugging Tarantula, Delta Debugging Assignment-3 (review instructions) Out (Due 11:59pm 18-Feb)
17-Feb Lecture 11: Program Repair GenProg (I), GenProg (II) Paper Presentation List Out (Selection Due 11:59pm 1-Mar)
19-Feb Tools&Benchmarks (I) Tutorial (Git, Svn, Ant, Maven)
24-Feb School Closed
26-Feb Course Project Introduction Course Project List Out (Proposal Due 11:59pm 8-Mar)
03-Mar Tools&Benchmarks (II)
05-Mar School Closed
10-Mar Tools&Benchmarks (III) JDT Sample Project, JDT Tutorial
12-Mar Tools&Benchmarks (IV) ASM Sample Code
17-Mar Holiday
19-Mar Holiday
24-Mar Program Coverage I: Huiru Li, Bin Zhang Slides-1, Slides-2
26-Mar Mutation Testing: Yayi Xu, Venkata Keerthana Kuncham Slides-1, Slides-2
31-Mar Test Generation: Tushar Deepak Nadkarni,Omeed Safi Slides-1, Slides-2
02-Apr Regression Testing: Chaoran Wang, Xinwen Zhu Slides-1, Slides-2
07-Apr Oracle Generation: Cheng Ji, Chien-Ping Hsieh Slides-1, Slides-2
09-Apr Bugs and Repair: Chao-Wei Liao, Saurabh Choudhary Slides-1, Slides-2
14-Apr Mobile Testing: Xinyu Hu, Yafeng Lu Slides-1, Slides-2
16-Apr Program Coverage II: Shengyang Su, Chen Wang Slides-1, Slides-2
21-Apr Project Presentation
23-Apr Project Presentation
28-Apr Project Presentation
30-Apr Project Presentation