Termination and shape-shifting heaps - PowerPoint PPT Presentation

1 / 67
About This Presentation
Title:

Termination and shape-shifting heaps

Description:

Experimental results with Terminator [CAV'06,PLDI'06,SAS'05] ... TERMINATOR's proof rule. MUTANT/TERMINATOR. Experimental results. Conclusion & Discussion ... – PowerPoint PPT presentation

Number of Views:143
Avg rating:3.0/5.0
Slides: 68
Provided by: Byron4
Category:

less

Transcript and Presenter's Notes

Title: Termination and shape-shifting heaps


1
Termination and shape-shifting heaps

Byron Cook bycook_at_microsoft.com
Microsoft Research, Cambridge Joint work with
Josh Berdine, Dino Distefano, and Peter
OHearn
2
Experimental results with Terminator
CAV06,PLDI06,SAS05
Lines of code (x1000)
Cut-point set size
3
Experimental results with Terminator
CAV06,PLDI06,SAS05
Lines of code (x1000)
Cut-point set size
4
Experimental results with Terminator
CAV06,PLDI06,SAS05
Lines of code (x1000)
Cut-point set size
5
Experimental results with Terminator
CAV06,PLDI06,SAS05
Lines of code (x1000)
Cut-point set size
6
Experimental results with Terminator
CAV06,PLDI06,SAS05
Lines of code (x1000)
Cut-point set size
7
Outline
  • Introduction
  • TERMINATORs proof rule
  • MUTANT/TERMINATOR
  • Experimental results
  • Conclusion Discussion

8
Outline
  • Introduction
  • TERMINATORs proof rule
  • MUTANT/TERMINATOR
  • Experimental results
  • Conclusion Discussion

9
TERMINATORs proof rule
10
TERMINATORs proof rule
11
TERMINATORs proof rule
12
TERMINATORs proof rule
13
TERMINATORs proof rule
14
TERMINATORs proof rule
Ø
15
TERMINATORs proof rule
Ø
16
TERMINATORs proof rule
17
TERMINATORs proof rule
18
TERMINATORs proof rule
19
TERMINATORs proof rule
20
TERMINATORs proof rule
21
TERMINATORs proof rule
22
TERMINATORs proof rule
23
TERMINATORs proof rule
24
Outline
  • Introduction
  • TERMINATORs proof rule
  • MUTANT/TERMINATOR
  • Experimental results
  • Conclusion Discussion

25
Outline
  • Introduction
  • TERMINATORs proof rule
  • MUTANT/TERMINATOR
  • Experimental results
  • Conclusion Discussion

26
Reversing the strategy
27
Reversing the strategy
28
Reversing the strategy
29
Reversing the strategy
30
Reversing the strategy
31
Reversing the strategy
32
Mutant
33
Mutant
34
Mutant example
35
Mutant example
36
Mutant example
37
Mutant example
38
Mutant example
39
Mutant example
40
Outline
  • Introduction
  • TERMINATORs proof rule
  • MUTANT/TERMINATOR
  • Experimental results
  • Conclusion Discussion

41
Outline
  • Introduction
  • TERMINATORs proof rule
  • MUTANT/TERMINATOR
  • Experimental results
  • Conclusion Discussion

42
Experimental results
  • Revisiting loops falsely accused with TERMINATOR

43
Introduction
44
Introduction
45
Introduction
46
Introduction
47
Introduction
48
Introduction
49
Introduction
50
Introduction
51
Introduction
52
Introduction
53
Introduction
54
Introduction
55
Introduction
56
Introduction
57
Introduction
58
Introduction
59
Introduction
60
Outline
  • Introduction
  • TERMINATORs proof rule
  • MUTANT/TERMINATOR
  • Experimental results
  • Conclusion Discussion

61
Outline
  • Introduction
  • TERMINATORs proof rule
  • MUTANT/TERMINATOR
  • Experimental results
  • Conclusion Discussion

62
Conclusion Discussion
  • Constructing automatic termination provers out of
    abstract interpreters
  • Over-approximate binary reachability using
    encoding into states
  • Prove each state (partitioning of
    over-approximation) well-founded
  • MUTANT/TERMINATOR
  • Application using separation logic based abstract
    interpretation

63
Conclusion Discussion
  • Whats next combining termination analysis
    engines
  • Integer linear programs (TERMINATOR, roughly
    speaking)
  • Mutating heaps (MUTANT)
  • Non-linear programs (ZIGZAG)

64
Conclusion Discussion
  • Whats next combining termination analysis
    engines
  • Integer linear programs (TERMINATOR, roughly
    speaking)
  • Mutating heaps (MUTANT)
  • Non-linear programs (ZIGZAG)

65
Conclusion Discussion
  • Whats next combining termination analysis
    engines
  • Integer linear programs (TERMINATOR, roughly
    speaking)
  • Mutating heaps (MUTANT)
  • Non-linear programs (ZIGZAG)

66
Conclusion Discussion
  • Whats next combining termination analysis
    engines
  • Integer linear programs (TERMINATOR, roughly
    speaking)
  • Mutating heaps (MUTANT)
  • Non-linear programs (ZIGZAG)

67
Conclusion Discussion
  • See http//research.microsoft.com/TERMINATOR
  • Not-quite-camera-ready copy of CAV06 paper about
    MUTANT
  • Papers about TERMINATOR (PLDI06, SAS06, CAV06)
  • Questions?
Write a Comment
User Comments (0)
About PowerShow.com