SATEL Semi Automatic TEsting Language University of Geneva Levi Lúcio VALID Meeting - Besançon 10/3/06.

Slides:



Advertisements
Similar presentations
Semantics Static semantics Dynamic semantics attribute grammars
Advertisements

Masahiro Fujita Yoshihisa Kojima University of Tokyo May 2, 2008
Automatic Verification Book: Chapter 6. What is verification? Traditionally, verification means proof of correctness automatic: model checking deductive:
Vered Gafni – Formal Development of Real Time Systems 1 Statecharts Semantics.
Formal Semantics of Programming Languages 虞慧群 Topic 6: Advanced Issues.
Rigorous Software Development CSCI-GA Instructor: Thomas Wies Spring 2012 Lecture 11.
Friday, April 17, PTR: A Probabilistic Transaction Logic Julian Fogel A logic for reasoning about action under uncertainty. A mathematically sound.
© M. Winter COSC 4P41 – Functional Programming Testing vs Proving Testing –uses a set of “typical” examples, –symbolic testing, –may find errors,
Hybrid Systems Presented by: Arnab De Anand S. An Intuitive Introduction to Hybrid Systems Discrete program with an analog environment. What does it mean?
Testing Concurrent/Distributed Systems Review of Final CEN 5076 Class 14 – 12/05.
SATEL Semi Automatic TEsting Language University of Geneva Levi Lúcio, Didier Buchs M-TOOS, Portland 4/30/2015.
Requirement Analysis and Specification Mr. Manoj Kumar Kar.
August Moscow meeting1August Moscow meeting1August Moscow meeting11 Deductive tools in insertion modeling verification A.Letichevsky.
Copyright © 2006 Addison-Wesley. All rights reserved.1-1 ICS 410: Programming Languages Chapter 3 : Describing Syntax and Semantics Axiomatic Semantics.
ISBN Chapter 3 Describing Syntax and Semantics.
The Software Model Checker BLAST by Dirk Beyer, Thomas A. Henzinger, Ranjit Jhala and Rupak Majumdar Presented by Yunho Kim Provable Software Lab, KAIST.
Theory of Testing and SATEL. 2 Presentation Structure Theory of testing SATEL (Semi-Automatic TEsting Language) –Test Intentions –SATEL semantics –CO-OPN.
Formal Methods of Systems Specification Logical Specification of Hard- and Software Prof. Dr. Holger Schlingloff Institut für Informatik der.
Model Checking. Used in studying behaviors of reactive systems Typically involves three steps: Create a finite state model (FSM) of the system design.
Axiomatic Semantics Dr. M Al-Mulhem ICS
Programming Language Semantics Mooly SagivEran Yahav Schrirber 317Open space html://
Luís Moniz Pereira Centro de Inteligência Artificial - CENTRIA Universidade Nova de Lisboa, Portugal Pierangelo Dell’Acqua Dept. of Science and Technology.
1 Ivan Lanese Computer Science Department University of Bologna Italy Concurrent and located synchronizations in π-calculus.
Dr. Muhammed Al-Mulhem 1ICS ICS 535 Design and Implementation of Programming Languages Part 1 Fundamentals (Chapter 4) Axiomatic Semantics ICS 535.
Semantics with Applications Mooly Sagiv Schrirber html:// Textbooks:Winskel The.
Describing Syntax and Semantics
CPN’04 UML and Petri Nets for Test Case Generation University of Geneva D.Buchs, L.Lúcio, L.Pedro.
Real-Time Synchronised Petri Nets Giovanna Di Marzo Serugendo Dino Mandrioli, Didier Buchs, Nicolas Guelfi University of Geneva, Switzerland PN’02 / 24th.
Cheng/Dillon-Software Engineering: Formal Methods Model Checking.
1 UML and Petri Nets for Test Case Generation From Fondue to CO-OPN: (my) first iteration.
Ontologies Reasoning Components Agents Simulations Belief Update, Planning and the Fluent Calculus Jacques Robin.
Introduction to Formal Methods Based on Jeannette M. Wing. A Specifier's Introduction to Formal Methods. IEEE Computer, 23(9):8-24, September,
1 Automatic Refinement and Vacuity Detection for Symbolic Trajectory Evaluation Orna Grumberg Technion Haifa, Israel Joint work with Rachel Tzoref.
Chapter 25 Formal Methods Formal methods Specify program using math Develop program using math Prove program matches specification using.
Automatic Test Generation from here until the end (of my Phd.) University of Geneva Levi Lúcio SMV & Les Diablerets.
1 Levi Lúcio © A Test Selection Language for CO-OPN Specifications Levi Lúcio, Luis Pedro and Didier Buchs University of Geneva.
Generic API Test tool By Moshe Sapir Almog Masika.
CS 363 Comparative Programming Languages Semantics.
Formal Verification Lecture 9. Formal Verification Formal verification relies on Descriptions of the properties or requirements Descriptions of systems.
Software Testing Input Space Partition Testing. 2 Input Space Coverage Four Structures for Modeling Software Graphs Logic Input Space Syntax Use cases.
Eran Yahav 1. Previously…  An algorithmic view  Abstract data types (ADT)  Correctness Conditions  Sequential consistency  Linearizability  Treiber’s.
Conformance Test Experiments for Distributed Real-Time Systems Rachel Cardell-Oliver Complex Systems Group Department of Computer Science & Software Engineering.
Programming Languages and Design Lecture 3 Semantic Specifications of Programming Languages Instructor: Li Ma Department of Computer Science Texas Southern.
Semantics In Text: Chapter 3.
1 CSEP590 – Model Checking and Automated Verification Lecture outline for August 6, 2003.
DSL Composition for Model- Based Test Generation (or Adding Testability to a DSL by using DSL Composition) Bruno Barroca, Vasco Amaral and Luís Pedro Levi.
Testing OO software. State Based Testing State machine: implementation-independent specification (model) of the dynamic behaviour of the system State:
Symbolic and Concolic Execution of Programs Information Security, CS 526 Omar Chowdhury 10/7/2015Information Security, CS 5261.
Ukrprog Formal requirement language and its applications A.Letichevsky Glushkov Institute of Cybernetics.
Reasoning about the Behavior of Semantic Web Services with Concurrent Transaction Logic Presented By Dumitru Roman, Michael Kifer University of Innsbruk,
1 Logic Our ability to state invariants, record preconditions and post- conditions, and the ability to reason about a formal model depend on the logic.
Duminda WijesekeraSWSE 623: Introduction1 Introduction to Formal and Semi- formal Methods Based on A Specifier's Introduction to Formal Methods (J. Wing)
Presented by: Belgi Amir Seminar in Distributed Algorithms Designing correct concurrent algorithms Spring 2013.
CSC3315 (Spring 2009)1 CSC 3315 Languages & Compilers Hamid Harroud School of Science and Engineering, Akhawayn University
Formal Semantics of Programming Languages 虞慧群 Topic 2: Operational Semantics.
IS 2620: Developing Secure Systems Formal Verification/Methods Lecture 9 March 15, 2012.
CS5270 Lecture 41 Timed Automata I CS 5270 Lecture 4.
Introduction to Software Testing (2nd edition) Chapter 5 Criteria-Based Test Design Paul Ammann & Jeff Offutt
Maitrayee Mukerji. INPUT MEMORY PROCESS OUTPUT DATA INFO.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini IX. System Models (III)
Introduction to Formal Methods
C++ Plus Data Structures
A Methodology and a Framework for Test Case Generation
Input Space Partition Testing CS 4501 / 6501 Software Testing
Graph Coverage for Specifications CS 4501 / 6501 Software Testing
Formal Verification/Methods
IS 2935: Developing Secure Systems
This Lecture Substitution model
COP4020 Programming Languages
Presentation transcript:

SATEL Semi Automatic TEsting Language University of Geneva Levi Lúcio VALID Meeting - Besançon 10/3/06

VALID Meeting - Besançon 2 Presentation Plan CO-OPN and testing; Semi-automatic test selection; Syntax of SATEL; Semantics of SATEL; Preliminary results; Future.

VALID Meeting - Besançon 3 Presentation Plan CO-OPN and testing; Semi-automatic test selection; Syntax of SATEL; Semantics of SATEL; Preliminary results; Future.

VALID Meeting - Besançon 4 CO-OPN Specification Language Algebraic Data Type (ADT) Petri Net (extended) Method Gate CO-OPN Class Account

VALID Meeting - Besançon 5 Transactional Semantics and Concurrency Concurrency is automatically managed by Petri Nets… A transaction is either possible or the state of the system is not changed! Synchronization operators: Sim (//), Seq (..), Alt (+)

VALID Meeting - Besançon 6 Testing CO-OPN Specs as Reactive Systems CO-OPN specs may be seen as reactive systems:  Stimulations: method events  Observations: gate events (may be absent…) We can extend this notion to:  Stimulations: simple or synchronized method events  Observations: simple or synchronized gate events

VALID Meeting - Besançon 7 Black Box and Integration Testing Black Box Integration Testing Stimulations - method events or method synchronizations Observations - gate events or gate synchronizations

VALID Meeting - Besançon 8 Tests for CO-OPN Specs A Test is a graphof Stimulation / Observation pairs with a truth value; The graphs are expressed in Hennessy- Milner (HML) temporal logic:  Sequence  Negation  Conjunction

VALID Meeting - Besançon 9 Why HML? HML is expressive enough to distinguish all possible executions of a CO-OPN Spec. Simple traces are not! Hidden transition uncovering

VALID Meeting - Besançon 10 Presentation Plan CO-OPN and testing; Semi-automatic test selection; Syntax of SATEL; Semantics of SATEL; Preliminary results; Future.

VALID Meeting - Besançon 11 Why is our Test Selection Semi-Automatic? The test engineer employs her semantic knowledge of the SUT to:  Select execution paths to test (HML formulas)  Constrain parameters of stimulation/observation pairs She can also impose the automatic decomposition of a method’s behavior

VALID Meeting - Besançon 12 Test Selection Process “Manual” selection “Automatic” selection

VALID Meeting - Besançon 13 Presentation Plan CO-OPN and testing; Semi-automatic test selection; Syntax of SATEL; Semantics of SATEL; Preliminary results; Future.

VALID Meeting - Besançon 14 What are Test Intentions? Test Intention 1 Test Intention 2 Test Intention 3 A test intention selects a part of the model’s transition system and abstracts it…

VALID Meeting - Besançon 15 Writing Test Intentions A SATEL test intention is defined by axioms with constrained variables: Parameters of methods or gates  ADT types or Class types Stimulations Observations HML formulas A test intention “produces” a test set!

VALID Meeting - Besançon 16 Axiom Structure hmlFormula in intention cond 1 & cond 2 & … cond n => hmlFormula in intention HML( T> in login ; Axioms Variables obs : observation usr : username (ADT) Non constrained variables assume all their possible values ( usr into jean::luc::[]) = true => HML( T) in login; Algebraic condition constraining the usr variable

VALID Meeting - Besançon 17 Recursive Axioms and Test Intention Reuse Several axioms may exist for one test intention and they may be recursive: Variables f : HML [] in nWrongPins; f in nWrongPins => f. HML(<login(newUser(mario),newPin( )) with errorLogin> T) in nWrongPins; Base case for the recursion (empty test intention) Recursive call Axioms may be reused in other test intentions: f in nWrongPins & nbEvents( f ) f in 4LessWrongPins Condition over HML formulaTest intention reuse

VALID Meeting - Besançon 18 All constraints over variables int and bool are primitive types of the test language (not ADT!) “Automatic” constraining predicate

VALID Meeting - Besançon 19 “Automatic” constraints for ADT variables subUniformity( usr ) => HML( in login; During the transition induced by the “login” method select one value for “usr” per behavior of the login operation; This depends on the axioms defining the method!

VALID Meeting - Besançon 20 Managing Non-Determinism We want to be able to include in our tests output events not predictable by the model; These events are dependent on internal random procedures of the SUT or reactions of the SUT to the environment!

VALID Meeting - Besançon 21 Dealing with Uncertainty Lazy Variables: temp : observation External: react : temperature manager ADT operation HML( T) in SecureTempAction; Variable instantiation posponed to testing time ADT operation to be passed to the test driver Problem: Validation of semi-instantiated tests!

VALID Meeting - Besançon 22 Presentation Plan CO-OPN and testing; Semi-automatic test selection; Syntax of SATEL; Semantics of SATEL; Preliminary results; Future.

VALID Meeting - Besançon 23 Denotational Semantics For each test intention: 1. For each axiom find the set of variable substitutions that makes the condition true Except variables marked with subuniformity 2. Generate per axiom a set of partially instantiated HML formulas

VALID Meeting - Besançon 24 Denotational Semantics (2) 3. “Run” the partially instantiated tests through the Spec’s transition system to find values for the remaining variables and validate… withdraw(m):(b >= m) => balance b -> balance b- m Algebraic condition allowing the method to fire Petri net pre-condition Petri net post-condition Appying a subuniformity predicate on m implies at each fire of the withdraw calculating one m for equation equations: (b >= m) = true (b >= m) = false

VALID Meeting - Besançon 25 Presentation Plan CO-OPN and testing; Semi-automatic test selection; Syntax of SATEL; Semantics of SATEL; Preliminary results; Future.

VALID Meeting - Besançon 26 Implementation of Test Intention modules

VALID Meeting - Besançon 27 Presentation Plan CO-OPN and testing; Semi-automatic test selection; Syntax of SATEL; Semantics of SATEL; Preliminary results; Future.

VALID Meeting - Besançon 28 Future Solidify syntax; Finish denotational semantics; Implement SATEL’s semantics in Prolog; Some work on coverage of the state space?