Link Search Menu Expand Document

Calendar

Generally, we will discuss one research paper each class meeting. Please be sure to read the assigned paper before class. Where possible, I’ve directly linked to PDFs. However, some papers link to the ACM or IEEE library - you can sign in to those services using your Northeastern login (select “Sign in with institutional credentials” and then select Northeastern).

0. Introduction to Program Analysis and Testing Topics

Sep 10
Course Overview
Software Testing Basics, Intro to Program Analysis

1. Test Adequacy

2. Creating Inputs - Some History

3. Test Oracles - Differential and Metamorphic

4. Test Oracles - Runtime Property Checking

5. Creating Inputs - Fuzzing

6. Creating Inputs - Symbolic Execution

7. Creating Inputs - Structured Fuzzing

Oct 26
Finding and Understanding Bugs in C Compilers Yang et al, PLDI 2011
Oct 29
Semantic Fuzzing with Zest Padhye et al, ISSTA 2019
Project Proposal Due 11:59pm

8. Fuzzing Evaluations

9. Test Oracles - Security

10. Harnesses - Test Generation

Nov 16
Feedback-directed Random Test Generation Pacheco et al, ICSE 2007
Nov 19
Evolutionary Generation of Whole Test Suites Fraser and Arcuri, QISC 2011

11. Once you Find a Bug - Debugging

Nov 23
Debugging Reinvented: Asking and Answering Why and Why Not Questions about Program Behavior Ko and Myers, ICSE 2008 (Prof Bell will join remotely)
Nov 26
No class - Thanksgiving Recess

12. Bonus Fuzzing

13. Automated Program Repair

13. Conclusions

Dec 14
Casual project discussions
General course discussion
Dec 17
Project report due, 11:59pm

© 2021 Jonathan Bell. Released under the CC BY-SA license