1 / 4

Applying Learning Technique to Formal Verification

Applying Learning Technique to Formal Verification. Wonhong Nam wnam@cis.upenn.edu. Recent work I. Assume-guarantee reasoning based compositional verification [CGP03, AMN05(CAV) ] To prove that a safety property  holds for a module M = M 1 || M 2

lucus
Télécharger la présentation

Applying Learning Technique to Formal Verification

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Applying Learning Technique to Formal Verification Wonhong Nam wnam@cis.upenn.edu

  2. Recent work I • Assume-guarantee reasoning based compositional verification [CGP03, AMN05(CAV)] • To prove that a safety property  holds for a module M = M1 || M2 • Find an appropriate module A such that • Composition of M1 and A satisfies  (assumption for M1) • M2 is a refinement of A (commitment of M2) • Asking the user to identify such an assumption is not feasible in practice. • The assumption can be considered as a regular language.

  3. Recent work II • Java interface synthesis [ACMN05(POPL)] • Static interface: #, type of paras and return type of methods • Dynamic interface: the correct sequences of method calls • A simple file class: open(), read(), close() open.(read)*.close • Given a Java class with a set of methods and a safety property, • To automatically generate the most general way of invoking methods in the class so that the property is not violated • Construct a symbolic representation for methods by predicate abstraction • Synthesis of the interface corresponds to solving a two-player partial information game. • Approximately solve it using the learning technique.

  4. Construct C Eq(C) Teacher EQ Yes/ No & cex Memb(s) Teacher MQ Learner Yes/No L* algorithm [Ang87, RS93] • Describe how to learn an unknown regular language U • by asking membership and equivalence queries to a teacher • If we have the teacher, it guarantees to generate a minimal DFA accepting the language U • membership queries: ask whether a given string s is in U • equivalence queries: whether the current conjecture DFA C represents U

More Related