| Date |
Topic |
Paper |
Presenter and Optional Reading |
| 8/20 |
Introduction |
|
|
| 8/22 |
Fundamentals |
|
| 8/27 |
Fundamentals |
|
|
| 8/29 |
Range analysis |
- [PLDI'20] Towards a verified range analysis for JavaScript JITs
|
|
| 9/3 |
Fundamentals |
|
|
| 9/5 |
Graph reachability |
- [POPL'95] Precise Interprocedural Dataflow Analysis via Graph Reachability
|
|
| 9/10 |
Value-flow analysis |
- SVF: interprocedural static value-flow analysis in LLVM
|
|
| 9/12 |
Value-flow analysis application |
- [TSE'14] Detecting Memory Leaks Statically with Full-Sparse Value-Flow Analysis
|
|
| 9/17 |
Symbolic Execution |
|
|
| 9/19 |
Translation Validation |
- [PLDI'21] Alive2: Bounded Translation Validation for LLVM
|
|
| 9/24 |
Taint analysis |
|
|
| 9/26 |
High-level synthesis |
- [PLDI'24] Allo: A Programming Model for Composable Accelerator Design
|
|
| 10/1 |
Project Proposal |
|
|
| 10/3 |
Compiler testing |
- [PLDI'17] Skeletal Program Enumeration for Rigorous Compiler Testing
|
|
| 10/8 |
Fundamentals |
- Path sensitivity and relational analysis
|
|
| 10/10 |
Vectorization |
- [PLDI' 22] All you need is superword-level parallelism: systematic control-flow vectorization with SLP
|
|
| 10/15 |
No class
|
| 10/17 |
Fundamentals |
- Interprocedural and context sensitive analysis
|
|
| 10/22 |
Fundamentals |
|
|
| 10/24 |
Bounded model checking |
- [CAV'14] Bounded Model Checking of Multi-threaded C Programs via Lazy Sequentialization
|
|
10/29 |
Fundamentals |
|
|
| 10/31 |
Path-sensitive analysis |
- [PLDI'21] Path-Sensitive Sparse Analysis without Path Conditions
|
|
| 11/5 |
Random Testing |
|
|
| 11/7 |
Test-case reduction |
- [PLDI'21] Test-Case Reduction and Deduplication Almost for Free with Transformation-Based Compiler Testing
|
|
| 11/12 |
Delta debugging |
|
|
| 11/14 |
WebAssembly |
- [PLDI'22] Finding the Dwarf: Recovering Pecise Types from WebAssembly Binaries
|
|
| 11/19 |
Regular Expressions |
- [PLDI'24] Linear Matching of JavaScript Regular Expressions
|
|
| 11/21 |
Final Presentation
|
|
|
| 11/26 |
Final Presentation
|
|
|
| 11/28 |
No class
|