Specification-based Testing for Refinement

Size: px
Start display at page:

Download "Specification-based Testing for Refinement"

Transcription

1 Specification-based Testing for Refinement T. Kahsai 1 M. Roggenbach 1 H. Schlingloff 2 1 Swansea University, Wales 2 Humboldt University Berlin / Fraunhofer FIRST, Germany SEFM London

2

3

4

5

6 Overview A specification exercise Colouring test processes Test execution Vertical development Example revisted

7 A specification exercise: Binary Calculator

8 Consequences out of the process part - I ccspec BCALC0 = data sort Number ops 0, 1 : Number; + : Number Number? Number channel Button, Display : Number process P 0 = (?x : Button P 0 ) (!y : Display P 0 ) end

9 Consequences out of the process part - I ccspec BCALC0 = data sort Number ops 0, 1 : Number; + : Number Number? Number channel Button, Display : Number process P 0 = (?x : Button P 0 ) (!y : Display P 0 ) end Button!0 Button!0 is left open behaviour.

10 Consequences out of the process part - ccspec BCALC0 = data sort Number ops 0, 1 : Number; + : Number Number? Number channel Button, Display : Number process II end P 1 =?x : Button!y : Display P 1

11 Consequences out of the process part - ccspec BCALC0 = data sort Number ops 0, 1 : Number; + : Number Number? Number channel Button, Display : Number process II end P 1 =?x : Button!y : Display P 1 Button!0 Button!0 is a unwanted behaviour.

12 Consequences out of the data part - I ccspec BCALC2 = data sort Number ops 0, 1 : Number; + : Number Number? Number channel Button, Display : Number process P 2 end =?x : Button Display!x?y : Button Display!(x + y) P 2

13 Consequences out of the data part - I ccspec BCALC2 = data sort Number ops 0, 1 : Number; + : Number Number? Number channel Button, Display : Number process P 2 end =?x : Button Display!x?y : Button Display!(x + y) P 2 Button!0 Display!0 Button!1 Display!1 is left open behaviour.

14 Consequences out of the data part - II ccspec BCALC2 = data CARDINAL [op WordLength = 1 : Nat] with sort CARDINAL Number channel Button, Display : Number process P 2 end =?x : Button Display!x?y : Button Display!(x + y) P 2

15 Consequences out of the data part - ccspec BCALC2 = data CARDINAL [op WordLength = 1 : Nat] with sort CARDINAL Number channel Button, Display : Number process P 2 end =?x : Button Display!x?y : Button Display!(x + y) P 2 II Button!0 Display!0 Button!1 Display!1 is intended behaviour.

16 Colouring test processes

17 Test case Given: (Sp, P) CSP-CASL specification A test case T is any CSP-CASL process in the signature of Sp.

18 Test case Given: (Sp, P) CSP-CASL specification A test case T is any CSP-CASL process in the signature of Sp. e.g. Button!0 Display!0 Button!1 Display!1 Remark: In the paper also variables.

19 Colouring test processes The colour of test T with respect to (Sp, P) is a value in {red, yellow, green}.

20 Formal definition of colouring Test processes colour(t) = green M Mod(Sp) and all variable evaluations ν : X M it holds that: 1. traces([t ] ν ) traces([p] : β(m) ) and 2. for all tr = t 1,... t n traces([t ] ν ) and for all 1 i n it holds that: ( t 1,..., t i 1, {t i }) / failures([p] : β(m) ) colour(t) = red iff for all models M Mod(Sp) and all variable evaluations ν : X M it holds that: traces([t ] ν ) traces([p] : β(m) ) colour(t) = yellow otherwise.

21 So far: Expected result of a test process with respect (Sp, P).

22 Test execution

23 How to execute a test case w.r.t. particular SUT?

24 Point of control and observation (PCO) Given: System under test (SUT) A PCO P = (A,..., D) of an SUT consists of: an alphabet A of primitive events a mapping... : A T Σ a direction D : A {ts2sut, sut2ts}.

25 Point of control and observation (PCO) Given: System under test (SUT) A PCO P = (A,..., D) of an SUT consists of: an alphabet A of primitive events a mapping... : A T Σ a direction D : A {ts2sut, sut2ts}. Calculator example : A = {button 0, button 1, display 0, display 1 } button 0 = Button.0, button 1 = Button.1... ts2sut : button events sut2ts display events.

26 Test Verdict A test case T is executable w.r.t. PCO P and (Sp, P) condition: unique coverage of the terms in the test by primitive events. The verdict of test T w.r.t. (Sp, P) and a particular SUT is a value in {pass, fail, inconclusive}. Pass increased confidence in SUT w.r.t. (SP, P) Fail violation of the intentions described in (Sp, P) Inconclusive neither increased nor destroyed confidence Remark: On the paper an algorithm to derive the test verdict.

27 Overall testing framework

28 Support for vertical development

29 Well-behaved refinement Let (Sp, P) (Sp, P ) be a refinement with certain properties is called well-behaved (w-b), iff : 1. colour(t) = green with respect to (Sp, P) implies colour(t) = green with respect to (Sp, P ), and 2. colour(t) = red with respect to (Sp, P) implies colour(t) = red with respect to (Sp, P ).

30 Colouring and verdict under w-b refinement

31 Well-behaved refinement relations Refinement relation Data refinement + Process refinement over T model Process refinement over F model Process refinement over N model Process refinement over R model Well behaved X + it works with F, N, R requires divergence-free processes.

32 Calculator example revisited

33 Test colouring P 0 = (?x : Button P 0 ) (!y : Display P 0 ) = Display!1 Stop T 0 colour(t 0 ) = yellow

34 Test colouring P 1 =?x : Button!y : Display P 1 = Display!1 Stop T 0 colour(t 0 ) = red

35 Test colouring sort Number ops 0, 1 : Number; + : Number Number? Number P 2 =?x : Button Display!x?y : Button Display!(x + y) P 2 = Button!0 Display!0 Button!1 Display!1 Stop T 1 colour(t 1 ) = yellow

36 Test colouring CARDINAL [op WordLength = 1 : Nat] with sort CARDINAL Number P 3 =?x : Button Display!x?y : Button Display!(x + y) P 3 = Button!0 Display!0 Button!1 Display!1 Stop T 1 colour(t 1 ) = green Colouring can be verified using:

37 Test colouring Screen-shot of CSP-CASL-Prover :

38 Summary and Future work

39 Summary Theory for the evaluation of test cases with respect to formal specification. Separation of test oracle & test evaluation by defining expected result and test verdict. 3-valued colouring scheme for expected result = specification transformation and refinement. 3-valued evaluation scheme for test verdict = tests at all stages in a system s design.

40 Future work Test generation and test coverage. Investigate Enhancement & formal testing. e.g. Re-use test suites for new products in a product line Case study of industrial strength.

41

42 Syntactic characterisation - (first condition) check T = ((P T)[[R s1 ]]... [[R sh ]] [A ] count(n)) \ s 1 \ \ s n count(n : Nat) = if n = 0 then Ok Stop else count(k 1)

43 Process ref. over T is not well behaved DOONEA T DONOTHING ccspec DOONEA = data sort s op a : s process a Stop end ccspec DONOTHING = data sort s op a : s process Stop end T = a Stop execution check(p DoOneA, T) = Ok Stop check(p DoNothing, T) Ok Stop verdict green red

Software Testing IV. Prof. Dr. Holger Schlingloff. Humboldt-Universität zu Berlin

Software Testing IV. Prof. Dr. Holger Schlingloff. Humboldt-Universität zu Berlin Software Testing IV Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin and Fraunhofer Institute of Computer Architecture and Software Technology FIRST Outline of this Lecture Series 2006/11/24:

More information

Checking Conservativity With HETS

Checking Conservativity With HETS Checking Conservativity With HETS Mihai Codescu 1, Till Mossakowski 2,3, and Christian Maeder 2 1 University of Erlangen-Nürnberg, Germany 2 DFKI GmbH Bremen, Germany 3 SFB/TR 8 Spatial Cognition, University

More information

CSP-CASL-Prover: A Generic Tool for Process and Data Refinement

CSP-CASL-Prover: A Generic Tool for Process and Data Refinement Electronic Notes in Theoretical Computer Science 250 (2009) 69 84 www.elsevier.com/locate/entcs CSP-CASL-Prover: A Generic Tool for Process and Data Refinement Liam O Reilly 1 Markus Roggenbach 1 Swansea

More information

Formal Methods in Software Design. Markus Roggenbach

Formal Methods in Software Design. Markus Roggenbach Formal Methods in Software Design Markus Roggenbach October 2001 2 Formal Methods Use of mathematics in software development main activities: writing formal specifications 2 Formal Methods Use of mathematics

More information

Guided Test Generation from CSP Models

Guided Test Generation from CSP Models Guided Test Generation from CSP Models Sidney Nogueira 1,2, Augusto Sampaio 1, and Alexandre Mota 1 1 Centro de Informática, Universidade Federal de Pernambuco Caixa Postal 7851-50732-970 - Recife/PE -

More information

Time Exceptions in Sequence Diagrams

Time Exceptions in Sequence Diagrams in Sequence Diagrams Oddleif Halvorsen, Ragnhild Kobro Runde, Øystein Haugen 02-Oct-2006 MARTES 2006 at MoDELS 2006 1 Summary Introducing time exceptions improve the completeness of sequence diagram descriptions

More information

Algebraic-coalgebraic specification in CoCasl

Algebraic-coalgebraic specification in CoCasl Algebraic-coalgebraic specification in CoCasl Till Mossakowski a Lutz Schröder a Markus Roggenbach b Horst Reichel c a BISS, Department of Computer Science, University of Bremen b Department of Computer

More information

Verifying control systems using CSP, FDR, and Handel-C.

Verifying control systems using CSP, FDR, and Handel-C. erifying control systems using CSP, FDR, and Handel-C. 01 Verifying control systems using CSP, FDR, and Handel-C. Alistair A. McEwan University of Surrey erifying control systems using CSP, FDR, and Handel-C.

More information

Computing Fundamentals 2 Introduction to CafeOBJ

Computing Fundamentals 2 Introduction to CafeOBJ Computing Fundamentals 2 Introduction to CafeOBJ Lecturer: Patrick Browne Lecture Room: K408 Lab Room: A308 Based on work by: Nakamura Masaki, João Pascoal Faria, Prof. Heinrich Hußmann. See notes on slides

More information

Specification-based Testing of Embedded Systems H. Schlingloff, SEFM 2008

Specification-based Testing of Embedded Systems H. Schlingloff, SEFM 2008 SEFM School 2008 Specification-based Testing of Embedded Systems Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin and Fraunhofer FIRST, Berlin Lecture 5: OCL, ParTeG Course Outline L1: Introduction

More information

Three General Principles of QA. COMP 4004 Fall Notes Adapted from Dr. A. Williams

Three General Principles of QA. COMP 4004 Fall Notes Adapted from Dr. A. Williams Three General Principles of QA COMP 4004 Fall 2008 Notes Adapted from Dr. A. Williams Software Quality Assurance Lec2 1 Three General Principles of QA Know what you are doing. Know what you should be doing.

More information

the Common Algebraic Specification Language

the Common Algebraic Specification Language Introduction to CASL, the Common Algebraic Specification Language Franz Lichtenberger Research Institute for Symbolic Computation (RISC) Johannes Kepler University, Linz, Austria Franz.Lichtenberger@risc.uni

More information

Specification-based Testing of Embedded Systems H. Schlingloff, SEFM 2008

Specification-based Testing of Embedded Systems H. Schlingloff, SEFM 2008 SEFM School 2008 Specification-based Testing of Embedded Systems Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin and Fraunhofer FIRST, Berlin Lecture 4: Mutations, OCL etc. Course Outline L1:

More information

CCC The CASL Consistency Checker

CCC The CASL Consistency Checker CCC The CASL Consistency Checker Christoph Lüth 1, Markus Roggenbach 2, and Lutz Schröder 1 1 Department of Mathematics and Computer Science, Universität Bremen, Germany 2 Department of Computer Science,

More information

Elementary Recursive Function Theory

Elementary Recursive Function Theory Chapter 6 Elementary Recursive Function Theory 6.1 Acceptable Indexings In a previous Section, we have exhibited a specific indexing of the partial recursive functions by encoding the RAM programs. Using

More information

Formalisations and Applications of BPMN

Formalisations and Applications of BPMN Formalisations and Applications of BPMN Peter Y. H. Wong,a, Jeremy Gibbons a a Computing Laboratory, University of Oxford, United Kingdom Abstract We present two formalisations of the Business Process

More information

Theorem-prover based Testing with HOL-TestGen

Theorem-prover based Testing with HOL-TestGen Theorem-prover based Testing with HOL-TestGen Burkhart Wolff 1 1 Université Paris-Sud, LRI, Orsay, France wolff@lri.fr M2R: Test des Systemes Informatiques Orsay, 28 Jan 2010 Outline 1 Revision: Apparent

More information

An Annotated Language

An Annotated Language Hoare Logic An Annotated Language State and Semantics Expressions are interpreted as functions from states to the corresponding domain of interpretation Operators have the obvious interpretation Free of

More information

L R I TESTING DATA TYPES IMPLEMENTATIONS FROM ALGEBRAIC SPECIFICATIONS GAUDEL M C / LE GALL P

L R I TESTING DATA TYPES IMPLEMENTATIONS FROM ALGEBRAIC SPECIFICATIONS GAUDEL M C / LE GALL P L R I TESTING DATA TYPES IMPLEMENTATIONS FROM ALGEBRAIC SPECIFICATIONS GAUDEL M C / LE GALL P Unité Mixte de Recherche 8623 CNRS-Université Paris Sud LRI 02/2007 Rapport de Recherche N 1468 CNRS Université

More information

Science of Computer Programming

Science of Computer Programming Science of Computer Programming 76 (2011) 633 650 Contents lists available at ScienceDirect Science of Computer Programming journal homepage: www.elsevier.com/locate/scico Formalisations and applications

More information

CSc 520 Principles of Programming Languages

CSc 520 Principles of Programming Languages CSc 520 Principles of Programming Languages 50: Semantics Introduction Christian Collberg collberg@cs.arizona.edu Department of Computer Science University of Arizona Copyright c 2005 Christian Collberg

More information

Data-Oriented System Development

Data-Oriented System Development Data-Oriented System Development Prof. Martin Wirsing 30.10.2002 Refinement Technics The Refinement-Concept: Refinement through Inclusion of Model Classes 2 Goals Refinement of functional requirements:

More information

Module 3. Requirements Analysis and Specification. Version 2 CSE IIT, Kharagpur

Module 3. Requirements Analysis and Specification. Version 2 CSE IIT, Kharagpur Module 3 Requirements Analysis and Specification Lesson 6 Formal Requirements Specification Specific Instructional Objectives At the end of this lesson the student will be able to: Explain what a formal

More information

3.4 Deduction and Evaluation: Tools Conditional-Equational Logic

3.4 Deduction and Evaluation: Tools Conditional-Equational Logic 3.4 Deduction and Evaluation: Tools 3.4.1 Conditional-Equational Logic The general definition of a formal specification from above was based on the existence of a precisely defined semantics for the syntax

More information

Techniques for the unambiguous specification of software

Techniques for the unambiguous specification of software Formal Techniques for the unambiguous of software Objectives To explain why formal techniques help discover problems in system requirements To describe the use of algebraic techniques for interface To

More information

Evolution of Real-Time TTCN Testing based on Prioritised Scheduling

Evolution of Real-Time TTCN Testing based on Prioritised Scheduling Evolution of Real-Time TTCN Testing based on Prioritised Scheduling CKavadias*, ALitke*, GThanos*, VKollias* and WSkelton** *TELETEL SA; 124, Kifisias Avenue, Athens, GREECE Tel: + 30 1 6983393; Fax: +30

More information

Lecture 15: Hierarchical State Machines I

Lecture 15: Hierarchical State Machines I Software Design, Modelling and Analysis in UML Lecture 15: Hierarchical State Machines I 2015-01-08 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal 15 2015-01-08 main Albert-Ludwigs-Universität Freiburg,

More information

Practical Model-based Testing With Papyrus and RT-Tester

Practical Model-based Testing With Papyrus and RT-Tester Practical Model-based Testing With Papyrus and RT-Tester Jan Peleska and Wen-ling Huang University of Bremen Verified Systems International GmbH Fourth Halmstad Summer School on Testing, 2014-06-11 Acknowledgements.

More information

Introduction to Denotational Semantics. Class Likes/Dislikes Survey. Dueling Semantics. Denotational Semantics Learning Goals. You re On Jeopardy!

Introduction to Denotational Semantics. Class Likes/Dislikes Survey. Dueling Semantics. Denotational Semantics Learning Goals. You re On Jeopardy! Introduction to Denotational Semantics Class Likes/Dislikes Survey would change [the bijection question] to be one that still tested students' recollection of set theory but that didn't take as much time

More information

Ontology-Driven Information Systems: Challenges and Requirements

Ontology-Driven Information Systems: Challenges and Requirements Ontology-Driven Information Systems: Challenges and Requirements Burcu Yildiz 1 and Silvia Miksch 1,2 1 Institute for Software Technology and Interactive Systems, Vienna University of Technology, Vienna,

More information

A UTP Semantics for Communicating Processes with Shared Variables and its Formal Encoding in PVS

A UTP Semantics for Communicating Processes with Shared Variables and its Formal Encoding in PVS Under consideration for publication in Formal Aspects of Computing A UTP Semantics for Communicating Processes with Shared Variables and its Formal Encoding in PVS Ling Shi 1, Yongxin Zhao 2, Yang Liu

More information

Semantic Errors in Database Queries

Semantic Errors in Database Queries Semantic Errors in Database Queries 1 Semantic Errors in Database Queries Stefan Brass TU Clausthal, Germany From April: University of Halle, Germany Semantic Errors in Database Queries 2 Classification

More information

Advance Database Management System

Advance Database Management System Advance Database Management System Conceptual Design Lecture- A simplified database design process Database Requirements UoD Requirements Collection and Analysis Functional Requirements A simplified database

More information

Computation Geometry Exercise Range Searching II

Computation Geometry Exercise Range Searching II Computation Geometry Exercise Range Searching II LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Guido Brückner 20.07.2018 1 Object types in range queries y0 y

More information

Binary Search Trees. Carlos Moreno uwaterloo.ca EIT https://ece.uwaterloo.ca/~cmoreno/ece250

Binary Search Trees. Carlos Moreno uwaterloo.ca EIT https://ece.uwaterloo.ca/~cmoreno/ece250 Carlos Moreno cmoreno @ uwaterloo.ca EIT-4103 https://ece.uwaterloo.ca/~cmoreno/ece250 Standard reminder to set phones to silent/vibrate mode, please! Previously, on ECE-250... We discussed trees (the

More information

Parsing. Zhenjiang Hu. May 31, June 7, June 14, All Right Reserved. National Institute of Informatics

Parsing. Zhenjiang Hu. May 31, June 7, June 14, All Right Reserved. National Institute of Informatics National Institute of Informatics May 31, June 7, June 14, 2010 All Right Reserved. Outline I 1 Parser Type 2 Monad Parser Monad 3 Derived Primitives 4 5 6 Outline Parser Type 1 Parser Type 2 3 4 5 6 What

More information

Qualitätssicherung von Software (SWQS)

Qualitätssicherung von Software (SWQS) Qualitätssicherung von Software (SWQS) Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FOKUS 15.7.2014: Modellbasierter Test (Jaroslav Svacina) Specification-based Testing Constructing

More information

CS 671, Automated Reasoning

CS 671, Automated Reasoning CS 671, Automated Reasoning Lesson 20: Type Constructs based on Intersection (II): dependent records, abstract data types, basic algebra April 3, 2001 Last time we discussed record types and their representation

More information

EXTENSIONS OF FIRST ORDER LOGIC

EXTENSIONS OF FIRST ORDER LOGIC EXTENSIONS OF FIRST ORDER LOGIC Maria Manzano University of Barcelona CAMBRIDGE UNIVERSITY PRESS Table of contents PREFACE xv CHAPTER I: STANDARD SECOND ORDER LOGIC. 1 1.- Introduction. 1 1.1. General

More information

Week 6. Data structures

Week 6. Data structures 1 2 3 4 5 n Week 6 Data structures 6 7 n 8 General remarks We start considering Part III Data Structures from CLRS. As a first example we consider two special of buffers, namely stacks and queues. Reading

More information

6. Relational Algebra (Part II)

6. Relational Algebra (Part II) 6. Relational Algebra (Part II) 6.1. Introduction In the previous chapter, we introduced relational algebra as a fundamental model of relational database manipulation. In particular, we defined and discussed

More information

Module 3a. Selection of Areas - by Text Listing

Module 3a. Selection of Areas - by Text Listing Module 3a Selection of Areas - by Text Listing BLANK PAGE SASPAC Training Area Selection by Text Listing Whatever the task, the user will always have an option within SASPAC to select areas, normally achieved

More information

Tool Support for CSP-CASL

Tool Support for CSP-CASL Tool Support for CSP-CASL Andy Gimblett Submitted to the University of Wales in fulfillment of the requirements for the degree of Master of Philosophy September 2008 Department of Computer Science Swansea

More information

Range Searching II: Windowing Queries

Range Searching II: Windowing Queries Computational Geometry Lecture : Windowing Queries INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Tamara Mchedlidze Chih-Hung Liu 23.11.2015 1 Object types in range queries y0 y x x0 Setting

More information

PCO ASPs IUT. Tester. ASPs PCO. PDUs. Test System TCP. ASPs PCO. PDUs IUT. Service Provider. Lower Tester Control Function TCP

PCO ASPs IUT. Tester. ASPs PCO. PDUs. Test System TCP. ASPs PCO. PDUs IUT. Service Provider. Lower Tester Control Function TCP Accepted for Computer Networks & ISDN Systems: Special Issue on Protocol Testing TTCN: Towards a Formal Semantics and Validation of Test Suites Finn Kristoersen Thomas Walter y Abstract TTCN (Tree and

More information

Offline Model-based Testing and Runtime Monitoring

Offline Model-based Testing and Runtime Monitoring Offline Model-based Testing and Runtime Monitoring of the Sensor Voting Module Paolo Arcaini Angelo Gargantini Elvinia Riccobene Università of Bergamo- Italy Università di Milano - Italy Tolouse, ABZ 2014

More information

Reflection in the Chomsky Hierarchy

Reflection in the Chomsky Hierarchy Reflection in the Chomsky Hierarchy Henk Barendregt Venanzio Capretta Dexter Kozen 1 Introduction We investigate which classes of formal languages in the Chomsky hierarchy are reflexive, that is, contain

More information

Introduction to Denotational Semantics. Brutus Is An Honorable Man. Class Likes/Dislikes Survey. Dueling Semantics

Introduction to Denotational Semantics. Brutus Is An Honorable Man. Class Likes/Dislikes Survey. Dueling Semantics Brutus Is An Honorable Man HW2 will not be due today. Homework X+1 will never be due until after I have returned Homework X to you. Normally this is never an issue, but I was sick yesterday and was hosting

More information

Towards Trustworthy Specifications I: Consistency Checks

Towards Trustworthy Specifications I: Consistency Checks Towards Trustworthy Specifications I: Consistency Checks Markus Roggenbach and Lutz Schröder BISS, Department of Computer Science, Bremen University Abstract. As the first of two methodological devices

More information

Software Engineering using Formal Methods

Software Engineering using Formal Methods Software Engineering using Formal Methods Introduction to Promela Wolfgang Ahrendt 03 September 2015 SEFM: Promela /GU 150903 1 / 36 Towards Model Checking System Model Promela Program byte n = 0; active

More information

Module 9: Binary trees

Module 9: Binary trees Module 9: Binary trees Readings: HtDP, Section 14 We will cover the ideas in the text using different examples and different terminology. The readings are still important as an additional source of examples.

More information

Analytical Software Design: Introduction and Industrial Experience Report

Analytical Software Design: Introduction and Industrial Experience Report Analytical Software Design: Introduction and Industrial Experience Report Ammar Osaiweran 1,2,, Marcel Boosten 2, MohammadReza Mousavi 1 1 Eindhoven University of Technology, Eindhoven, The Netherlands

More information

Tasks of the Tokenizer

Tasks of the Tokenizer Tokenizing 1 Tasks of the Tokenizer Group the input (which is just a stream/string of characters) into tokens. (Numbers, operators, special words, strings) Eliminate comments. In C : Deal with #include,

More information

Conceptual modeling of entities and relationships using Alloy

Conceptual modeling of entities and relationships using Alloy Conceptual modeling of entities and relationships using Alloy K. V. Raghavan Indian Institute of Science, Bangalore Conceptual modeling What is it? Capture requirements, other essential aspects of software

More information

Harmonizing System Development and Test Development with MDA

Harmonizing System Development and Test Development with MDA Harmonizing Development and Development with MDA Fraunhofer FOKUS Germany OMG Software Assurance Workshop, March 2007 Motivation! ing improves software quality! Manual test development is resource consuming!

More information

Semantical Characterization of unbounded-nondeterministic ASMs

Semantical Characterization of unbounded-nondeterministic ASMs Semantical Characterization of unbounded-nondeterministic ASMs Berlin, 26/27 Feb 2007 Andreas Glausch Humboldt-Universität zu Berlin Department of Computer Science Abstract State Machines (ASMs) state

More information

Model-based Testing Using Scenarios and Event-B Refinements

Model-based Testing Using Scenarios and Event-B Refinements Model-based Testing Using Scenarios and Event-B Refinements Qaisar A. Malik, Johan Lilius, and Linas Laibinis Åbo Akademi University, Department of Information Technologies Turku Centre for Computer Science

More information

Relational Algebra 1

Relational Algebra 1 Relational Algebra 1 Relational Query Languages v Query languages: Allow manipulation and retrieval of data from a database. v Relational model supports simple, powerful QLs: Strong formal foundation based

More information

Formal Approach in Software Testing

Formal Approach in Software Testing Formal Approach in Software Testing #Abhishek Dixit, #Shivani Goel 1 csed, TIET biodatadixit@yahoo.co.in 2 csed, TIET shivani@tiet.ac.in Abstract Testing is an important activity for checking the correctness

More information

Generalizations of Rice s Theorem, Applicable to Executable and Non-Executable Formalisms

Generalizations of Rice s Theorem, Applicable to Executable and Non-Executable Formalisms , Applicable to Executable and Non-Executable Formalisms Cornelis Huizing, Ruurd Kuiper and Tom Verhoeff Eindhoven University of Technology, Dept. of Math. & Comp. Sc., Den Dolech 2, 5612 AZ Eindhoven,

More information

Software Engineering using Formal Methods

Software Engineering using Formal Methods Software Engineering using Formal Methods Introduction to Promela Wolfgang Ahrendt & Richard Bubel & Reiner Hähnle & Wojciech Mostowski 31 August 2011 SEFM: Promela /GU 110831 1 / 35 Towards Model Checking

More information

A Sound Operational Semantics for Circus

A Sound Operational Semantics for Circus 56 Int'l Conf. Software Eng. Research and Practice SERP'17 A Sound Operational Semantics for Circus S. L. M. Barrocas 1 and M. V. M. Oliveira 1, 2 1 Departamento de Informática e Matemática Aplicada, Universidade

More information

Autolink. A Tool for the Automatic and Semi-Automatic Test Generation

Autolink. A Tool for the Automatic and Semi-Automatic Test Generation Autolink A Tool for the Automatic and Semi-Automatic Test Generation Michael Schmitt, Beat Koch, Jens Grabowski and Dieter Hogrefe University of Lubeck, Institute for Telematics, Ratzeburger Allee 160,

More information

2.1 Sets 2.2 Set Operations

2.1 Sets 2.2 Set Operations CSC2510 Theoretical Foundations of Computer Science 2.1 Sets 2.2 Set Operations Introduction to Set Theory A set is a structure, representing an unordered collection (group, plurality) of zero or more

More information

3.7 Denotational Semantics

3.7 Denotational Semantics 3.7 Denotational Semantics Denotational semantics, also known as fixed-point semantics, associates to each programming language construct a well-defined and rigorously understood mathematical object. These

More information

Formal Methods Expert to IMA-SP Kernel Qualification Preparation

Formal Methods Expert to IMA-SP Kernel Qualification Preparation Formal Methods Expert to IMA-SP Kernel Qualification Preparation Andrew Butterfield Formal Methods Expert to IMA-SP Kernel Qualification Preparation ESTEC Contract No 4000112208 9 th June 2016 10/06/2016

More information

Test Oracles. Test Oracle

Test Oracles. Test Oracle Encontro Brasileiro de Testes de Software April 23, 2010 Douglas Hoffman, BACS, MBA, MSEE, ASQ-CSQE, ASQ-CMQ/OE, ASQ Fellow Software Quality Methods, LLC. (SQM) www.softwarequalitymethods.com doug.hoffman@acm.org

More information

This book is licensed under a Creative Commons Attribution 3.0 License

This book is licensed under a Creative Commons Attribution 3.0 License 6. Syntax Learning objectives: syntax and semantics syntax diagrams and EBNF describe context-free grammars terminal and nonterminal symbols productions definition of EBNF by itself parse tree grammars

More information

Part III Chapter 15: Subtyping

Part III Chapter 15: Subtyping Part III Chapter 15: Subtyping Subsumption Subtype relation Properties of subtyping and typing Subtyping and other features Intersection and union types Subtyping Motivation With the usual typing rule

More information

Derivation and Verification of Parallel Components for the Needs of an HPC Cloud

Derivation and Verification of Parallel Components for the Needs of an HPC Cloud XVII Brazilian Symposiun on Formal Methods () In: III Brazilian Conference on Software: Theory and Practice (CBSOFT'2013) Derivation and Verification of Parallel Components for the Needs of an HPC Cloud

More information

A Language for Specifying Type Contracts in Erlang and its Interaction with Success Typings

A Language for Specifying Type Contracts in Erlang and its Interaction with Success Typings A Language for Specifying Type Contracts in Erlang and its Interaction with Success Typings Miguel Jiménez 1, Tobias Lindahl 1,2, Konstantinos Sagonas 3,1 1 Department of Information Technology, Uppsala

More information

From test design to validation

From test design to validation From test design to validation (with the example of the IPv6 test bed) 4th e-infrastructure Concertation Sophia Antipolis, 5/6 Dec 2007 Sebastian Müller Centre for Testing and Interoperability ETSI 2007.

More information

MetaML: structural reflection for multi-stage programming (CalcagnoC, MoggiE, in collaboration with TahaW)

MetaML: structural reflection for multi-stage programming (CalcagnoC, MoggiE, in collaboration with TahaW) Workshop TOSCA MetaML: structural reflection for multi-stage programming (CalcagnoC, MoggiE, in collaboration with TahaW) - starting point: functional languages, MetaML [MetaML] - keywords: programs as

More information

Report. An Evaluation of a Test driven Security Risk Analysis Method Based on an Industrial Case Study

Report. An Evaluation of a Test driven Security Risk Analysis Method Based on an Industrial Case Study Unrestricted Report An Evaluation of a Test driven Security Risk Analysis Method Based on an Industrial Case Study Author(s) Gencer Erdogan Fredrik Seehusen Yan Li SINTEF ICT Networked Systems and Services

More information

Safe Stratified Datalog With Integer Order Does not Have Syntax

Safe Stratified Datalog With Integer Order Does not Have Syntax Safe Stratified Datalog With Integer Order Does not Have Syntax Alexei P. Stolboushkin Department of Mathematics UCLA Los Angeles, CA 90024-1555 aps@math.ucla.edu Michael A. Taitslin Department of Computer

More information

4 Tutorial: TTCN Suite

4 Tutorial: TTCN Suite 4 Tutorial: TTCN Suite Basics (in Windows) This tutorial is intended as an easy introduction to the TTCN suite for the newcomer. It is assumed that you have some basic knowledge about Windows. In addition,

More information

CSCI.6962/4962 Software Verification Fundamental Proof Methods in Computer Science (Arkoudas and Musser) Chapter p. 1/27

CSCI.6962/4962 Software Verification Fundamental Proof Methods in Computer Science (Arkoudas and Musser) Chapter p. 1/27 CSCI.6962/4962 Software Verification Fundamental Proof Methods in Computer Science (Arkoudas and Musser) Chapter 2.1-2.7 p. 1/27 CSCI.6962/4962 Software Verification Fundamental Proof Methods in Computer

More information

Semantics Preservation of Sequence

Semantics Preservation of Sequence Semantics Preservation of Sequence Diagram Aspects Jon Oldevik, Øystein Haugen Department of Informatics, University of Oslo, Norway SINTEF Information and Communication Technology, Norway jonold at ifi.uio.no

More information

Features and Feature Interactions in Software Engineering using Logic

Features and Feature Interactions in Software Engineering using Logic Features and Feature Interactions in Software Engineering using Logic Ragnhild Van Der Straeten rvdstrae@vub.ac.be System and Software Engineering Lab Vrije Universiteit Brussel, Belgium Johan Brichau

More information

Guidelines for deployment of MathWorks R2010a toolset within a DO-178B-compliant process

Guidelines for deployment of MathWorks R2010a toolset within a DO-178B-compliant process Guidelines for deployment of MathWorks R2010a toolset within a DO-178B-compliant process UK MathWorks Aerospace & Defence Industry Working Group Guidelines for deployment of MathWorks R2010a toolset within

More information

Challenges in testing Model Transformations. Amr Al-Mallah

Challenges in testing Model Transformations. Amr Al-Mallah Challenges in testing Model Transformations Amr Al-Mallah 1 Outline Overview/Motivation Systematic Software Testing Systematic Software Testing of Model Transformations. Focus : Model differencing 2 Overview

More information

Centre for Parallel Computing, University of Westminster, London, W1M 8JS

Centre for Parallel Computing, University of Westminster, London, W1M 8JS Graphical Construction of Parallel Programs G. R. Ribeiro Justo Centre for Parallel Computing, University of Westminster, London, WM 8JS e-mail: justog@wmin.ac.uk, Abstract Parallel programming is not

More information

V&V: Model-based testing

V&V: Model-based testing V&V: Model-based testing Systems Engineering BSc Course Budapest University of Technology and Economics Department of Measurement and Information Systems Traceability Platform-based systems design Verification

More information

Chapter 3. Describing Syntax and Semantics

Chapter 3. Describing Syntax and Semantics Chapter 3 Describing Syntax and Semantics Chapter 3 Topics Introduction The General Problem of Describing Syntax Formal Methods of Describing Syntax Attribute Grammars Describing the Meanings of Programs:

More information

High Assurance Evaluations Challenges in Formal Security Policy Modeling & Covert Channel Analysis. Sai Pulugurtha September 24, 2008

High Assurance Evaluations Challenges in Formal Security Policy Modeling & Covert Channel Analysis. Sai Pulugurtha September 24, 2008 High Assurance Evaluations Challenges in Formal Security Policy Modeling & Covert Channel Analysis Sai Pulugurtha September 24, 2008 Overview Introduction and Goals SPM and CCA Requirements in Common Criteria

More information

Verification and Validation. Verification and validation

Verification and Validation. Verification and validation Verification and Validation Verification and validation Verification and Validation (V&V) is a whole life-cycle process. V&V has two objectives: Discovery of defects, Assessment of whether or not the system

More information

Turning proof assistants into programming assistants

Turning proof assistants into programming assistants Turning proof assistants into programming assistants ST Winter Meeting, 3 Feb 2015 Magnus Myréen Why? Why combine proof- and programming assistants? Why proofs? Testing cannot show absence of bugs. Some

More information

Dorel LUCANU. University Al.I.Cuza of Iaşi Department of Computer Science Berthelot Iaşi, Romania

Dorel LUCANU. University Al.I.Cuza of Iaşi Department of Computer Science Berthelot Iaşi, Romania Dorel LUCANU University Al.I.Cuza of Iaşi Department of Computer Science Berthelot 16 6600-Iaşi, Romania e-mail: dlucanu@infoiasi.ro Understanding CafeOBJ by examples (Introduction to concurrent object-oriented

More information

Model checking LTL formulae in RAISE with FDR

Model checking LTL formulae in RAISE with FDR Model checking LTL formulae in RAISE with FDR Abigail Parisaca Vargas 1, Ana G. Garis 2, S. Lizeth Tapia Tarifa 1, and Chris George 3 1 San Pablo Catholic University, Arequipa, Peru 2 University of San

More information

Covert Identity Information in Direct Anonymous Attestation (DAA)

Covert Identity Information in Direct Anonymous Attestation (DAA) Covert Identity Information in Direct Anonymous Attestation (DAA) Carsten Rudolph Fraunhofer Institute for Secure Information Technology - SIT, Rheinstrasse 75, Darmstadt, Germany, Carsten.Rudolph@sit.fraunhofer.de

More information

Part III. Chapter 15: Subtyping

Part III. Chapter 15: Subtyping Part III Chapter 15: Subtyping Subsumption Subtype relation Properties of subtyping and typing Subtyping and other features Intersection and union types Subtyping Motivation With the usual typing rule

More information

An Approach to Specify and Test Component-Based Dependable Software

An Approach to Specify and Test Component-Based Dependable Software An Approach to Specify and Test Component-Based Dependable Software Arshad Jhumka, Martin Hiller, and Neeraj Suri Dept of Computer Engineering Chalmers University of Technology 412 96, Göteborg, Sweden

More information

Subsumption. Principle of safe substitution

Subsumption. Principle of safe substitution Recap on Subtyping Subsumption Some types are better than others, in the sense that a value of one can always safely be used where a value of the other is expected. Which can be formalized as by introducing:

More information

NPS Apps - Google Docs Facilitated by Liza Zandonella Newtown High School May, 2013

NPS Apps - Google Docs Facilitated by Liza Zandonella Newtown High School May, 2013 NPS Apps - Google Docs Facilitated by Liza Zandonella Newtown High School May, 2013 Creating, Uploading and Sharing Documents To open Google Docs, select Drive on the menu bar of your Google Mail browser.

More information

SFWR ENG 3S03: Software Testing

SFWR ENG 3S03: Software Testing (Slide 1 of 52) Dr. Ridha Khedri Department of Computing and Software, McMaster University Canada L8S 4L7, Hamilton, Ontario Acknowledgments: Material based on [?] Techniques (Slide 2 of 52) 1 2 3 4 Empirical

More information

BOBJ: A Quickstart for Software Engineers

BOBJ: A Quickstart for Software Engineers BOBJ: A Quickstart for Software Engineers Lutz Hamel Dept. of Computer Science and Statistics University of Rhode Island Kingston, RI 02881 hamel@cs.uri.edu DRAFT 12/7/03 Getting Started BOBJ is a specification

More information

A Michael Jackson presentation. CSE503: Software Engineering. The following slides are from his keynote at ICSE 1995

A Michael Jackson presentation. CSE503: Software Engineering. The following slides are from his keynote at ICSE 1995 A Michael Jackson presentation CSE503: Software Engineering The following slides are from his keynote at ICSE 1995 David Notkin University of Washington Computer Science & Engineering Spring 2006 1 2 3

More information

Users and roles. Contents

Users and roles. Contents Users and roles Help bits Contents Overview... 3 Users... 4 Operation... 5 Users tab... 6 Creating a new user... 9 Role tab... 10 Editing a role... 11 Creating a new role... 11 Role deletion... 12 Privacy

More information

2 Discrete Dynamic Systems

2 Discrete Dynamic Systems 2 Discrete Dynamic Systems This chapter introduces discrete dynamic systems by first looking at models for dynamic and static aspects of systems, before covering continuous and discrete systems. Transition

More information

Pooya Saadatpanah, Michalis Famelis, Jan Gorzny, Nathan Robinson, Marsha Chechik, Rick Salay. September 30th, University of Toronto.

Pooya Saadatpanah, Michalis Famelis, Jan Gorzny, Nathan Robinson, Marsha Chechik, Rick Salay. September 30th, University of Toronto. Comparing the Pooya Michalis Jan Nathan Marsha Chechik, Rick Salay University of Toronto September 30th, 2012 MoDeVVa 12 1 / 32 in software modeling : pervasive in MDE Models with uncertainty: Represent

More information