Schedule

We meet Tuesdays at 4:30-7:20 in SUR 2710.

If there are papers listed for a given day, you should read them before class that day. For student presented papers, on any week that you are not presenting a paper, you should write a response/critique to one of that week's papers. These critiques don't just show that you have at least skimmed through the paper, but they prepare you to discuss the papers and raise (or answer) questions during class. Critiques must be emailed to the professor by midnight before (PDFs, please). If you are presenting a paper, slides for presentation must be emailed to the professor by midnight before the class (PDFs, please).

The schedule is subject to change.

Date Topics Papers
Jan 7 Introduction
Program Representation
Slicing
Static Analysis
LLVM and Project 1
Slides
Project 1 due Jan 27
Jan 14 More static analysis
Dynamic Analysis
Profiling
Test Generation
Debugging
Concurrency
Background Thomas Ball, James R. Larus
Efficient Path Profiling
MICRO 29 (1996)
Jan 21 Profiling Nigel Mike Bond, Kathryn McKinley
Probabilistic Calling Context
OOPSLA 2007
Karol See Coursys
Jan 28 Test Generation
Project 2 due Feb 24
Jiten Koushik Sen, Darko Marinov, Gul Agha
CUTE: A Concolic Unit Testing Engine for C
FSE 05
Nastaran Gordon Fraser, Andrea Arcuri
Whole Test Suite Generation
TSE 2013 / FSE and QSIC 2011
Background Cristian Cadar, Koushik Sen
Symbolic execution for software testing: Three decades later
CACM 2013
Tao Xie's symbolic execution references
Feb 4 Debugging Snehasish Andreas Zeller, Ralf Hildebrandt
Simplifying and Isolating Failure Inducing Input
TSE 02 / ISSTA 2000
Karol James A. Jones, Mary Jean Harrold.
Empirical Evaluation of the Tarantula Automatic Fault-Localization Technique
ASE 2005
Feb 11 NO CLASS
Feb 18 Debugging Nigel Ansuman Banerjee, Abhik Roychoudhury, Johannes A. Harlie, Zhenkai Liang
Golden Implementation Driven Software Debugging
FSE 2010
Nastaran Xiangyu Zhang, Neelam Gupta, Rajiv Gupta
Locating Faults Through Automated Predicate Switching
ICSE 06
Feb 25 Concurrency
Term Project Proposals due March 3
Jiten Robert O'Callahan, Jong-Deok Choi
Hybrid Dynamic Data Race Detection
PPoPP 03
Snehasish Shan Lu, Joe Tucek, Feng Qin, Yuanyuan Zhou
AVIO: Detecting Atomicity Violations via Access Interleaving Invariants
ASPLOS 06
Mar 4 Concurrency
Distributed Systems
Nigel Madanlal Musuvathi, Shaz Qadeer, Tom Ball, Gerard Basler, Piramanayakam Arumuga Nainar, Iulian Neamtiu
Finding and Reproducing Heisenbugs in Concurrent Programs
OSDI 2008
Karol Hyojeong Lee, Jeff Seibert, Charles Killian, Cristina Nita-Rotaru
Gatling: Automatic Attack Discovery in Large-Scale Distributed Systems
NDSS 2012
Mar 11 Security Jiten Martín Abadi, Mihai Budiu, Ăšlfar Erlingsson, Jay Ligatti
Control Flow Integrity
CCS 2005
Nastaran Laszlo Szekeresy, Mathias Payer, Tao Wei, Dawn Song
SoK: Eternal War in Memory
Security and Privacy (Oakland) 2013
Mar 18 Security
Student Choice
Snehasish Jason Hiser, Anh Nguyen-Tuong, Michele Co, Matthew Hall, Jack W. Davidson
ILR: Where'd My Gadgets Go?
Security and Privacy (Oakland) 2012
Karol Joseph L. Greathouse, Hongyi Xin, Yixin Luo, Todd M. Austin
A case for unlimited watchpoints
ASPLOS 2012
Mar 25 Student Choice Nigel Vineet Kahlon, Yu Yang, Sriram Sankaranarayanan, Aarti Gupta
Fast and accurate static data-race detection for concurrent programs
CAV 2007
Jiten Thanassis Avgerinos, Sang Kil Cha, Brent Lim Tze Hao, David Brumley
Automated Exploit Generation
NDSS 2011
Apr 1 Student Choice Snehasish M. de Kruijf, K. Sankaralingam, S. Jha
Static Analysis and Compiler Design for Idempotent Processing
PLDI 2012
Nastaran Feng Qin, Cheng Wang, Zhenmin Li, Ho-Seop Kim, Yuanyuan Zhou, Youfeng Wu
LIFT: A Low-Overhead Practical Information Flow Tracking System for Detecting Security Attacks
MICRO 2006
Apr 8 Project Presentations TBA
TBA
TBA
TBA
TBA