CS/CE/SE 6367: Software Testing, Validation 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, test adequacy, 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 state-of-the-art tools/frameworks for static and dynamic code analysis.

Course Information


Required Textbooks

Recommended Textbooks

Tentative Schedule

Date Lecture Topic Readings Memo
12-Jan Lecture 01: Course Introduction
14-Jan Lecture 02: Software Testing and JUnit
19-Jan Lecture 03: Code Coverage (I): Control-Flow-Based Coverage
21-Jan Lecture 04: Code Coverage (II): Data-Flow-Based Coverage