Schedule

Below is the tentative schedule for the course. The schedule is subject to change at any time.

Week Date Topic Presenter Comment
    SE Basics    
Week 1 24-Aug-26 Intro and Course Details Saikat  
  26-Aug-26 Program Analysis 1 Saikat  
Week 2 31-Aug-26 Program Analysis 2 Saikat  
  2-Sep-26 Software Testing Saikat  
Week 3 7-Sep-26 No Classes (labor day)    
  9-Sep-26 Security Saikat  
    LLM Basics    
Week 4 14-Sep-26 ML Models: Intro Saikat Project Proposal Due
  16-Sep-26 Post-Training LLM Adaptation Saikat  
Week 5 21-Sep-26 Fine-Tuning/Quantization Saikat  
  23-Sep-26 LLM Agents (for SE) Saikat  
Week 6 28-Sep-26 Proposal Presentations    
  30-Sep-26 Agent Architectures    
Week 7 5-Oct-26 Evaluation of LLMs    
  7-Oct-26 Speculative Decoding/Alignment    
    Flexible and Efficient Grammar-Constrained Decoding    
    Enforcing Temporal Constraints for LLM Agents    
Week 8 12-Oct-26 No classes (Fall Break)    
  14-Oct-26 Security of Agents    
    Securing AI Agents With Information-Flow Control    
    Efficient and Sound Probabilistic Verification for AI Agents    
Week 9 19-Oct-26 LLM/Agent Adaptation   MidTerm Report Due
    Training software engineering agents and verifiers with swe-gym    
    Specbench: Measuring reward hacking in long-horizon coding agents    
  21-Oct-26 Dynamic Analysis    
    Faster runtime verification during testing via feedback-guided selective monitoring    
    SHERLOC: Structured Diagnostic Localization for Code Repair Agents    
Week 10 26-Oct-26 Flaky Tests    
    Understanding and Improving Flaky Test Classification    
    TERA: Optimizing Stochastic Regression Tests in Machine Learning Projects    
  28-Oct-26 Verification    
    Cobblestone: A Divide-and-Conquer Approach for Automating Formal Verification    
    AutoVerus: Automated Proof Generation for Rust Code    
    SACTOR: LLM-Driven Correct and Idiomatic C to Rust Translation with Static Analysis and FFI-Based Verification    
Week 11 2-Nov-26 Code Translation    
    Scalable, Validated Code Translation of Entire Projects using Large Language Models    
    ReCodeAgent: A Multi-agent Workflow for Language-Agnostic Translation and Validation of Large-Scale Repositories    
    SEDCoT: Enhancing LLM-Based COBOL Code Translation via Symbolic Execution and Delta Debugging    
    Verifier-Guided Code Translation via Meta-Step Decoding    
  4-Nov-26 Security    
    CyberGym: Evaluating AI Agents’ Real-World Cybersecurity Capabilities at Scale    
    KNighter: Transforming Static Analysis with LLM-Synthesized Checkers    
Week 12 9-Nov-26 Specification Inference    
    SpecGen: Automated Generation of Formal Program Specifications via Large Language Models    
    Specula: Scaling formal specifications for autonomous model checking of system code    
  11-Nov-26 Fuzzing    
    Fuzzing with Agents? Generators Are All You Need    
    Agentic Predicates Reasoning for Directed Fuzzing    
Week 13 16-Nov-26 Debugging DL Training    
    Training with Confidence: Catching Silent Errors in Deep Learning Training with Automated Proactive Checks    
    TrainVerify: Equivalence-Based Verification for Distributed LLM Training    
  18-Nov-26 GPU Kernels Testing/Verification    
    TensorRight: Automated Verification of Tensor Graph Rewrites    
    Hunting CUDA Bugs at Scale with cuFuzz    
Week 14 23-Nov-26 Testing DL Libraries and Compilers    
    Testing Deep Learning Libraries via Neurosymbolic Constraint Learning    
    Bootstrapping Fuzzers for Compilers of Low-Resource Language Dialects Using Language Models    
  25-Nov-26 No Classes (Thanksgiving Break)    
Week 15 30-Nov-26 Project Presentations    
  2-Dec-26 Project Presentations    
Week 16 7-Dec-26 Project Presentations    
  9-Dec-26 No Classes   Final Report Due