http pan cin ufpe br Seminars Projects Marcelo
http: //pan. cin. ufpe. br Seminars & Projects © Marcelo d’Amorim 2010
Grade • 20% seminar • 80% project © Marcelo d’Amorim 2010
Students • • • Leopoldo Teixeira Elton Alves Andrei Alvares Diego Dias Ademir Rocha © Marcelo d’Amorim 2010
SEMINARS © Marcelo d’Amorim 2010
Seminar S 1 • Symbolic execution of Pointers – S. Khurshid, C. Pasareanu and W. Visser. Generalized Symbolic Execution for Model Checking and Testing. TACAS 2003 © Marcelo d’Amorim 2010
Seminar S 2 • Symbolic execution of Strings – D. Shannon, S. Hajra, A. Lee, D. Zhan, and S. Khurshid. Abstracting Symbolic Execution with String Analysis. TAIC-PART 2007 © Marcelo d’Amorim 2010
Seminar S 3 • Tutorial on Andersen’s and Steensgaard’s Points-to analysis – References on request © Marcelo d’Amorim 2010
Seminar S 4 • Local pattern search – Nathaniel Ayewah, David Hovemeyer, J. David Morgenthaler, John Penix, William Pugh. Experiences Using Static Analysis to Find Bugs. IEEE Software, 2008 © Marcelo d’Amorim 2010
Seminar S 5 • Global pattern search – Andrew J. Ko and Brad A. Myers. Debugging, Reinvented: Asking and Answering Why and Why Not Questions about Program Behavior. ICSE 2008 © Marcelo d’Amorim 2010
Seminar S 6 • Code differencing (for evolution) – B. Fluri et al. Change Distilling: Tree Differencing for Fine-Grained Source Code Change Extraction. TSE 2007. © Marcelo d’Amorim 2010
PROJECTS © Marcelo d’Amorim 2010
Project P 1 • Symbolic executor instrumenter using Jimple © Marcelo d’Amorim 2010
Project P 2 • Query Language (LTL or ERE) – Example “A (f. open() => E (f. close()))”, where A means Always, and E means Eventually © Marcelo d’Amorim 2010
Project P 3 • API rule mining (conceptually, inverse of P 2) – Example: • API calls: “Whenever you call this method you eventually call that” © Marcelo d’Amorim 2010
Project P 4 • Lightweight slicing – “What lines of the program are relevant to violate state assertion? ” – Hypothesis: O 1 • Several parts of the state (and thus locs) are irrelevant (see blue cells) O 1 O 2 O 3 O 4 O 5 {10, 15} O 2 {20} O 3 O 4 {25} O 5 Transitive closure on this relation from faulty object(s), say o 1. © Marcelo d’Amorim 2010
Project P 5 • Behavior-preserving differencing – Question: Which static changes affect behavior? – Input: Two source bases, output relevant changes – Several approaches… © Marcelo d’Amorim 2010
Project P 6 • Extract interfaces for feature modularization © Marcelo d’Amorim 2010
Assignments • • • Leopoldo Teixeira (S 5, P? ) Elton Alves (S 6, P 5) Andrei Alvares (S? , P? ) Diego Dias (S? , P? ) Ademir Rocha (? , P 5) © Marcelo d’Amorim 2010
- Slides: 18