Presentation is loading. Please wait.

Presentation is loading. Please wait.

Seminars & Projects © Marcelo d’Amorim 2010.

Similar presentations


Presentation on theme: "Seminars & Projects © Marcelo d’Amorim 2010."— Presentation transcript:

1 Seminars & Projects © Marcelo d’Amorim 2010

2 Grade 20% seminar 80% project © Marcelo d’Amorim 2010

3 Students Leopoldo Teixeira Elton Alves Andrei Alvares Diego Dias Ademir Rocha © Marcelo d’Amorim 2010

4 SEMINARS © Marcelo d’Amorim 2010

5 Seminar S1 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

6 Seminar S2 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

7 Seminar S3 Tutorial on Andersen’s and Steensgaard’s Points-to analysis – References on request © Marcelo d’Amorim 2010

8 Seminar S4 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

9 Seminar S5 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

10 Seminar S6 Code differencing (for evolution) – B. Fluri et al. Change Distilling: Tree Differencing for Fine-Grained Source Code Change Extraction. TSE © Marcelo d’Amorim 2010

11 Seminar S7 SSA vs. SSI © Marcelo d’Amorim 2010

12 PROJECTS © Marcelo d’Amorim 2010

13 Project P1 Symbolic executor instrumenter using Jimple © Marcelo d’Amorim 2010

14 Project P2 Query Language (LTL or ERE) – Example “A (f.open() => E (f.close()))”, where A means Always, and E means Eventually © Marcelo d’Amorim 2010

15 Project P3 API rule mining (conceptually, inverse of P2) – Example: API calls: “Whenever you call this method you eventually call that” © Marcelo d’Amorim 2010

16 Project P4 Lightweight slicing – “What lines of the program are relevant to violate state assertion?” © Marcelo d’Amorim 2010 O1O2O3O4O5 O1 {10,15} O2 {20} O3 O4 {25} O5 – Hypothesis: Several parts of the state (and thus locs) are irrelevant (see blue cells) Transitive closure on this relation from faulty object(s), say o1.

17 Project P5 Behavior-preserving differencing – Question: Which static changes affect behavior? – Input: Two source bases, output relevant changes – Several approaches… © Marcelo d’Amorim 2010

18 Project P6 Extract interfaces for feature modularization (Marcio Ribeiro PhD thesis subject) © Marcelo d’Amorim 2010

19 Project P7 Finding security flaws in PHP programs using tainted-flow analysis © Marcelo d’Amorim 2010

20 Assignments Leopoldo Teixeira (S5,P6) Elton Alves (S6, P5) Andrei Alvares (S7,P7) Diego Dias (S3,P2) Ademir Rocha (S6,P5) © Marcelo d’Amorim 2010 Apresentações 20 e 22 de Abril. Andrei apresentará no dia 20.


Download ppt "Seminars & Projects © Marcelo d’Amorim 2010."

Similar presentations


Ads by Google