Hello, if you have any need, please feel free to consult us, this is my wechat: wx91due
CS 6340 Software Analysis and Test Fall 2024
Announcements:
- [8/18] We will upload course materials to Canvas. Please use Canvas to post any questions.
- [8/18] Welcome to CS 6340!
Instructor:Qirun Zhang,
Office: 2324 Klaus
Office Hours: Tue/Thu 4:45 - 5:30 PM
Email: [email protected]Teaching Assistant:Matthew Davis,
Office: By appointment
Office Hours: Tuesday 11 AM - 12 PM
Email: [email protected]
Karthikeya Sharma,
Office: By appointment
Office Hours: Wednesday 9:30 AM - 10:30 AM
Email: [email protected]
Lectures:Time: Tue/Thu 3:30 PM - 4:45 PM
Location: Howey Physics L5
Course Summary:CS 6340 is a graduate-level course on software analysis and testing. We will cover topics such as static program analysis, random testing, dataflow analysis, type systems, test case generation, symbolic execution, and more. We will also study selected papers from PL conferences such as POPL and PLDI.References:
-
Static Analysis
- Principles of Program Analysis by F. Nielson, H. Nielson, and C. Hankin, Springer, 1999.
- Formal Semantics of Programming Languages by G. Winskel, MIT Press, 1993.
- [MS18] Static Program Analysis by A. Møller and M. Schwartzbach, Online book, 2018.
- Updated lecture notes will be posted in Canvas.
- Writing and Presentation
- Source Code Analysis with Static Value-Flow
-
Paper Review
- Paper review LaTeX template.
- Deadline: by 10:00 pm EST the night before the class.
-
Project Proposal
- Four-Paragraph guideline for your proposal.
- Deadline: 9/28 by 10:00 pm EST.
-
Project Report
- Conference-paper-style report.
- Deadline: 11/27 by 10:00 pm EST.
- Paper Review: 20%
- Presentation: 20%
- Project: 60%
- Within 24 hours after the assignment is due: 50% point deduction;
- More than 24 hours late: 100% point deduction.
| Date | Topic | Paper | Presenter and Optional Reading |
|---|---|---|---|
| 8/20 | Introduction |
|
|
| 8/22 | Fundamentals | ||
| 8/27 | Fundamentals |
|
|
| 8/29 | Range analysis |
|
|
| 9/3 | Fundamentals |
|
|
| 9/5 | Graph reachability |
|
|
| 9/10 | Value-flow analysis |
|
|
| 9/12 | Value-flow analysis application |
|
|
| 9/17 | Symbolic Execution |
|
|
| 9/19 | Translation Validation |
|
|
| 9/24 | Taint analysis |
|
|
| 9/26 | High-level synthesis |
|
|
| 10/1 | Project Proposal |
|
|
| 10/3 | Compiler testing |
|
|
| 10/8 | Fundamentals |
|
|
| 10/10 | Vectorization |
|
|
| 10/15 | No class | ||
| 10/17 | Fundamentals |
|
|
| 10/22 | Fundamentals |
|
|
| 10/24 | Bounded model checking |
|
|
| 10/29 | Fundamentals |
|
|
| 10/31 | Path-sensitive analysis |
|
|
| 11/5 | Random Testing |
|
|
| 11/7 | Test-case reduction |
|
|
| 11/12 | Delta debugging |
|
|
| 11/14 | WebAssembly |
|
|
| 11/19 | Regular Expressions |
|
|
| 11/21 | Final Presentation |
|
|
| 11/26 | Final Presentation |
|
|
| 11/28 | No class | ||
Misc:If you have any concern, please send an email to the instructor. This link could help to send anonymous messages.