230 likes | 370 Views
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
E N D
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
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
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
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
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= ) (ExclusiveResource1heldBy.Job) Franz Weitl, Nguyen Truc A SMT(FinSet)-Solver based on OpenSMT
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
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
Goals Part II – Integration into SAL Franz Weitl, Nguyen Truc A SMT(FinSet)-Solver based on OpenSMT
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
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
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
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
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
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
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
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
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
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
Sample Scenarios Franz Weitl, Nguyen Truc A SMT(FinSet)-Solver based on OpenSMT
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
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
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
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