Download presentation
Presentation is loading. Please wait.
Published byJaylon Beebe Modified over 9 years ago
1
1 Termination and shape-shifting heaps Byron Cook bycook@microsoft.com Microsoft Research, Cambridge Joint work with Josh Berdine, Dino Distefano, and Peter O’Hearn
2
2 Lines of code (x1000) Cut-point set size Experimental results with Terminator [CAV’06,PLDI’06,SAS’05]
3
3 Lines of code (x1000) Cut-point set size Experimental results with Terminator [CAV’06,PLDI’06,SAS’05]
4
4 Lines of code (x1000) Cut-point set size Experimental results with Terminator [CAV’06,PLDI’06,SAS’05]
5
5 Lines of code (x1000) Cut-point set size Experimental results with Terminator [CAV’06,PLDI’06,SAS’05]
6
6 Lines of code (x1000) Cut-point set size
7
7 Outline Introduction TERMINATOR’s proof rule MUTANT/TERMINATOR Experimental results Conclusion & Discussion
8
8 Outline Introduction TERMINATOR’s proof rule MUTANT/TERMINATOR Experimental results Conclusion & Discussion
9
9 TERMINATOR’s proof rule
10
10 TERMINATOR’s proof rule
11
11 TERMINATOR’s proof rule
12
12 TERMINATOR’s proof rule
13
13 TERMINATOR’s proof rule
14
14 TERMINATOR’s proof rule Ø
15
15 TERMINATOR’s proof rule Ø
16
16 TERMINATOR’s proof rule
17
17 TERMINATOR’s proof rule
18
18 TERMINATOR’s proof rule
19
19 TERMINATOR’s proof rule
20
20 TERMINATOR’s proof rule
21
21 TERMINATOR’s proof rule
22
22 TERMINATOR’s proof rule
23
23 TERMINATOR’s proof rule
24
24 Outline Introduction TERMINATOR’s proof rule MUTANT/TERMINATOR Experimental results Conclusion & Discussion
25
25 Outline Introduction TERMINATOR’s proof rule MUTANT/TERMINATOR Experimental results Conclusion & Discussion
26
26 Reversing the strategy
27
27 Reversing the strategy
28
28 Reversing the strategy
29
29 Reversing the strategy
30
30 Reversing the strategy
31
31 Reversing the strategy
32
32 Mutant
33
33 Mutant
34
34 Mutant example
35
35 Mutant example
36
36 Mutant example
37
37 Mutant example
38
38 Mutant example
39
39 Mutant example
40
40 Outline Introduction TERMINATOR’s proof rule MUTANT/TERMINATOR Experimental results Conclusion & Discussion
41
41 Outline Introduction TERMINATOR’s proof rule MUTANT/TERMINATOR Experimental results Conclusion & Discussion
42
42 Experimental results Revisiting loops falsely accused with TERMINATOR:
43
43 Introduction
44
44 Introduction
45
45 Introduction
46
46 Introduction
47
47 Introduction
48
48 Introduction
49
49 Introduction
50
50 Introduction
51
51 Introduction
52
52 Introduction
53
53 Introduction
54
54 Introduction
55
55 Introduction
56
56 Introduction
57
57 Introduction
58
58 Introduction
59
59 Introduction
60
60 Outline Introduction TERMINATOR’s proof rule MUTANT/TERMINATOR Experimental results Conclusion & Discussion
61
61 Outline Introduction TERMINATOR’s proof rule MUTANT/TERMINATOR Experimental results Conclusion & Discussion
62
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
63 Conclusion & Discussion What’s next: combining termination analysis engines: Integer linear programs (TERMINATOR, roughly speaking) Mutating heaps (MUTANT) Non-linear programs (ZIGZAG)
64
64 Conclusion & Discussion What’s next: combining termination analysis engines: Integer linear programs (TERMINATOR, roughly speaking) Mutating heaps (MUTANT) Non-linear programs (ZIGZAG)
65
65 Conclusion & Discussion What’s next: combining termination analysis engines: Integer linear programs (TERMINATOR, roughly speaking) Mutating heaps (MUTANT) Non-linear programs (ZIGZAG)
66
66 Conclusion & Discussion What’s next: combining termination analysis engines: Integer linear programs (TERMINATOR, roughly speaking) Mutating heaps (MUTANT) Non-linear programs (ZIGZAG)
67
67 Conclusion & Discussion See http://research.microsoft.com/TERMINATORhttp://research.microsoft.com/TERMINATOR Not-quite-camera-ready copy of CAV’06 paper about MUTANT Papers about TERMINATOR (PLDI’06, SAS’06, CAV’06) Questions?
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.