SATEL Semi Automatic TEsting Language University of Geneva Levi Lúcio, Didier Buchs M-TOOS, Portland 4/30/2015.

Slides:



Advertisements
Similar presentations
CSE391 – 2005 NLP 1 Planning The Planning problem Planning with State-space search.
Advertisements

Semantics Static semantics Dynamic semantics attribute grammars
PZ03D Programming Language design and Implementation -4th Edition Copyright©Prentice Hall, PZ03D - Program verification Programming Language Design.
Models of Concurrency Manna, Pnueli.
Concurrent Operational Semantics of Safe Time Petri Nets Claude Jard European University of Brittany, ENS Cachan Bretagne, IRISA Campus de Ker-Lann,
Automatic Verification Book: Chapter 6. What is verification? Traditionally, verification means proof of correctness automatic: model checking deductive:
Processes and Basic LOTOS Team LOT ‘O Specs Cara Gibbs Terry Peckham Robert Cowles Manon Sanscartier Ergun Gurak.
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.
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.
1/22 Programs : Semantics and Verification Charngki PSWLAB Programs: Semantics and Verification Mordechai Ben-Ari Mathematical Logic for Computer.
CS 355 – Programming Languages
Theory of Testing and SATEL. 2 Presentation Structure Theory of testing SATEL (Semi-Automatic TEsting Language) –Test Intentions –SATEL semantics –CO-OPN.
1 Flexible Subtyping Relations for Component- Oriented Formalisms and their Verification David Hurzeler PhD Examination, 9/11/2004.
Constraint Logic Programming Ryan Kinworthy. Overview Introduction Logic Programming LP as a constraint programming language Constraint Logic Programming.
1 Boolean Satisfiability in Electronic Design Automation (EDA ) By Kunal P. Ganeshpure.
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
Specifying Workflow using CO- OPN Ang Chen SMV group 11 Mars, 2005.
Programming Language Semantics Mooly SagivEran Yahav Schrirber 317Open space html://
SATEL Semi Automatic TEsting Language University of Geneva Levi Lúcio VALID Meeting - Besançon 10/3/06.
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
Real-Time Synchronised Petri Nets Giovanna Di Marzo Serugendo Dino Mandrioli, Didier Buchs, Nicolas Guelfi University of Geneva, Switzerland PN’02 / 24th.
Warm Up 1) Is (-3, 4) a solution to the system? 2)Solve the system by graphing y = -2x + 5 2y = x - 2.
Lecture 6 Template Semantics CS6133 Fall 2011 Software Specification and Verification.
Cheng/Dillon-Software Engineering: Formal Methods Model Checking.
Requirements Expression and Modelling
Ontologies Reasoning Components Agents Simulations Belief Update, Planning and the Fluent Calculus Jacques Robin.
Mathematical Modeling and Formal Specification Languages CIS 376 Bruce R. Maxim UM-Dearborn.
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.
An Algebra for Composing Access Control Policies (2002) Author: PIERO BONATTI, SABRINA DE CAPITANI DI, PIERANGELA SAMARATI Presenter: Siqing Du Date:
Advanced Topics in SE Spring Process Algebra Hossein Hojjat Formal Methods Lab University of Tehran.
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.
Microsoft Research, Foundations of Software EngineeringW. Grieskamp et. al: Behavioral Compositions in Symbolic Domains Behavioral Composition in Symbolic.
Formal Verification Lecture 9. Formal Verification Formal verification relies on Descriptions of the properties or requirements Descriptions of systems.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
Formal Specification of Intrusion Signatures and Detection Rules By Jean-Philippe Pouzol and Mireille Ducassé 15 th IEEE Computer Security Foundations.
Devina DesaiF r a m e P r o b l e m What is a Frame Problem Environment for an agent is not static Identifying which things remain static in changing word.
1 Features as Constraints Rafael AccorsiUniv. Freiburg Carlos ArecesUniv. Amsterdam Wiet BoumaKPN Research Maarten de RijkeUniv. Amsterdam.
Mathematical Preliminaries
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.
Behavioral Comparison of Process Models Based on Canonically Reduced Event Structures Paolo Baldan Marlon Dumas Luciano García Abel Armas.
 Copyright 2005 Digital Enterprise Research Institute. All rights reserved. WSLA Language Specification
ISP RAS Java Specification Extension for Automated Test Development Igor B. Bourdonov, Alexei V. Demakov, Andrei A. Jarov, Alexander S. Kossatchev, Victor.
Reasoning about the Behavior of Semantic Web Services with Concurrent Transaction Logic Presented By Dumitru Roman, Michael Kifer University of Innsbruk,
Duminda WijesekeraSWSE 623: Introduction1 Introduction to Formal and Semi- formal Methods Based on A Specifier's Introduction to Formal Methods (J. Wing)
Requirements Engineering Methods for Requirements Engineering Lecture-31.
Presented by: Belgi Amir Seminar in Distributed Algorithms Designing correct concurrent algorithms Spring 2013.
EEL 5937 Content languages EEL 5937 Multi Agent Systems Lecture 10, Feb. 6, 2003 Lotzi Bölöni.
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.
Université Toulouse I 1 CADUI' June FUNDP Namur Implementation Techniques for Petri Net Based Specifications of Human-Computer Dialogues.
IS 2620: Developing Secure Systems Formal Verification/Methods Lecture 9 March 15, 2012.
Introduction to Formal Methods
State Machine Model.
A Methodology and a Framework for Test Case Generation
Formal Verification/Methods
IS 2935: Developing Secure Systems
Formal Methods in software development
Presentation transcript:

SATEL Semi Automatic TEsting Language University of Geneva Levi Lúcio, Didier Buchs M-TOOS, Portland 4/30/2015

Portland, 4/30/ Presentation Plan CO-OPN and testing; Semi-automatic test selection; Concepts of SATEL; How do we find tests with SATEL; Conclusions.

Portland, 4/30/ Presentation Plan CO-OPN and testing; Semi-automatic test selection; Concepts of SATEL; How do we find tests with SATEL; Conclusions.

Portland, 4/30/ CO-OPN Specification Language Algebraic Data Type (ADT) Petri Net (extended) Method Gate CO-OPN Class Account

Portland, 4/30/ 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 (+)

Portland, 4/30/ CO-OPN Specs as Models for Testing CO-OPN specs may be seen as reactive systems:  Stimulations: method events  Observations: method success and gate events (may be absent…) We can extend these notions to:  Stimulations: simple or synchronized method events  Observations: simple or synchronized gate events

Portland, 4/30/ Test Representation 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

Portland, 4/30/ Presentation Plan CO-OPN and testing; Semi-automatic test selection; Concepts of SATEL; How do we find tests with SATEL; Conclusions.

Portland, 4/30/ Why is our Test Selection Semi-Automatic? The test engineer employs her semantic knowledge of the SUT to manually:  Select execution paths to test (HML formulas);  Select the shape of stimulation/observation synchronizations;  Constrain parameters of stimulation/observation pairs. … and automatically find method parameters that correspond to equivalence classes of the method’s behavior

Portland, 4/30/ Test Selection Process “Manual” selection “Automatic” selection

Portland, 4/30/ Presentation Plan CO-OPN and testing; Semi-automatic test selection; Concepts of SATEL; How do we find tests with SATEL; Conclusions.

Portland, 4/30/ What are Test Intentions? 3x A test intention selects a part of the model’s transition system and abstracts it… Test Intention 1 Test Intention 2

Portland, 4/30/ 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!

Portland, 4/30/ Language Features Test intentions described by axioms with constraints over variables; Recursion for describing repetitive paths in the labeled transition system; Reuse of test intentions for test composition.

Portland, 4/30/ 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 subUniformity( usr ) => HML( in login; Select one value for “usr” per Behavior of the login operation

Portland, 4/30/ All constraints over variables “Automatic” constraining predicate

Portland, 4/30/ Presentation Plan CO-OPN and testing; Semi-automatic test selection; Concepts of SATEL; How do we find tests with SATEL; Conclusions.

Portland, 4/30/ How to find tests 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

Portland, 4/30/ How do we find tests (2) 3. Validate the partially instantiated tests through the Spec’s transition system to find values for the remaining variables… 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 each equation: (b >= m) = true (b >= m) = false Calculated through logic programming…

Portland, 4/30/ Presentation Plan CO-OPN and testing; Semi-automatic test selection; Concepts of SATEL; How do we find tests with SATEL; Conclusions.

Portland, 4/30/ Conclusions The technique allows model based test generation; The test engineer specifies customized reusable test intentions; Abstractions from the transition system are performed automatically! Work in progress…

Portland, 4/30/ 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)) with errorLogin> T) in nWrongPins; Base case for the recursion (empty test intention) Recursive definition Axioms may be reused in other test intentions: f in nWrongPins & nbEvents( f ) f in 4LessWrongPins Condition over HML formulaTest intention reuse

Portland, 4/30/ “ Automatic” Constraints 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 behavioral axioms defining the method!