Coinductive Program Verification
Thesis Proposal Brandon Moore
University of Illinois
December 12, 2013
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 1 / 58
Coinductive Program Verification Thesis Proposal Brandon Moore - - PowerPoint PPT Presentation
Coinductive Program Verification Thesis Proposal Brandon Moore University of Illinois December 12, 2013 Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 1 / 58 Outline Introduction 1 Goals and
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 1 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 2 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 3 / 58
◮ Denotational is a whole different story ◮ Don’t know how to handle big step Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 4 / 58
◮ Denotational is a whole different story ◮ Don’t know how to handle big step Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 4 / 58
◮ Denotational is a whole different story ◮ Don’t know how to handle big step Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 4 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 5 / 58
◮ Semantics, specifications, proof principles, etc.
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 6 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 7 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 8 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 9 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 10 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 11 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 12 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 13 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 14 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 15 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 16 / 58
Coinductive Program Verification December 12, 2013 17 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 18 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 19 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 20 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 21 / 58
(Proof) Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 22 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 23 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 24 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 24 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 24 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 25 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 26 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 26 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 26 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 26 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 26 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 26 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 26 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 27 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 27 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 27 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 27 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 27 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 27 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 27 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 27 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 27 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 28 / 58
◮ Transitivity, Weakening, Assertion, etc.
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 29 / 58
(construction)
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 30 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 31 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 31 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 31 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 31 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 31 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 31 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 31 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 31 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 31 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 31 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 32 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 32 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 32 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 32 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 32 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 32 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 32 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 32 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 32 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 32 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 32 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 32 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 32 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 32 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 32 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 33 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 34 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 35 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 36 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 37 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 38 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 39 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 40 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 41 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 42 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 43 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 44 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 45 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 46 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 47 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 48 / 58
◮ Submit to LICS 2014, mid January, with MatchC examples.
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 49 / 58
◮ Reuse predicates, semantic domains from handwritten semantics.
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 50 / 58
◮ Filling code component by embedding annotations in program ◮ Hoare style variable lookup abbreviation? ◮ Automatic threading of mixed-variance predicates? Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 51 / 58
◮ MatchC successful with simple tactic: try in order to 1
2
3
4
◮ May replay trace from K reachability prover.
◮ Pure single-state domain reasoning, should be able to borrow Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 52 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 53 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 54 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 55 / 58
Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 56 / 58
Back Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 57 / 58
Back Brandon Moore (University of Illinois) Coinductive Program Verification December 12, 2013 58 / 58