SE 4367.001 - Software Testing Verification Validation and Quality Assurance

Spring 2023

Course Information

Location: MS Teams
Time: Tuesday & Thursday 2:30pm - 3:45pm
Instructor: Wei Yang
Email: [email protected]
Office: ECSS 4.225
Office Hours: Tuesday & Thursday 10AM-11AM at 3.910 (with appointment)
TA: Simin Chen
Email: [email protected]
Office: ECSS 4.215
Office Hours: Tuesday & Thursday afternoons (by appointment)

Course Style

This course is taught in a lecture-course style. Each student will be expected to accomplish:

Textbooks

This course will use The Fuzzing Book as the main textbook, and students can refer to following books for other background knowledge.
Static Program Analysis
The Debugging Book
Computer Security and the Internet: Tools and Jewels
The Art and Science of Analyzing Software Data (using UTD email to access)
Dive into Deep Learning
Building Intelligent Systems: A Guide to Machine Learning Engineering (using UTD email to access)
Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow (using UTD email to access)

Assignment

Assignment1: Setting up the fuzzing book

Assignment2: Test drive AFL

Schedule and Lecture Slides

Week Dates Topic Material
1.1 Jan. 17th Course Overview [Slides] [Video]
1.2 Jan. 19th Introduction to Software Testing I [Slides] [Video] [Book Chapter] [Reading1] [Reading2]
2.1 Jan. 24th Introduction to Software Testing II - Coverage [Slides] [Video] [Book Chapter] [Reading1] [Reading2]
2.2 Jan. 26th Mutation Analysis [Slides] [Video] [Book Chapter1] [Book Chapter2] [Reading1] [Reading2]
[Reading3] [Reading4] [Reading5]
3.1 Feb. 7th Static Program Representation[Slides] [Video] [Book Chapter] [Reading1] [Reading2]
3.2 Feb. 9th Dataflow Analysis I[Slides] [Video] [Book Chapter] [Reading1] [Reading2] [Reading3]
4.1 Feb. 14th Dataflow Analysis II[Slides] [Video] [Book Chapter] [Reading1] [Reading2] [Reading3]
4.2 Feb. 16th Dataflow Analysis III[Slides] [Video] [Book Chapter] [Reading1] [Reading2] [Reading3]
5.1 Feb. 21st Random Testing[Slides] [Video] [Book Chapter1] [Reading1] [Reading2]
5.2 Feb. 23rd Pointer Analysis I[Slides] [Book Chapter1] [Reading1] [Reading2]

6.1 Feb. 28th Pointer Analysis II[Slides] [Book Chapter1] [Reading1] [Reading2]

6.2 March 2nd Automated Test Generation[Slides] [Book Chapter1] [Reading1] [Reading2]

7.1 March 7th Mid-term Review[Slides]
7.2 March 9th Mid-term Exam
8.1 March. 21th Mutation-base Fuzzing[Slides] [Video] [Book Chapter1] [Book Chapter1] [Reading1] [Reading2]
8.2 March. 23th Grammar-based Testing[Slides] [Video] [Book Chapter] [Reading1] [Reading2]
9.1 March. 28th Probabilistic Testing[Slides] [Video] [Book Chapter1] [Book Chapter2] [Reading1] [Reading2] [Reading2] [Reading3]
9.2 March. 30th Delta Debugging I[Slides] [Video] [Book Chapter] [Reading1] [Reading2]
10.1 April. 4th Delta Debugging II[Slides] [Video] [Book Chapter] [Reading1] [Reading2]
10.2 April. 6th Search-Based Testing [Slides] [Video] [Book Chapter] [Reading1] [Reading2]
11.1 April. 11th Greybox Fuzzing[Slides] [Video] [Book Chapter] [Reading1] [Reading2] [AFLFast] [AFLGo]
11.2 April. 13th Symbolic Execution (1)[Slides] [Video] [Book Chapter] [Reading1] [Reading2]
12.1 April 18th Symbolic Execution (2)[Slides] [Video] [Book Chapter] [Reading1] [Reading2]
12.2 April 20th Statistical Debugging[Slides] [Video] [Book Chapter] [Reading1] [Reading2]
13.1 April 25th Fundermentals of Testing ML models[Slides] [Video] [Reading1] [Reading2]
13.2 April 27th Robustness Testing[Slides] [Video] [Reading1] [Reading2]
14.1 May 2nd Final Review[Slides] [Video] [Reading1] [Reading2]
14.2 May 4th Final Exam