== Tentative Schedule == ***Week 1** (1/9) *Introduction[[http://www.cs.purdue.edu/homes/xyzhang/spring17/1-introduction.pdf|Slides]] *Program Representation[[http://www.cs.purdue.edu/homes/xyzhang/spring17/2-representation.pdf|Slides]] *Reading: [[http://www.cs.purdue.edu/homes/xyzhang/spring10/representation.pdf|Book Chapters]] ***Week 2** (1/16) *Dynamic Program Analysis Primitives - Tracing[[http://www.cs.purdue.edu/homes/xyzhang/spring17/3-tracing.pdf|Slides]] *Reading:[[http://www.cs.purdue.edu/homes/xyzhang/spring10/valgrind.pdf|Valgrind:a framework for heavyweight dynamic binary instrumentation]] ***Student Presentation (Weihang Wang)**: ***Week 3** (1/23) *Profiling[[http://www.cs.purdue.edu/homes/xyzhang/spring17/4-profiling.pdf|Slides]] *Reading:[[http://www.cs.purdue.edu/homes/xyzhang/spring10/epp.pdf|Efficient Path Profiling]] ***Student Presentation (Priyam Biswas)**: ***Week 4** (1/30) *Dynamic Slicing[[http://www.cs.purdue.edu/homes/xyzhang/spring17/5-slicing.ppt|Slides]] ***Student Presentation (Charitha Saumya)** ***Week 5** (2/6) *Implementing information flow system on Valgrind [[http://www.cs.purdue.edu/homes/xyzhang/spring17/5-slicing-IFS.updated.pdf|Slides]] *Building a LLVM tool by David Perry on 2/9[[http://www.cs.purdue.edu/homes/xyzhang/spring17/LLVMIntro.pdf|Slides]] ***Student Presentation (Abdulellah Abdulaziz M Alsaheel)** ***Week 6** (2/13) *Program semantics and formalizing dynamic analysis [[http://www.cs.purdue.edu/homes/xyzhang/spring17/6-formalism.pdf|Slides]] *Static program analysis[[http://www.cs.purdue.edu/homes/xyzhang/spring17/7-static-short.pdf|Slides]] ***Student Presentation (Hongjun Choi)** ***Week 7** (2/20) *Static program analysis *Suggested Reading: Dragon book 9.1-9.3.3 ***Student Presentation (Yingqi Liu)** ***Week 8** (2/27) *Alias analysis ***Student Presentation (Chris Doak)** ***Week 9** (3/6, midterm on 3/9) *Data flow analysis framework *Midterm ***Week 10** (3/13, spring break, no class) ***Week 11** (3/20) *Symbolic analysis[[http://www.cs.purdue.edu/homes/xyzhang/spring17/8-symbolic.pdf|Slides]] *Propositional Logic[[http://www.cs.purdue.edu/homes/xyzhang/spring17/|Slides]] *Reading: Chapter one of //Logic in Computer Science//. ***Week 12** (3/27) *SAT solving[[http://www.cs.purdue.edu/homes/xyzhang/spring17/10-logic-wo-notes.pdf|Slides]] ***Student Presentation (Habiba Farrukh) ** ***Week 13** (4/3) *SMT solving[[http://www.cs.purdue.edu/homes/xyzhang/spring17/11-smt.pdf|Slides]] ***Student Presentation (Sudharshan Viswanathan)** ***Week 14** (4/10, instructor travels on 4/13) *Software model checking[[http://www.cs.purdue.edu/homes/xyzhang/spring17/12-modelchecking.pdf|Slides]] *Reading:[[http://www.kroening.com/papers/dac2003.pdf|CBMC]]. *[[http://ti.arc.nasa.gov/people/wvisser/ase00FinalJournal.pdf|Reading:Model Checking Programs]] *Reading:[[http://www.cs.ucla.edu/~todd/research/pldi01.pdf|Predicate Abstraction]] ***Student Presentation (Yuseok Jeon)** ***Week 15** (4/17) *Software model checking ***Student Presentation (Sneha Balasubramanian)** ***Week 16** (4/24) *Review *Project Demo