== Tentative Schedule == ***Week 1** (8/24) *Introduction[[http://www.cs.purdue.edu/homes/xyzhang/fall09/1-intro.pdf|Slides]] *Program Representations[[http://www.cs.purdue.edu/homes/xyzhang/fall09/2-representation.pdf|Slides]] *Tracing and Profiling *Reading:[[http://www.cs.purdue.edu/homes/xyzhang/fall08/epp.pdf|Efficient Path Profiling]] ***Week 2** (8/31) *Slicing (static, dynamic, and relevant slicing) *Reading:[[http://portal.acm.org/citation.cfm?doid=24039.24041|The program dependence graph and its use in optimization]] *Reading:[[http://www.cs.purdue.edu/homes/xyzhang/Comp/icse03.pdf|Precise dynamic slicing algorithms]] *Reading:[[http://portal.acm.org/citation.cfm?id=319248|An efficient relevant slicing method for debugging]] ***Week 3** (9/7, labor day,project 1 is assigned) *Testing *Introduction and topics in testing *Combinatorial test generation *Reading:[[http://aetgweb.argreenhouse.com/papers/1999-icse.pdf|Model-Based Testing in Practice]] *Dynamic test generation *Reading:[[http://portal.acm.org/citation.cfm?id=1064978.1065036|DART: Directed Automated Random Testing]] *Concurrency testing *Reading:[[http://portal.acm.org/ft_gateway.cfm?id=1250785&type=pdf&coll=GUIDE&dl=GUIDE&CFID=48525329&CFTOKEN=10919746|Iterative context bounding for systematic testing of multithreaded programs]] ***Week 4** (9/14) *Testing *Debugging *Statistical debugging *Reading:[[http://www.cs.purdue.edu/homes/xyzhang/fall07/Papers/pldi-2005.pdf|Scalable Statistical Bug Isolation]] *Delta debugging *Reading:[[http://www.cs.purdue.edu/homes/xyzhang/fall07/Papers/delta-debugging.pdf|Simplifying and Isolating Failure-Inducing Input]] *Comparison-based debugging *Reading:[[http://www.cs.purdue.edu/homes/xyzhang/Comp/fase09.pdf|Algorithms for Automatically Computing the Causal Paths of Failures]] *Debugging concurrent programs *Reading:[[http://www.cs.purdue.edu/homes/xyzhang/fall07/Papers/rob-race.pdf|Hybrid Dynamic Data Race Detection]] *Reading:[[http://www.cs.purdue.edu/homes/xyzhang/fall07/Papers/avio.pdf|AVIO: detecting atomicity violations via access interleaving invariants]] ***Week 5** (9/21) *Debugging ***Week 6** (9/28) *Debugging *Tools ***Week 7** (10/5, paper bidding for mini PC meeting due, project 2 is assigned, student presentations start) *[[http://www.cs.purdue.edu/homes/xyzhang/fall07/Papers/PRMiner.pdf|[FSE'05]PR-Miner: Automatically Extracting Implicit Programming Rules and Detecting Violations in Large Software Code (Tao Bao)]] *[[http://portal.acm.org/citation.cfm?id=1555036|[ICSE'09] Automatic Creation of SQL Injection and Cross-Site Scripting Attacks (Madhavan)]] ***Week 8** (10/12, October break, final project proposal due) *[[http://pages.cs.wisc.edu/~liblit/sc-2009/sc-2009.pdf|[SC'09] Scalable Temporal Order Analysis for Large Scale Debugging (Brandon)]] ***Week 9** (10/19, project 2 is due, discussion on project proposals) *Invited talk on getting a startup funded. *[[http://thomas-zimmermann.com/publications/files/jeong-esecfse-2009.pdf|[FSE'09] Improving Bug Triage with Bug Tossing Graphs (Neelam)]] ***Week 10** (10/26) *[[http://www.usenix.org/event/nsdi09/tech/full_papers/yabandeh/yabandeh.pdf|[NSDI' 09] CrystalBall : Predicting and Preventing Inconsistencies in Deployed Distributed Systems (Kyu Hyung)]] *[[http://portal.acm.org/citation.cfm?id=1294261.1294274|[SOSP'07]Bouncer: securing software by blocking bad input (Zhiqiang)]] ***Week 11** (11/2, mini PC meeting) ***Week 12** (11/9) *[[http://www.cse.psu.edu/~szhu/papers/wangccs09.pdf|[CCS'09] Behavior Based Software Theft Detection (Brent)]] *(Siddharth) ***Week 13** (11/16, final project status report) *[[http://www.eecs.umich.edu/~nsatish/papers/ISCA-09-CPC.pdf|[ISCA'09] A Case for an Interleaving Constrained Shared-Memory Multi-Processor(Dasarath)]] *[[http://www.macesystems.org/papers/MaceODB-cc2009.pdf|[CC'09] Live Debugging of Distributed Systems (Yunhui)]] ***Week 14** (11/23, thanks-giving) *One student presentation. ***Week 15** (11/30) *Two student presentations. ***Week 16** (12/7, final presentations and reports due)