40 likes | 154 Vues
This work focuses on applying learning techniques to enhance formal verification processes. We explore assume-guarantee reasoning through compositional verification, where we establish safety properties for module compositions. Users are often unable to identify necessary assumptions, which can be modeled as regular languages. Additionally, we address automatic Java interface synthesis to ensure method call sequences maintain safety properties. This involves constructing symbolic representations and solving two-player partial information games through a learning technique, utilizing membership and equivalence queries to derive minimal DFAs for unknown languages.
E N D
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 = 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.
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.
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