Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Termination and shape-shifting heaps Byron Cook Microsoft Research, Cambridge Joint work with Josh Berdine, Dino Distefano, and.

Similar presentations


Presentation on theme: "1 Termination and shape-shifting heaps Byron Cook Microsoft Research, Cambridge Joint work with Josh Berdine, Dino Distefano, and."— Presentation transcript:

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?


Download ppt "1 Termination and shape-shifting heaps Byron Cook Microsoft Research, Cambridge Joint work with Josh Berdine, Dino Distefano, and."

Similar presentations


Ads by Google