Proving conditional termination - PowerPoint PPT Presentation

1 / 72
About This Presentation
Title:

Proving conditional termination

Description:

Terminator (currently being transferred into Windows SDV product) ... – PowerPoint PPT presentation

Number of Views:25
Avg rating:3.0/5.0
Slides: 73
Provided by: Byron4
Category:

less

Transcript and Presenter's Notes

Title: Proving conditional termination


1
Proving conditional termination Byron Cook,
Sumit Gulwani, Tal Lev-Ami, Andrey Rybalchenko
Mooly Sagiv

TexPoint fonts used in EMF. Read the TexPoint
manual before you delete this box. A
2
Motivation
  • Automatic termination/liveness proving is now a
    reality
  • Modern tools support
  • Concurrency,
  • Pointers and heap,
  • Recursion,
  • Liveness properties (Omega-regular),
  • Counterexample-generation.
  • Tools
  • Terminator (now being productized for the Windows
    SDV tool)
  • ARMC (Andreys publicly available version)
  • Polyrank (from Bradley, Manna Sipma, supports
    phase-change)
  • T2 (in development for my book and CMU course)

3
Motivation
  • Automatic termination/liveness proving is now a
    reality
  • Modern tools support
  • Concurrency,
  • Pointers and heap,
  • Recursion,
  • Liveness properties (Omega-regular),
  • Counterexample-generation.
  • Tools
  • Terminator (now being productized for the Windows
    SDV tool)
  • ARMC (Andreys publicly available version)
  • Polyrank (from Bradley, Manna Sipma, supports
    phase-change)
  • T2 (in development for my book and CMU course)

4
Motivation
  • Automatic termination/liveness proving is now a
    reality
  • Advanced termination/liveness tools now
    supporting
  • Concurrency,
  • Pointers,
  • Heap,
  • Recursion,
  • Omega-regular properties,
  • Counterexample-generation,
  • etc
  • Tools
  • Terminator (currently being transferred into
    Windows SDV product)
  • ARMC (Andreys publicly available version)
  • Polyrank (from Bradley, Manna, Sipma)
  • T2 (in development for my book and CMU course)

5
Motivation
  • Automatic termination/liveness proving is now a
    reality
  • Advanced termination/liveness tools now
    supporting
  • Concurrency,
  • Pointers,
  • Heap,
  • Recursion,
  • Omega-regular properties,
  • Counterexample-generation,
  • etc
  • Tools
  • Terminator (currently being transferred into
    Windows SDV product)
  • ARMC (Andreys publicly available version)
  • Polyrank (from Bradley, Manna, Sipma)
  • T2 (in development for my book and CMU course)

6
Motivation
  • Automatic termination/liveness proving is now a
    reality
  • Advanced termination/liveness tools now
    supporting
  • Concurrency,
  • Pointers,
  • Heap,
  • Recursion,
  • Omega-regular properties,
  • Counterexample-generation,
  • etc
  • Tools
  • Terminator (currently being transferred into
    Windows SDV product)
  • ARMC (Andreys publicly available version)
  • Polyrank (from Bradley, Manna, Sipma)
  • T2 (in development for my book and CMU course)

7
  • Automatic termination/liveness proving is now a
    reality
  • Advanced termination/liveness tools now
    supporting
  • Concurrency,
  • Pointers,
  • Heap,
  • Recursion,
  • Omega-regular properties,
  • Counterexample-generation,
  • etc
  • Tools
  • Terminator (currently being transferred into
    Windows SDV product)
  • ARMC (Andreys publicly available version)
  • Polyrank (from Bradley, Manna, Sipma)
  • T2 (in development for my book and CMU course)

8
  • Automatic termination/liveness proving is now a
    reality
  • Advanced termination/liveness tools now
    supporting
  • Concurrency,
  • Pointers,
  • Heap,
  • Recursion,
  • Omega-regular properties,
  • Counterexample-generation,
  • etc
  • Tools
  • Terminator (currently being transferred into
    Windows SDV product)
  • ARMC (Andreys publicly available version)
  • Polyrank (from Bradley, Manna, Sipma)
  • T2 (in development for my book and CMU course)

9
Motivation
  • Automatic termination/liveness proving is now a
    reality
  • Advanced termination/liveness tools now
    supporting
  • Concurrency,
  • Pointers,
  • Heap,
  • Recursion,
  • Omega-regular properties,
  • Counterexample-generation,
  • etc
  • Tools
  • Terminator (currently being transferred into
    Windows SDV product)
  • ARMC (Andreys publicly available version)
  • Polyrank (from Bradley, Manna, Sipma)
  • T2 (in development for my book and CMU course)

10
Motivation
  • Automatic termination/liveness proving is now a
    reality
  • Advanced termination/liveness tools now
    supporting
  • Concurrency,
  • Pointers,
  • Heap,
  • Recursion,
  • Omega-regular properties,
  • Counterexample-generation,
  • etc
  • Tools
  • Terminator (currently being transferred into
    Windows SDV product)
  • ARMC (Andreys publicly available version)
  • Polyrank (from Bradley, Manna, Sipma)
  • T2 (in development for my book and CMU course)

11
Motivation
  • Automatic termination/liveness proving is now a
    reality
  • Advanced termination/liveness tools now
    supporting
  • Concurrency,
  • Pointers,
  • Heap,
  • Recursion,
  • Omega-regular properties,
  • Counterexample-generation,
  • etc
  • Tools
  • Terminator (currently being transferred into
    Windows SDV product)
  • ARMC (Andreys publicly available version)
  • Polyrank (from Bradley, Manna, Sipma)
  • T2 (in development for my book and CMU course)

12
Motivation
  • Automatic termination/liveness proving is now a
    reality
  • Advanced termination/liveness tools now
    supporting
  • Concurrency,
  • Pointers,
  • Heap,
  • Recursion,
  • Omega-regular properties,
  • Counterexample-generation,
  • etc
  • Tools
  • Terminator (currently being transferred into
    Windows SDV product)
  • ARMC (Andreys publicly available version)
  • Polyrank (from Bradley, Manna, Sipma)
  • T2 (in development for my book and CMU course)

13
Motivation
  • Automatic termination/liveness proving is now a
    reality
  • Advanced termination/liveness tools now
    supporting
  • Concurrency,
  • Pointers,
  • Heap,
  • Recursion,
  • Omega-regular properties,
  • Counterexample-generation,
  • etc
  • Tools
  • Terminator (currently being transferred into
    Windows SDV product)
  • ARMC (Andreys publicly available version)
  • Polyrank (from Bradley, Manna, Sipma)
  • T2 (in development for my book and CMU course)

14
Motivation
15
Underapproximating weakest preconditions
  • Dream termination prover

16
Underapproximating weakest preconditions
  • Dream termination prover

17
Underapproximating weakest preconditions
  • Dream termination prover

18
Underapproximating weakest preconditions
  • Dream termination prover

19
Underapproximating weakest preconditions
  • Dream termination prover

20
Underapproximating weakest preconditions
  • Dream termination prover

21
Underapproximating weakest preconditions
  • Dream termination prover

22
Outline
  • Motivation
  • Precondition synthesis
  • Precondition synthesis for phase-change programs
  • Examples
  • Remarks

23
PreSynth
  • Automatic termination/liveness proving is now a
    reality
  • Advanced termination/liveness tools now
    supporting
  • Concurrency,
  • Pointers,
  • Heap,
  • Recursion,
  • Omega-regular properties,
  • Counterexample-generation,
  • etc
  • Tools
  • Terminator (currently being transferred into
    Windows SDV product)
  • ARMC (Andreys publicly available version)
  • Polyrank (from Bradley, Manna, Sipma)
  • T2 (in development for my book and CMU course)

24
PreSynth
  • Automatic termination/liveness proving is now a
    reality
  • Advanced termination/liveness tools now
    supporting
  • Concurrency,
  • Pointers,
  • Heap,
  • Recursion,
  • Omega-regular properties,
  • Counterexample-generation,
  • etc
  • Tools
  • Terminator (currently being transferred into
    Windows SDV product)
  • ARMC (Andreys publicly available version)
  • Polyrank (from Bradley, Manna, Sipma)
  • T2 (in development for my book and CMU course)

25
PreSynth
  • Automatic termination/liveness proving is now a
    reality
  • Advanced termination/liveness tools now
    supporting
  • Concurrency,
  • Pointers,
  • Heap,
  • Recursion,
  • Omega-regular properties,
  • Counterexample-generation,
  • etc
  • Tools
  • Terminator (currently being transferred into
    Windows SDV product)
  • ARMC (Andreys publicly available version)
  • Polyrank (from Bradley, Manna, Sipma)
  • T2 (in development for my book and CMU course)

26
PreSynth
  • Automatic termination/liveness proving is now a
    reality
  • Advanced termination/liveness tools now
    supporting
  • Concurrency,
  • Pointers,
  • Heap,
  • Recursion,
  • Omega-regular properties,
  • Counterexample-generation,
  • etc
  • Tools
  • Terminator (currently being transferred into
    Windows SDV product)
  • ARMC (Andreys publicly available version)
  • Polyrank (from Bradley, Manna, Sipma)
  • T2 (in development for my book and CMU course)

27
PreSynth
28
PreSynth
  • Automatic termination/liveness proving is now a
    reality
  • Advanced termination/liveness tools now
    supporting
  • Concurrency,
  • Pointers,
  • Heap,
  • Recursion,
  • Omega-regular properties,
  • Counterexample-generation,
  • etc
  • Tools
  • Terminator (currently being transferred into
    Windows SDV product)
  • ARMC (Andreys publicly available version)
  • Polyrank (from Bradley, Manna, Sipma)
  • T2 (in development for my book and CMU course)

29
PreSynth
  • Automatic termination/liveness proving is now a
    reality
  • Advanced termination/liveness tools now
    supporting
  • Concurrency,
  • Pointers,
  • Heap,
  • Recursion,
  • Omega-regular properties,
  • Counterexample-generation,
  • etc
  • Tools
  • Terminator (currently being transferred into
    Windows SDV product)
  • ARMC (Andreys publicly available version)
  • Polyrank (from Bradley, Manna, Sipma)
  • T2 (in development for my book and CMU course)

30
PreSynth
31
PreSynth
32
PreSynth
33
PreSynth
34
PreSynth
35
PreSynth
36
PreSynth
37
PreSynth
38
PreSynth
39
PreSynth
40
PreSynth
41
PreSynth
42
PreSynth
43
PreSynth
44
PreSynth
45
PreSynth
46
PreSynth
47
Outline
  • Motivation
  • Precondition synthesis
  • Precondition synthesis for phase-change programs
  • Examples
  • Remarks

48
Phase-change programs
49
Phase-change programs
50
Phase-change programs
51
Phase-change programs
52
Phase-change programs
53
Phase-change programs
54
Phase-change programs
55
Phase-change programs
56
Phase-change programs
57
Phase-change programs
58
Phase-change programs
59
Phase-change programs
60
Phase-change programs
61
Phase-change programs
62
Outline
  • Motivation
  • Precondition synthesis
  • Precondition synthesis for phase-change programs
  • Examples
  • Remarks

63
Examples
64
Examples
65
Examples
66
Examples
67
Examples
68
Examples
69
Examples
70
Examples
71
Outline
  • Motivation
  • Precondition synthesis
  • Precondition synthesis for phase-change programs
  • Examples
  • Remarks

72
Remarks
  • Are we generating the weakest linear
    precondition?
  • Future work (though, its probably no)
  • Concurrent programs
  • Environment synthesis is more important
  • Working on this problem now based on PLDI07
  • Applications
  • Interprocedural termination proving, disproving
    safety, library analysis, etc
Write a Comment
User Comments (0)
About PowerShow.com