introduction
play

Introduction Algorithmic Methods for Formal Verification by Yaniv - PowerPoint PPT Presentation

Algorithmic Methods for Formal Verification by Yaniv Saar A LGORITHMIC M ETHODS FOR F ORMAL Introduction V ERIFICATION JTLV Synthesis Synthesis of Reactive(1) Designs by Yaniv Saar AspectLTL: An Aspect Language for LTL


  1. Algorithmic Methods for Formal Verification by Yaniv Sa’ar A LGORITHMIC M ETHODS FOR F ORMAL Introduction V ERIFICATION JTLV Synthesis – Synthesis of Reactive(1) Designs by Yaniv Sa’ar – AspectLTL: An Aspect Language for LTL Specifications Compositional Methods – SPLIT: A Compositional LTL Verifier – Parallelizing A Symbolic Supervisors: Prof. Amir Pnueli, Prof. Lenore D. Zuck, and Compositional Model-Checking – A Dash of Fairness for Prof. David Harel Compositional Reasoning Misc. Developments Department of Computer Science and Applied Mathematics Conclusion Weizmann Institute of Science July 10, 2011 / Ph.D. Defense 1 / 47

  2. Introduction Algorithmic Methods for Formal Verification by Yaniv Sa’ar Introduction JTLV Thesis Synthesis – Synthesis of Reactive(1) Designs – AspectLTL: An Aspect Language for A little software engineering in verification LTL Specifications techniques goes a long way. Compositional Methods – SPLIT: A Compositional LTL Verifier – Parallelizing A Symbolic Compositional Model-Checking – A Dash of Fairness for Compositional Reasoning Misc. Developments Conclusion 2 / 47

  3. Introduction Algorithmic Methods for Currently formal verification tools are black boxes Formal Verification Hard to incorporate new model checking by Yaniv Sa’ar algorithms, unless one is familiar with tool Introduction (low-level C code) JTLV An exception is TLV (Temporal Logic Verifier) Synthesis TLV slightly changed the usual design perspective – Synthesis of Reactive(1) Designs – AspectLTL: An Aspect Language for Special purpose scripting language to create and LTL Specifications manipulate B DD s on-the-fly Compositional Methods Tightly coupled with B DD package ( CMU SMV ) – SPLIT: A Compositional LTL Verifier – Parallelizing A Symbolic Compositional Model-Checking – A Dash of Fairness for Compositional Reasoning Misc. Developments Conclusion 3 / 47

  4. Introduction Algorithmic Methods for Currently formal verification tools are black boxes Formal Verification Hard to incorporate new model checking by Yaniv Sa’ar algorithms, unless one is familiar with tool Introduction (low-level C code) JTLV An exception is TLV (Temporal Logic Verifier) Synthesis TLV slightly changed the usual design perspective – Synthesis of Reactive(1) Designs – AspectLTL: An Aspect Language for Special purpose scripting language to create and LTL Specifications manipulate B DD s on-the-fly Compositional Methods Tightly coupled with B DD package ( CMU SMV ) – SPLIT: A Compositional LTL Verifier – Parallelizing A Symbolic Compositional Model-Checking – A Dash of Fairness for Compositional Reasoning Misc. Developments Conclusion 3 / 47

  5. Introduction Algorithmic Methods for Currently formal verification tools are black boxes Formal Verification Hard to incorporate new model checking by Yaniv Sa’ar algorithms, unless one is familiar with tool Introduction (low-level C code) JTLV An exception is TLV (Temporal Logic Verifier) Synthesis TLV slightly changed the usual design perspective – Synthesis of Reactive(1) Designs – AspectLTL: An Aspect Language for Special purpose scripting language to create and LTL Specifications manipulate B DD s on-the-fly Compositional Methods Tightly coupled with B DD package ( CMU SMV ) – SPLIT: A Compositional LTL Verifier – Parallelizing A Symbolic Compositional Model-Checking – A Dash of Fairness for Compositional Reasoning There is a need for easier-to-use developing Misc. Developments environment! Conclusion 3 / 47

  6. Introduction Algorithmic Methods for Formal Verification There is a need for easier-to-use developing by Yaniv Sa’ar environment! Introduction JTLV Java Temporal Logic enVironment : JTLV Computer-aided verification framework Synthesis – Synthesis of Reactive(1) Designs Allows for easy development of formal algorithms, – AspectLTL: An Aspect Language for LTL Specifications in a high-level programming environment (e.g., Compositional Methods – SPLIT: A Compositional LTL Verifier verification, analysis, synthesis, abstraction) – Parallelizing A Symbolic Compositional Model-Checking On top of state-of-the-art IDE ; Eclipse – A Dash of Fairness for Compositional Reasoning Without having to sacrifice performance Misc. Developments Conclusion 4 / 47

  7. Outline Algorithmic Methods for Introduction 1 Formal Verification by Yaniv Sa’ar A Framework for Developing Verification Algorithms 2 Introduction Synthesis 3 Synthesis of Reactive(1) Designs JTLV Synthesis AspectLTL: An Aspect Language for LTL – Synthesis of Reactive(1) Designs Specifications – AspectLTL: An Aspect Language for LTL Specifications Compositional Methods Compositional Methods 4 – SPLIT: A Compositional LTL Verifier SPLIT: A Compositional LTL Verifier – Parallelizing A Symbolic Compositional Model-Checking – A Dash of Fairness for Parallelizing A Symbolic Compositional Compositional Reasoning Model-Checking Algorithm Misc. Developments Conclusion A Dash of Fairness for Compositional Reasoning Miscellaneous Developments 5 Conclusion 6 5 / 47

  8. Synthesis Algorithmic Methods for Automatic synthesis of programs and (digital) Formal Verification by Yaniv Sa’ar designs from logical specifications is one of the most ambitious and challenging problems in Introduction computer science JTLV A solution would lift programming from the current Synthesis mostly imperative level, to a declarative, logical – Synthesis of Reactive(1) Designs – AspectLTL: An Aspect Language for LTL Specifications style Compositional Methods This is of major importance when concurrency is – SPLIT: A Compositional LTL Verifier – Parallelizing A Symbolic Compositional Model-Checking involved – A Dash of Fairness for Compositional Reasoning Misc. Developments Conclusion 6 / 47

  9. Synthesis of Reactive(1) Designs Algorithmic Methods for Synthesis process for general LTL has been identified Formal Verification by Yaniv Sa’ar as hopelessly intractable, yet: We identify an important and expressive fragment Introduction of LTL ( GR (1) ) which we can synthesize in JTLV quadratic time Synthesis – Synthesis of Reactive(1) Designs – AspectLTL: An Aspect Language for LTL Specifications Compositional Methods – SPLIT: A Compositional LTL Verifier – Parallelizing A Symbolic Compositional Model-Checking – A Dash of Fairness for Compositional Reasoning Misc. Developments Conclusion 7 / 47

  10. AspectLTL: An Aspect Language for LTL Specifications Algorithmic Methods for Declarative language for specification and Formal Verification by Yaniv Sa’ar implementation of crosscutting concerns, based on LTL Introduction Supported by a JTLV -based prototype tool, that JTLV (literally) lifts declarative programming into Synthesis practice – Synthesis of Reactive(1) Designs – AspectLTL: An Aspect Language for Generation of LTL aspect composition and LTL Specifications synthesis is sound and complete Compositional Methods – SPLIT: A Compositional LTL Verifier – Parallelizing A Symbolic Synthesis of GR (1) is an integral part of the Compositional Model-Checking – A Dash of Fairness for compilation process Compositional Reasoning Misc. Developments Conclusion 8 / 47

  11. Compositional Methods Algorithmic Methods for Model checking suffers from state explosion Formal Verification by Yaniv Sa’ar In the case of asynchronous concurrent systems, local reasoning can often ameliorate the problem Introduction JTLV Synthesis – Synthesis of Reactive(1) Designs – AspectLTL: An Aspect Language for LTL Specifications Compositional Methods – SPLIT: A Compositional LTL Verifier – Parallelizing A Symbolic Compositional Model-Checking – A Dash of Fairness for Compositional Reasoning Misc. Developments Conclusion 9 / 47

  12. Compositional Methods Algorithmic Methods for Model checking suffers from state explosion Formal Verification by Yaniv Sa’ar In the case of asynchronous concurrent systems, local reasoning can often ameliorate the problem Introduction JTLV Synthesis – Synthesis of Reactive(1) Designs – AspectLTL: An Aspect Language for LTL Specifications Compositional Methods – SPLIT: A Compositional LTL Verifier – Parallelizing A Symbolic Compositional Model-Checking – A Dash of Fairness for Compositional Reasoning Misc. Developments Conclusion 9 / 47

  13. Compositional Methods Algorithmic Methods for Model checking suffers from state explosion Formal Verification by Yaniv Sa’ar In the case of asynchronous concurrent systems, local reasoning can often ameliorate the problem Introduction JTLV Synthesis – Synthesis of Reactive(1) Designs – AspectLTL: An Aspect Language for LTL Specifications Compositional Methods – SPLIT: A Compositional LTL Verifier – Parallelizing A Symbolic Compositional Model-Checking – A Dash of Fairness for Compositional Reasoning Misc. Developments Conclusion 9 / 47

  14. Compositional Methods Algorithmic Methods for Model checking suffers from state explosion Formal Verification by Yaniv Sa’ar In the case of asynchronous concurrent systems, local reasoning can often ameliorate the problem Introduction JTLV Synthesis – Synthesis of Reactive(1) Designs – AspectLTL: An Aspect Language for LTL Specifications Compositional Methods – SPLIT: A Compositional LTL Verifier – Parallelizing A Symbolic Compositional Model-Checking – A Dash of Fairness for Compositional Reasoning Misc. Developments Conclusion 9 / 47

Recommend


More recommend