1 / 23

Internship Plan – A SMT( FinSet )-Solver based on OpenSMT

Internship Plan – A SMT( FinSet )-Solver based on OpenSMT. Nguyen Truc , 2 Aug 2010 – 28 Jan 2011 NII, 16 August 2010. TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A. Today’s Agenda I. Truc -san: short self-introduction and summary of activities

hedda
Download Presentation

Internship Plan – A SMT( FinSet )-Solver based on OpenSMT

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. Internship Plan – A SMT(FinSet)-Solver based on OpenSMT Nguyen Truc, 2 Aug 2010 – 28 Jan 2011 NII, 16 August 2010 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA

  2. Today’s Agenda I • Truc-san: short self-introduction and summary of activities • DAAD budget: 124 万円。 • Research prototype: PHP-based adaptive web application(84/95万円)goal: specification and verification of adaptive web-applicationsdomain: e-commerce, interleaving of requests from concurrent usersapproach: extension of existing implementation of automaton-based monitoring to self-adaptation: replacement of php-modules on detection of specific criticial events. Related Work: FP 7 research project on specification of adaptive web apps, Martin Wirsing: MAEWA II, SENSORIA, UWE, HUGO http://www.pst.ifi.lmu.de/Research/current-projects/current-projects?set_language=enJeff Kramer: work on specification and model checking of adaptive and self-managing systemsmaybe also interesting: EU-project REWERSEhttp://rewerse.net/, especially deliveries A3 – Peronalized Information Systemshttp://rewerse.net/deliverables.html Franz Weitl, Nguyen Truc A SMT(FinSet)-Solver based on OpenSMT

  3. Today’s Agenda II • PC for Truc-san: Dell, will be configured today • Datacard for note-PC: b-mobile (fully prepaid, PHS  3G, 10万円 per year)http://www.bmobile.ne.jp/personal/3g/index.html • Collaboration environment • SVN-Server, file server: google project • Detailed internship plan Franz Weitl, Nguyen Truc A SMT(FinSet)-Solver based on OpenSMT

  4. ContextSMTreloaded • SMT-based Model Checking with Relational Logic Added • Goal: Decidable support for sets and relations in software model checking • SMT (Satisfiability Modulo Theory): • SMT(T): SAT extended with a decidable background theory T(e.g. linear arithmetics) • Approach: • Realize a SMT(DL) solver with a decidableDL as a background theory for sets and relations. • PlugSMT(DL) solverinto a SMT-based bounded model checking framework. while (V ) for each (v  V) { if (isSource(v)) { out(v); V := V  {v}; E := E  {(v,w)|w  V}; } } Franz Weitl, Nguyen Truc A SMT(FinSet)-Solver based on OpenSMT

  5. Satisfiability Modulo Theories • SAT solving: finding models of propositional formulae • (a  b  c)  (a  b  c)  … • SMT(T) solving: replacing atomic propositions by predicates over terms of a decidable background theoryT • T = linear inequalities:(2x – y < 2)  (x < 3)  (x - 3y < 0)  … • T = description logic SHIQ:(ExclusiveResource Resource)  (ExclusiveResource= ) (ExclusiveResource1heldBy.Job) Franz Weitl, Nguyen Truc A SMT(FinSet)-Solver based on OpenSMT

  6. Goals I: Extending OpenSMT with Theory for Finite Sets • Set and relation type variables over finite domains (scalar types) • Setdefinition and predicates • extensional definition, empty set, oneOf (nondeterministic choice) • element, oneOf, subset, equal, cardinality • Operators on Sets • union, intersection, difference, complement, selection X,Y, Z: Set of[0..100]; A,B: Set of (ready, blocked, running, finished) A := {ready, blocked}; X = [0..10]; Y := ; x:= oneOf(X) x  X; X  Y; X = Y; | X | < 10 X:= Y  Z; X := Y  Z; X := Y  Z;X :=  Y; X := x > 5(Y); Franz Weitl, Nguyen Truc A SMT(FinSet)-Solver based on OpenSMT

  7. Internship Goals – Part I • Implementation of SMT(FinSet)-solver based on OpenSMT • Design of an input language for finite sets and extension of the OpenSMTparser • Implementation of decision procedures for finite sets • Evaluation • Test cases • Benchmark cases (alternative approaches?) • Documentation • Basic architecture of OpenSMT • Implemented extensions and input language • Illustrative examples, test cases, and experiments • Workshop paper Franz Weitl, Nguyen Truc A SMT(FinSet)-Solver based on OpenSMT

  8. Goals Part II – Integration into SAL Franz Weitl, Nguyen Truc A SMT(FinSet)-Solver based on OpenSMT

  9. Internship Goals – Part II • Integration of SMT(FinSet)-solver into SAL • Extension of the SAL input language for finite sets • Implementation of preprocessor: mapping of set type expressions onto uninterpreted functions • Implementation of SMT(FinSet) wrapper: mapping of SAL output for SMT-solver onto input language of OpenSMT(FinSet) and re-mapping of OpenSMT(FinSet) output • Implementation of postprocessor for nicer counterexamples (optional) • Evaluation: test cases, benchmark cases (alternative approaches) • Documentation • Basic architecture of the approach • Implemented extensions and extended input language for sets • Illustrative examples, test cases, and experiments • Paper Franz Weitl, Nguyen Truc A SMT(FinSet)-Solver based on OpenSMT

  10. Internship Plan – Overview • Part I: Extension of OpenSMT • Month: setup and background reading • Month: implementation of OpenSMT extensions • Month: experiments and documentation • Part II: Integration into SAL • Month: implementation • Month: experiments and documentation • Month: project report and paper Franz Weitl, Nguyen Truc A SMT(FinSet)-Solver based on OpenSMT

  11. Part I - 1. Month: Setup I • Activities • Setting up environment for experiments and development • Yices, SAL, CygWin, MS Virtual PC/VMware Server, Linux (Ubuntu), OpenSMT • Decide on C++ IDE: Eclipse, Netbeans, KDevelop, Code::Blocks • Purchase hardware and software (finalize DAAD budget plan May – August) • Server for sharing code and documents: Google Project or own server with NAS? • Acquiring background knowledge on SMT and OpenSMT • Experiments with Yices and OpenSMT • Bradley, Manna: Chapter 1 and 3 (DPLL, First-Order Theories) • DPLL(T) : ROBERT NIEUWENHUIS and ALBERT OLIVERAS, 2006 HaraldGanzinger et al., 2004 • MiniSAT: http://minisat.se/" An Extensible SAT-solver", Niklas Een, Niklas Sörensson, SAT 2003. "MiniSat — A SAT Solver withConflict-ClauseMinimization„ Niklas Een, Niklas Sörensson, posterfor SAT 2005. • OpenSMT : Slides of TACAS 2010, Documentation of SMT-Lib 2.0 Franz Weitl, Nguyen Truc A SMT(FinSet)-Solver based on OpenSMT

  12. Part I - 1. Month: Setup II • Milestones • Presentation of Yices and OpenSMT: Collection of illustrative examples to demonstrate use, functionality, and syntax of input language • Presentation of SMT foundations: MiniSAT, DPLL and DPLL(T) Franz Weitl, Nguyen Truc A SMT(FinSet)-Solver based on OpenSMT

  13. Part I - 2. Month: Implementation of OpenSMT-Extensions • Activities • Study of OpenSMT’sarchitecture and extension interfaces. Initial experiments for extending OpenSMT’s parser and decision procedures. • Decide on syntax for set expressions, based on Kröning et al., 2009 (see also Slides of Rümmer, 2010), maybe also helpful: Syntax of Event B • Definition of test cases for all operators • Extension of OpenSMTparser, postpone for later (if hard) • Implementation, integration, and test of decision procedures for sets • Milestones • Presentation of OpenSMT’s architecture and interfaces (UML class diagram, collaboration diagram) as well as results of initial experiments • Syntax and documented test cases • Tested implementation Franz Weitl, Nguyen Truc A SMT(FinSet)-Solver based on OpenSMT

  14. Part I - 3. Month: Experiments and Documentation • Activities • Documentation of extended input language, implemented methods, and use of OpenSMT extensions. • Collection and design of benchmarks cases • http://www.cprover.org/SMT-LIB-LSM/ • http://combination.cs.uiowa.edu/smtlib/ • Execution of benchmarks and evaluation of results (e.g., scalability) • Optimization of code • Investigation of alternative approaches (ProB model checker for Event B, SMT-based model checking hot topic for Event B, Alloy) and comparison of results • Milestones • User manual (syntax, example of usage) and technical documentation of implemented code • Base of documented benchmark cases • Report on evaluation results • Workshop paper, e.g. Workshop SMT 2011 (Deadline Beginning of 2011) Franz Weitl, Nguyen Truc A SMT(FinSet)-Solver based on OpenSMT

  15. Part II - 4. Month: Integration into SAL • Activities • Study of SAL’s architecture and scripts. Initial experiments for extending SAL by use of uninterpreted functions. • Decide on syntax for set expressions in an extended input language for SAL • Definition of test cases for all operators • Implementation: • SAL preprocessor for reducing SAL+ to standard SAL input language by use of uninterpreted functions. • OpenSMT(FinSet) wrapper: SAL output to OpenSMT(FinSet) input, OpenSMT(FinSet) output to SAL input for counterexample generator • SAL postprocessor for generating meaningful counterexamples • Milestones • Presentation of the general approach and initial experiments for integrating OpenSMT(FinSet) into SAL • Syntax definition of SAL extended input language and documented test cases • Tested implementation Franz Weitl, Nguyen Truc A SMT(FinSet)-Solver based on OpenSMT

  16. Part II - 5. Month: Experiments and Documentation • Activities • Documentation of SAL+ extended input language, implemented SAL+ extensions, and use of SAL+. • Design of benchmarks cases and implementation in SAL+ and standard SAL. • http://www.cprover.org/SMT-LIB-LSM/ • Web documents • Classical model checking problems like mutual exclusion • Evaluation of runtime results SAL+ vs. standard SAL. • Optimization of code • Milestones • User manual (syntax, example of usage) and technical documentation of implemented code • Base of documented benchmark cases • Report on evaluation results Franz Weitl, Nguyen Truc A SMT(FinSet)-Solver based on OpenSMT

  17. Part II - 6. Month: Project Report and Paper • Activities • Finalizing documentation and evaluation • Preparing final presentation and internship report. • Preparing conference paper: updating collection of references and related work • SMT 2011 Workshop on SMT, deadline probably first quarter of 2011,http://www.cprover.org/SMT10/#background • fm2011, deadline 10 Jan 2011, http://www.lero.ie/fm2011 • CAV 2011, deadline Jan 2011 / SAT 2011, deadline Feb 2011, • Milestones • Completed user manual and technical documentation • Final presentation • Internship report • Conference Paper Franz Weitl, Nguyen Truc A SMT(FinSet)-Solver based on OpenSMT

  18. To Do `till 23 August, 10 am, Room 1716 • Purchase Hard-/Software • Setup OpenSMT Environment • Setup Server Google Project • Study MiniSAT and references Maybe also interesting: zChaff by SharadMalik, Princeton University, http://www.princeton.edu/~chaff/http://www.princeton.edu/~chaff/software.htmlPresentation: Summary of MiniSAT technology, DPLL(T) paper (if time) Franz Weitl, Nguyen Truc A SMT(FinSet)-Solver based on OpenSMT

  19. Sample Scenarios Franz Weitl, Nguyen Truc A SMT(FinSet)-Solver based on OpenSMT

  20. SMT(DL) Properties - Documents • Semantic integrity of references: Each reference of a web document points to a target with related topics.G(Page linksTo. hasTopic. relatedTo. topicOf. partOf.Page) Questions: • Performance of SMT(DL) model checking as compared to ALCCTL • Applicability to dynamic web pages and web applicationsState space: S  R  V R: set of resources (URLs) V: states of session variables Background Knowledge Franz Weitl, Nguyen Truc A SMT(FinSet)-Solver based on OpenSMT

  21. SMT(DL) Properties – Classic MC Problems • Mutual exclusion for n exclusive resources accessed by m jobs • G(ExclusiveResource 1heldBy.Job) • Questions: • Relational modeling applicable and beneficial? • Performance of model checking? • Quality of counterexamples? Franz Weitl, Nguyen Truc A SMT(FinSet)-Solver based on OpenSMT

  22. SMT(DL) Properties – Business Processes • Order handling workflow: Whenever there is an order then eventually each if its item is either shipped or cancelled.G((Order  )  F(Order hasItem.(CancelledItem itemOf.Shipment))) • Questions: • Generation of models from BPEL specifications • Benefits of relational modeling Franz Weitl, Nguyen Truc A SMT(FinSet)-Solver based on OpenSMT

  23. SMTreloaded – Outlook on further Research Questions • Expressiveness vs. decidability / computational complexity of sets and relations in model checking • Integration of relational theory with other background theories • Performance and scalability • Cost and benefit of background knowledge • Case studies • Classic use cases e.g., protocols for mutual exclusion • Scheduling and graph algorithms • Documents and adaptive web applications Franz Weitl, Nguyen Truc A SMT(FinSet)-Solver based on OpenSMT

More Related