Runtime Verification - Monitor-oriented Programming - Monitor-based Runtime Reflection
|
|
- Iris Gibbs
- 8 years ago
- Views:
Transcription
1 Runtime Verification - Monitor-oriented Programming - Monitor-based Runtime Reflection Martin Leucker Technische Universität München (joint work with Andreas Bauer, Christian Schallhart et. al) FLACOS October 10, 2007 Lehrstuhl IV: Software & Systems Engineering 1
2 Contents Runtime Verification description, applications theoretical background Monitor-oriented Programming description, applications theoretical background Monitor-based Runtime Reflection description, applications theoretical background Lehrstuhl IV: Software & Systems Engineering 2
3 Part I Runtime Verification Lehrstuhl IV: Software & Systems Engineering 3
4 Runtime Verification's Rationale Never trust a running system Lehrstuhl IV: Software & Systems Engineering 4
5 Definition Verification Verification comprises all techniques for showing that a system satisfies its specification. Runtime Verification Runtime verification deals with those techniques that allow checking whether a system under scrutiny satisfies or violates a given safety property. Lehrstuhl IV: Software & Systems Engineering 5
6 Characterization It aims to be lightweight verification technique complementing verification techniques such as model checking testing Lehrstuhl IV: Software & Systems Engineering 6
7 Formally Let be a correctness property Let denote the set of words conforming to Let be an execution a word In its mathematical essence, runtime verification is answering whether thus the word problem. Lehrstuhl IV: Software & Systems Engineering 7
8 How it works Online Monitoring P 1? M 1 M 3 P 3? Four monitors, M 1, M 2, M 3, M 4, S 1 S 3 checking independently, properties P 1, P 2, P 3, P 4 Hierarchical System S Components, Procedures,... S 2 S 4 Properties typically given in some variant of Lineartime Temporal Logic (LTL) P 2? M 2 M 4 P 4? Lehrstuhl IV: Software & Systems Engineering 8
9 How it works Offline Monitoring P 1? M 1 S 1 S 3 Hierarchical System Logging on Disk Analysis by Monitor offline S 2 S 4 Lehrstuhl IV: Software & Systems Engineering 9
10 Model Checking Formally, model checking asks which is the language inclusion problem and often of much higher complexity Model checking consider (usually) infinite traces, runtime verification necessarily finite traces finite but continuously longer traces, asks for monitors working in an incremental fashion Lehrstuhl IV: Software & Systems Engineering 10
11 Model Checking II LTL semantics for finite traces needed Complexity of monitor (automata) generation not important, but complexity of monitor Model checking only applicable to white-box systems Runtime verification ideal also for black-box systems Lehrstuhl IV: Software & Systems Engineering 11
12 Testing (I) Testing is usually incomplete like runtime verification Test case: finite sequence of input/output actions Test suite: finite collection of test cases Test execution: check whether output is as expected when input sequence is given to the system Lehrstuhl IV: Software & Systems Engineering 12
13 Testing II Test case: only (finite) sequence of input actions Test suite: finite collection of test cases Test oracle: monitor checking behavior of the system Test execution: give test cases (input sequences) to system, check whether monitor complains sounds like runtime verification! Lehrstuhl IV: Software & Systems Engineering 13
14 Testing II (cont.) Oracle defined manual Monitor derived from formal specification (LTL formula) Research issue in testing: How to find good test suites? Research issue in runtime verification: How to derive good monitors? Lehrstuhl IV: Software & Systems Engineering 14
15 Runtime verification for LTL Syntax of LTL Abbreviations: Some examples: Interpretation of over sequence of system events (behaviours), M 1 Automatic monitor generation: Inspired by translation of LTL to Büchi-automata p q p q Lehrstuhl IV: Software & Systems Engineering 15
16 LTL over finite traces Introduce 3-valued semantics for LTL (resembling the 2-valued one): The goal finite-state machines for detecting minimal bad prefixes: inconclusive l true true false i j k inconclusive Lehrstuhl IV: Software & Systems Engineering 16
17 How it actually works Use emptiness-per-state as alternative acceptance condition: M 1 Emptiness only says whether language is non-empty, not whether all future traces are accepting or not! Now we have a formal decision procedure: Lehrstuhl IV: Software & Systems Engineering 17
18 Complexity Lehrstuhl IV: Software & Systems Engineering 18
19 But optimal solution... Consider this: FSMs can be minimised (Myhill-Nerode equivalence) As such, any smaller automaton does not accept the same language => Monitor generation optimal Moreover, procedure detects all minimal bad prefixes by defintion of 3-valued semantics: Lehrstuhl IV: Software & Systems Engineering 19
20 Static initialisation order fiasco Lehrstuhl IV: Software & Systems Engineering 20
21 Monitors revisited The general structure Bad prefixes/good prefixes/ugly prefixes Monitorable (after u) Safety/co-safety properties Lehrstuhl IV: Software & Systems Engineering 21
22 Works also for timed systems! Principle stays the same, but we use Timed words TLTL aka state-clock logic for LTL (FO fragment of MSO interpreted over timed words) for each symbol we have two clock variables: Useful for time-bounded response properties! a recording clock, and a predicting clock for translation timed (event-clock) automata with runs of the form: Obviously, this execution scheme poses a problem! Lehrstuhl IV: Software & Systems Engineering 22
23 Observing Not Acting! Runtime verification does not influence/modify the running system at least tries to it might consume resources of the monitored system Lehrstuhl IV: Software & Systems Engineering 23
24 Part II Monitor-oriented Programming (Grigore Rosu et. al. - thanks for Slides) Lehrstuhl IV: Software & Systems Engineering 24
25 But first A commercial... Lehrstuhl IV: Software & Systems Engineering 25
26 Main Ideas Use monitors to check behavior of program Influence behavior of program when monitor either confirms that a correctness property is satisfied or falsified annotate code (e.g. Java code) by monitor description, and code to be triggered by monitor Lehrstuhl IV: Software & Systems Engineering 26
27 JavaMOP example Enforce authentication before use class Resource { /*@ scope = class logic = PTLTL { Event authenticate: end(exec(* authenticate())); Event use: begin(exec(* access())); Formula : use -> <*> authenticate } violation Handler void authenticate() {...} void access() {...}... } Lehrstuhl IV: Software & Systems Engineering 27
28 Example Programming methodology some ideas similar as in aspect-oriented programming Lehrstuhl IV: Software & Systems Engineering 28
29 MOP key features Extensible logic framework Plug and use user-defined logics using logic plugins Supported logics: ERE (Extended Regular Expression), PtLTL (Past Time Linear Temporal Logic), FtLTL (Future Time Linear Temporal Logic), ATL (Allen Temporal Logic) Generic and efficient support for universal parameters Allow monitor instances per groups of objects Faster than logic-specific monitoring techniques, e.g., Tracematches and PQL. [OOPSLA 07] Configurable monitors Running mode: inline/outline, online/offline Working scope: method, class, global, User-provided actions for violations and validations Lehrstuhl IV: Software & Systems Engineering 29
30 Part III Monitor-oriented Runtime Reflection Lehrstuhl IV: Software & Systems Engineering 30
31 Runtime reflection An architecture for model-based runtime analysis: Control commands Reconfiguration Distributed real-time system Diagnosis Monitoring Logging System events Lehrstuhl IV: Software & Systems Engineering 31
32 How it works A functional overview P 1? M 1 M 3 P 3? S 1 S 3 Distributed real-time system, S Diagnosis {S 1,S 2,S 3,S 4 } S 2 S 4 P 2? M 2 M 4 P 4? Lehrstuhl IV: Software & Systems Engineering 32
33 Part - Monitoring Reconfiguration Distributed real-time system Diagnosis As done in Runtime Verification Monitoring Logging Lehrstuhl IV: Software & Systems Engineering 33
34 Part - Diagnosis Reconfiguration Diagnosis Distributed real-time system Monitoring Logging Lehrstuhl IV: Software & Systems Engineering 34
35 Part Diagnosis Distributed real-time system System model: set of components,, system description,, specified in terms of first-order sentences, e.g., Reconfiguration Diagnosis Monitoring Logging Diagnostic task: given a set of observations,, find all minimal diagnoses s.t. is explicable, i.e., is consistent S1 S2 MBD-Engine Lehrstuhl IV: Software & Systems Engineering 35 S3 S4
36 But what about... Distributed real-time system Reconfiguration Diagnosis Monitoring Logging But, first-order diagnosis is hard! Automatic conflict set determination may not always be possible (e.g., non-termination, HS-problem is NP-hard) Although tailored for it, introduction of unknowns may result in exponential blowup of conflict search space Not laid out for real-time / event-triggered systems Ultimately, hard to think of doing all this continuously at runtime! Lehrstuhl IV: Software & Systems Engineering 36
37 Combined analysis Diagnosis-on-demand, using the automatically generated monitors as inputs Distributed real-time system Reconfiguration Diagnosis Monitoring Logging M 1 false. true,?.. true,? MBD-Engine M n true,? Propositional system model, SD: ok(m1), ok(m2),... Problem still in NP, but powerful algorithms for computing conflicts Lehrstuhl IV: Software & Systems Engineering 37
38 Example: where is the fault?!! i1 i2 S 1 m1? S 3 o1!! i3 i4 S 2 m2? S 4 o2 Lehrstuhl IV: Software & Systems Engineering 38
39 Let's compare! The three dimensions of runtime analysis (computational) complexity So, how is our combined approach doing now? precision communication Lehrstuhl IV: Software & Systems Engineering 39
40 Problems and strengths of methods (computational) complexity usually no diagnosis (and if, at a high comm. cost) Model-based Diagnosis Runtime reflection verification usually static, very complex, no detection mechanisms, not suited for real-time precision communication High precision with minimal communication overhead (at runtime, for real-time and distributed systems) Lehrstuhl IV: Software & Systems Engineering 40
41 Towards conclusion Let's wrap up! Lehrstuhl IV: Software & Systems Engineering 41
42 Runtime verification Control commands Reconfiguration Distributed real-time system Diagnosis Monitoring Logging System events Lehrstuhl IV: Software & Systems Engineering 42
43 Monitor-oriented programming Combination of Runtime Verification with Diagnosis Control commands Reconfiguration Distributed real-time system Diagnosis Monitoring Logging System events Lehrstuhl IV: Software & Systems Engineering 43
44 Runtime reflection Combination of Runtime Verification with Diagnosis Control commands Reconfiguration Distributed real-time system Diagnosis Monitoring Logging System events Lehrstuhl IV: Software & Systems Engineering 44
45 Thank you! Lehrstuhl IV: Software & Systems Engineering 45
Algorithmic Software Verification
Algorithmic Software Verification (LTL Model Checking) Azadeh Farzan What is Verification Anyway? Proving (in a formal way) that program satisfies a specification written in a logical language. Formal
More informationRuntime Verification for LTL and TLTL
Runtime Verification for LTL and TLTL ANDREAS BAUER NICTA and Australian National University MARTIN LEUCKER Technische Universität München and CHRISTIAN SCHALLHART Technische Universität Darmstadt This
More informationSoftware Reliability: Runtime Verification
Software Reliability: Runtime Verification Martin Leucker and the whole ISP team Institute for Software Engineering Universität zu Lübeck Riga, 21.07. 04.08.14 Martin Leucker Basoti, 2014 1/117 Runtime
More informationSoftware Active Online Monitoring Under. Anticipatory Semantics
Software Active Online Monitoring Under Anticipatory Semantics Changzhi Zhao, Wei Dong, Ji Wang, Zhichang Qi National Laboratory for Parallel and Distributed Processing P.R.China 7/21/2009 Overview Software
More informationintroduction to program monitoring
introduction to program monitoring CS 119 part II beyond assert and print course website http://www.runtime-verification.org/course09 action standing order: sell when price drops more than 2% within 1
More informationRuntime Verification for Real-Time Automotive Embedded Software
Runtime Verification for Real-Time Automotive Embedded Software S. Cotard, S. Faucou, J.-L. Béchennec, A. Queudet, Y. Trinquet 10th school of Modelling and Verifying Parallel processes (MOVEP) Runtime
More informationAccess Control Based on Dynamic Monitoring for Detecting Software Malicious Behaviours
Access Control Based on Dynamic Monitoring for Detecting Software Malicious Behaviours K. Adi, L. Sullivan & A. El Kabbal Computer Security Research Laboratory http://w3.uqo.ca/lrsi NCAC'05 1 Motivation
More informationTesting LTL Formula Translation into Büchi Automata
Testing LTL Formula Translation into Büchi Automata Heikki Tauriainen and Keijo Heljanko Helsinki University of Technology, Laboratory for Theoretical Computer Science, P. O. Box 5400, FIN-02015 HUT, Finland
More informationMONPOLY: Monitoring Usage-control Policies
MONPOLY: Monitoring Usage-control Policies David Basin, Matúš Harvan, Felix Klaedtke, and Eugen Zălinescu Computer Science Department, ETH Zurich, Switzerland 1 Introduction Determining whether the usage
More informationMonitoring Metric First-order Temporal Properties
Monitoring Metric First-order Temporal Properties DAVID BASIN, FELIX KLAEDTKE, SAMUEL MÜLLER, and EUGEN ZĂLINESCU, ETH Zurich Runtime monitoring is a general approach to verifying system properties at
More informationToday s Agenda. Automata and Logic. Quiz 4 Temporal Logic. Introduction Buchi Automata Linear Time Logic Summary
Today s Agenda Quiz 4 Temporal Logic Formal Methods in Software Engineering 1 Automata and Logic Introduction Buchi Automata Linear Time Logic Summary Formal Methods in Software Engineering 2 1 Buchi Automata
More informationCoMA: Conformance Monitoring of Java programs by Abstract State Machines
CoMA: Conformance Monitoring of Java programs by Abstract State Machines Paolo Arcaini 1, Angelo Gargantini 2, and Elvinia Riccobene 1 1 Dip. di Tecnologie dell Informazione, Università degli Studi di
More informationOn the Modeling and Verification of Security-Aware and Process-Aware Information Systems
On the Modeling and Verification of Security-Aware and Process-Aware Information Systems 29 August 2011 What are workflows to us? Plans or schedules that map users or resources to tasks Such mappings may
More informationUnified Static and Runtime Verification of Object-Oriented Software
Unified Static and Runtime Verification of Object-Oriented Software Wolfgang Ahrendt 1, Mauricio Chimento 1, Gerardo Schneider 2, Gordon J. Pace 3 1 Chalmers University of Technology, Gothenburg, Sweden
More informationDevelopment of global specification for dynamically adaptive software
Development of global specification for dynamically adaptive software Yongwang Zhao School of Computer Science & Engineering Beihang University zhaoyw@act.buaa.edu.cn 22/02/2013 1 2 About me Assistant
More informationTechnical Report. Identifying meaningless parameterized linear-temporallogic. Nr. TUD-CS-2012-0014 January 17 th, 2012
Technical Report Nr. TUD-CS-2012-0014 January 17 th, 2012 Identifying meaningless parameterized linear-temporallogic formulas Authors Eric Bodden (EC SPRIDE, CASED) Identifying meaningless parameterized
More informationAutomata-Based Verification of Temporal Properties on Running Programs Dimitra Giannakopoulou Klaus Havelund
Automata-Based Verification of Temporal Properties on Running Programs Dimitra Giannakopoulou Klaus Havelund RIACS Technical Report 01.21 August 2001 Presented at the 16 th IEEE International Conference
More informationSpecification and Analysis of Contracts Lecture 1 Introduction
Specification and Analysis of Contracts Lecture 1 Introduction Gerardo Schneider gerardo@ifi.uio.no http://folk.uio.no/gerardo/ Department of Informatics, University of Oslo SEFM School, Oct. 27 - Nov.
More informationlogic language, static/dynamic models SAT solvers Verified Software Systems 1 How can we model check of a program or system?
5. LTL, CTL Last part: Alloy logic language, static/dynamic models SAT solvers Today: Temporal Logic (LTL, CTL) Verified Software Systems 1 Overview How can we model check of a program or system? Modeling
More informationFormal verification of contracts for synchronous software components using NuSMV
Formal verification of contracts for synchronous software components using NuSMV Tobias Polzer Lehrstuhl für Informatik 8 Bachelorarbeit 13.05.2014 1 / 19 Problem description and goals Problem description
More informationHECTOR a software model checker with cooperating analysis plugins. Nathaniel Charlton and Michael Huth Imperial College London
HECTOR a software model checker with cooperating analysis plugins Nathaniel Charlton and Michael Huth Imperial College London Introduction HECTOR targets imperative heap-manipulating programs uses abstraction
More informationThe Open University s repository of research publications and other research outputs. Run-time security traceability for evolving sys-
Open Research Online The Open University s repository of research publications and other research outputs Run-time security traceability for evolving systems Journal Article How to cite: Run-time security
More informationSoftware Modeling and Verification
Software Modeling and Verification Alessandro Aldini DiSBeF - Sezione STI University of Urbino Carlo Bo Italy 3-4 February 2015 Algorithmic verification Correctness problem Is the software/hardware system
More informationThe Model Checker SPIN
The Model Checker SPIN Author: Gerard J. Holzmann Presented By: Maulik Patel Outline Introduction Structure Foundation Algorithms Memory management Example/Demo SPIN-Introduction Introduction SPIN (Simple(
More informationSoftware Model Checking: Theory and Practice
Software Model Checking: Theory and Practice Lecture: Specification Checking - LTL Model Checking Copyright 2004, Matt Dwyer, John Hatcliff, and Robby. The syllabus and all lectures for this course are
More informationAn Overview of the Runtime Verification Tool Java PathExplorer
An Overview of the Runtime Verification Tool Java PathExplorer Klaus Havelund Kestrel Technology NASA Ames Research Center California, USA http://ase.arc.nasa.gov/havelund Grigore Roşu Department of Computer
More informationT-79.186 Reactive Systems: Introduction and Finite State Automata
T-79.186 Reactive Systems: Introduction and Finite State Automata Timo Latvala 14.1.2004 Reactive Systems: Introduction and Finite State Automata 1-1 Reactive Systems Reactive systems are a class of software
More informationModel Checking LTL Properties over C Programs with Bounded Traces
Noname manuscript No. (will be inserted by the editor) Model Checking LTL Properties over C Programs with Bounded Traces Jeremy Morse 1, Lucas Cordeiro 2, Denis Nicole 1, Bernd Fischer 1,3 1 Electronics
More informationAutomatic vs. Manual Code Analysis
Automatic vs. Manual Code Analysis 2009-11-17 Ari Kesäniemi Senior Security Architect Nixu Oy ari.kesaniemi@nixu.com Copyright The Foundation Permission is granted to copy, distribute and/or modify this
More informationONLINE EXERCISE SYSTEM A Web-Based Tool for Administration and Automatic Correction of Exercises
ONLINE EXERCISE SYSTEM A Web-Based Tool for Administration and Automatic Correction of Exercises Daniel Baudisch, Manuel Gesell and Klaus Schneider Embedded Systems Group, University of Kaiserslautern,
More informationFormal Verification of Software
Formal Verification of Software Sabine Broda Department of Computer Science/FCUP 12 de Novembro de 2014 Sabine Broda (DCC-FCUP) Formal Verification of Software 12 de Novembro de 2014 1 / 26 Formal Verification
More informationModule 10. Coding and Testing. Version 2 CSE IIT, Kharagpur
Module 10 Coding and Testing Lesson 23 Code Review Specific Instructional Objectives At the end of this lesson the student would be able to: Identify the necessity of coding standards. Differentiate between
More informationA Scala DSL for Rete-based Runtime Verification
A Scala DSL for Rete-based Runtime Verification Klaus Havelund Jet Propulsion Laboratory California Institute of Technology, California, USA Abstract. Runtime verification (RV) consists in part of checking
More informationModel Based Testing for Security Checking. Wissam Mallouli and Prof. Ana Cavalli National Institute of Telecommunications, France November 21, 2007
Model Based Testing for Security Checking Wissam Mallouli and Prof. Ana Cavalli National Institute of Telecommunications, France November 21, 2007 Outline Introduction Active/Passive Testing Active Testing
More informationLARVA Safer Monitoring of Real-Time Java Programs (Tool Paper)
LARVA Safer Monitoring of Real-Time Java Programs (Tool Paper) Christian Colombo Department of Computer Science University of Malta, Malta Email: christian.colombo@um.edu.mt Gordon J. Pace Department of
More informationINF5140: Specification and Verification of Parallel Systems
INF5140: Specification and Verification of Parallel Systems Lecture 7 LTL into Automata and Introduction to Promela Gerardo Schneider Department of Informatics University of Oslo INF5140, Spring 2007 Gerardo
More informationThe SPES Methodology Modeling- and Analysis Techniques
The SPES Methodology Modeling- and Analysis Techniques Dr. Wolfgang Böhm Technische Universität München boehmw@in.tum.de Agenda SPES_XT Project Overview Some Basic Notions The SPES Methodology SPES_XT
More informationSoftware Verification and Testing. Lecture Notes: Temporal Logics
Software Verification and Testing Lecture Notes: Temporal Logics Motivation traditional programs (whether terminating or non-terminating) can be modelled as relations are analysed wrt their input/output
More informationEnforcing Security Policies. Rahul Gera
Enforcing Security Policies Rahul Gera Brief overview Security policies and Execution Monitoring. Policies that can be enforced using EM. An automata based formalism for specifying those security policies.
More informationInstitut für Parallele und Verteilte Systeme. Abteilung Anwendersoftware. Universität Stuttgart Universitätsstraße 38 D-70569 Stuttgart
Institut für Parallele und Verteilte Systeme Abteilung Anwendersoftware Universität Stuttgart Universitätsstraße 38 D-70569 Stuttgart Diplomarbeit Nr. 3243 Development and Evaluation of a Framework for
More informationSecurity for Changing Software and Systems
Security for Changing Software and Systems Jan Jürjens TU Dortmund & Fraunhofer ISST http://jan.jurjens.de The Forgotten End of the System Life-cycle Challenges: Software lifetime often longer than intended
More informationFundamentals of Software Engineering
Fundamentals of Software Engineering Model Checking with Temporal Logic Ina Schaefer Institute for Software Systems Engineering TU Braunschweig, Germany Slides by Wolfgang Ahrendt, Richard Bubel, Reiner
More informationMonitoring Method Call Sequences using Annotations
Monitoring Method Call Sequences using Annotations B. Nobakht 1, M.M. Bonsangue 1,2, F.S. de Boer 1,2, and S. de Gouw 1,2 1 Leiden Institute of Advanced Computing, Universiteit Leiden, Niels Bohrweg 1,
More informationFormal Verification and Linear-time Model Checking
Formal Verification and Linear-time Model Checking Paul Jackson University of Edinburgh Automated Reasoning 21st and 24th October 2013 Why Automated Reasoning? Intellectually stimulating and challenging
More informationSoftware Engineering using Formal Methods
Software Engineering using Formal Methods Model Checking with Temporal Logic Wolfgang Ahrendt 24th September 2013 SEFM: Model Checking with Temporal Logic /GU 130924 1 / 33 Model Checking with Spin model
More informationFormal Verification by Model Checking
Formal Verification by Model Checking Natasha Sharygina Carnegie Mellon University Guest Lectures at the Analysis of Software Artifacts Class, Spring 2005 1 Outline Lecture 1: Overview of Model Checking
More informationMunich University of Technology Department of Informatics. Diploma Thesis. in Informatics
Munich University of Technology Department of Informatics Diploma Thesis in Informatics Development of a programming-language-like temporal logic specification language Jonathan Streit Date: April 12th,
More informationFixed-Point Logics and Computation
1 Fixed-Point Logics and Computation Symposium on the Unusual Effectiveness of Logic in Computer Science University of Cambridge 2 Mathematical Logic Mathematical logic seeks to formalise the process of
More informationMatching Midlet's Security Claims with a Platform Security Policy using Automata Modulo Theory
Matching Midlet's Security Claims with a Platform Security Policy using Automata Modulo Theory Fabio Massacci, Ida Siahan (University of ) www.massacci.org www.s3ms-project.org NORDSEC-2007 1 Motivation
More informationAUTOMATED TEST GENERATION FOR SOFTWARE COMPONENTS
TKK Reports in Information and Computer Science Espoo 2009 TKK-ICS-R26 AUTOMATED TEST GENERATION FOR SOFTWARE COMPONENTS Kari Kähkönen ABTEKNILLINEN KORKEAKOULU TEKNISKA HÖGSKOLAN HELSINKI UNIVERSITY OF
More informationTesting Decision Procedures for Security-by-Contract
Testing Decision Procedures for Security-by-Contract Nataliia Bielova, Ida Siahaan University of Trento Joint Workshop on Foundations of Computer Security, Automated Reasoning for Security Protocol Analysis
More informationCHAPTER 7 GENERAL PROOF SYSTEMS
CHAPTER 7 GENERAL PROOF SYSTEMS 1 Introduction Proof systems are built to prove statements. They can be thought as an inference machine with special statements, called provable statements, or sometimes
More informationEvolutionary Approach to Coverage Testing of IEC 61499 Function Block Applications
Evolutionary Approach to Coverage Testing of IEC 61499 Function Block Applications Igor Buzhinsky, Vladimir Ulyantsev, Jari Veijalainen, Valeriy Vyatkin igor.buzhinsky@gmail.com INDIN 2015, Cambridge,
More informationIntroduction to programming
Unit 1 Introduction to programming Summary Architecture of a computer Programming languages Program = objects + operations First Java program Writing, compiling, and executing a program Program errors
More informationStatic Program Transformations for Efficient Software Model Checking
Static Program Transformations for Efficient Software Model Checking Shobha Vasudevan Jacob Abraham The University of Texas at Austin Dependable Systems Large and complex systems Software faults are major
More informationTemporal Logics. Computation Tree Logic
Temporal Logics CTL: definition, relationship between operators, adequate sets, specifying properties, safety/liveness/fairness Modeling: sequential, concurrent systems; maximum parallelism/interleaving
More informationA Logic Approach for LTL System Modification
A Logic Approach for LTL System Modification Yulin Ding and Yan Zhang School of Computing & Information Technology University of Western Sydney Kingswood, N.S.W. 1797, Australia email: {yding,yan}@cit.uws.edu.au
More informationInformatique Fondamentale IMA S8
Informatique Fondamentale IMA S8 Cours 1 - Intro + schedule + finite state machines Laure Gonnord http://laure.gonnord.org/pro/teaching/ Laure.Gonnord@polytech-lille.fr Université Lille 1 - Polytech Lille
More informationAutomata-based Verification - I
CS3172: Advanced Algorithms Automata-based Verification - I Howard Barringer Room KB2.20: email: howard.barringer@manchester.ac.uk March 2006 Supporting and Background Material Copies of key slides (already
More informationTool Support for Model Checking of Web application designs *
Tool Support for Model Checking of Web application designs * Marco Brambilla 1, Jordi Cabot 2 and Nathalie Moreno 3 1 Dipartimento di Elettronica e Informazione, Politecnico di Milano Piazza L. Da Vinci,
More informationModel Checking II Temporal Logic Model Checking
1/32 Model Checking II Temporal Logic Model Checking Edmund M Clarke, Jr School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 2/32 Temporal Logic Model Checking Specification Language:
More informationMonitoring the Execution of Space Craft Flight Software
Copyright 2009. All rights reserved. Monitoring the Execution of Space Craft Flight Software Klaus Havelund, Alex Groce, Margaret Smith Jet Propulsion Laboratory (JPL), CA USA California Institute of Technology
More informationUnified Language for Network Security Policy Implementation
Unified Language for Network Security Policy Implementation Dmitry Chernyavskiy Information Security Faculty National Research Nuclear University MEPhI Moscow, Russia milnat2004@yahoo.co.uk Natalia Miloslavskaya
More informationFeature Specification and Automated Conflict Detection
Feature Specification and Automated Conflict Detection AMY P. FELTY University of Ottawa and KEDAR S. NAMJOSHI Bell Laboratories Large software systems, especially in the telecommunications field, are
More informationCSCI 3136 Principles of Programming Languages
CSCI 3136 Principles of Programming Languages Faculty of Computer Science Dalhousie University Winter 2013 CSCI 3136 Principles of Programming Languages Faculty of Computer Science Dalhousie University
More informationOperating Systems. Virtual Memory
Operating Systems Virtual Memory Virtual Memory Topics. Memory Hierarchy. Why Virtual Memory. Virtual Memory Issues. Virtual Memory Solutions. Locality of Reference. Virtual Memory with Segmentation. Page
More informationhttps://runtimeverification.com Grigore Rosu Founder, President and CEO Professor of Computer Science, University of Illinois
https://runtimeverification.com Grigore Rosu Founder, President and CEO Professor of Computer Science, University of Illinois Runtime Verification, Inc. (RV): startup company aimed at bringing the best
More informationIntroduction to formal semantics -
Introduction to formal semantics - Introduction to formal semantics 1 / 25 structure Motivation - Philosophy paradox antinomy division in object und Meta language Semiotics syntax semantics Pragmatics
More informationLexical analysis FORMAL LANGUAGES AND COMPILERS. Floriano Scioscia. Formal Languages and Compilers A.Y. 2015/2016
Master s Degree Course in Computer Engineering Formal Languages FORMAL LANGUAGES AND COMPILERS Lexical analysis Floriano Scioscia 1 Introductive terminological distinction Lexical string or lexeme = meaningful
More informationVerifying Real-Time Embedded Software by Means of Automated State-based Online Testing and the SPIN Model Checker Application to RTEdge Models
Verifying Real-Time Embedded Software by Means of Automated State-based Online Testing and the SPIN Model Checker Application to RTEdge Models A thesis submitted to the Faculty of Graduate and Postdoctoral
More informationTheoretical Computer Science (Bridging Course) Complexity
Theoretical Computer Science (Bridging Course) Complexity Gian Diego Tipaldi A scenario You are a programmer working for a logistics company Your boss asks you to implement a program that optimizes the
More informationMetaGame: An Animation Tool for Model-Checking Games
MetaGame: An Animation Tool for Model-Checking Games Markus Müller-Olm 1 and Haiseung Yoo 2 1 FernUniversität in Hagen, Fachbereich Informatik, LG PI 5 Universitätsstr. 1, 58097 Hagen, Germany mmo@ls5.informatik.uni-dortmund.de
More informationModel Checking of Software
Model Checking of Software Patrice Godefroid Bell Laboratories, Lucent Technologies SpecNCheck Page 1 August 2001 A Brief History of Model Checking Prehistory: transformational programs and theorem proving
More informationThe Halting Problem is Undecidable
185 Corollary G = { M, w w L(M) } is not Turing-recognizable. Proof. = ERR, where ERR is the easy to decide language: ERR = { x { 0, 1 }* x does not have a prefix that is a valid code for a Turing machine
More informationOmega Automata: Minimization and Learning 1
Omega Automata: Minimization and Learning 1 Oded Maler CNRS - VERIMAG Grenoble, France 2007 1 Joint work with A. Pnueli, late 80s Summary Machine learning in general and of formal languages in particular
More informationTrust but Verify: Authorization for Web Services. The University of Vermont
Trust but Verify: Authorization for Web Services Christian Skalka X. Sean Wang The University of Vermont Trust but Verify (TbV) Reliable, practical authorization for web service invocation. Securing complex
More informationhttp://aejm.ca Journal of Mathematics http://rema.ca Volume 1, Number 1, Summer 2006 pp. 69 86
Atlantic Electronic http://aejm.ca Journal of Mathematics http://rema.ca Volume 1, Number 1, Summer 2006 pp. 69 86 AUTOMATED RECOGNITION OF STUTTER INVARIANCE OF LTL FORMULAS Jeffrey Dallien 1 and Wendy
More informationAnalyzing Service Contract with Model Checking
Analyzing Service Contract with Model Checking Contract-Oriented Software Development for Internet Services Joseph C. Okika, Anders P. Ravn Department of Computer Science Aalborg University, Denmark FLACOS
More informationDecentralised diagnosis of discrete-event systems: application to telecommunication network
Decentralised diagnosis of discrete-event systems: application to telecommunication network Yannick Pencolé CSL, Yannick.Pencole@anu.edu.au in collaboration with M.-O. Cordier and L. Rozé CSL Seminar 1
More informationValidated Templates for Specification of Complex LTL Formulas
Validated Templates for Specification of Complex LTL Formulas Salamah Salamah Department of Electrical, computer, Software, and Systems Engineering Embry Riddle Aeronautical University 600 S. Clyde Morris
More informationEfficient Monitoring of Parametric Context-Free Patterns
Efficient Monitoring of Parametric Context-Free Patterns Patrick O Neil Meredith and Dongyun Jin and Feng Chen and Grigore Roşu University of Illinois at Urbana-Champaign {pmeredit, djin3, fengchen, grosu}@cs.uiuc.edu
More informationIntrusion Detection via Static Analysis
Intrusion Detection via Static Analysis IEEE Symposium on Security & Privacy 01 David Wagner Drew Dean Presented by Yongjian Hu Outline Introduction Motivation Models Trivial model Callgraph model Abstract
More informationContext-Bounded Model Checking of LTL Properties for ANSI-C Software. Jeremy Morse, Lucas Cordeiro, Bernd Fischer, Denis Nicole
Context-Bounded Model Checking of LTL Properties for ANSI-C Software Jeremy Morse, Lucas Cordeiro, Bernd Fischer, Denis Nicole Model Checking C Model checking: normally applied to formal state transition
More informationA framework for creating custom rules for static analysis tools
A framework for creating custom rules for static analysis tools Eric Dalci John Steven Cigital Inc. 21351 Ridgetop Circle, Suite 400 Dulles VA 20166 (703) 404-9293 edalci,jsteven@cigital.com Abstract Code
More informationSoftware Verification for Space Applications Part 2. Autonomous Systems. G. Brat USRA/RIACS
Software Verification for Space Applications Part 2. Autonomous Systems G. Brat USRA/RIACS Main Objectives Implement a sustained and affordable human and robotic program to explore the solar system and
More informationOverview of E0222: Automata and Computability
Overview of E0222: Automata and Computability Deepak D Souza Department of Computer Science and Automation Indian Institute of Science, Bangalore. August 3, 2011 What this course is about What we study
More informationA Continuous Truth Domain for Runtime Verification
Institut für Formale Methoden der Informatik Abteilung Theoretische Informatik Universität Stuttgart Universitätsstraße 38 D-70569 Stuttgart Laboratoire Spécification et Vérification École Normale Supérieure
More informationTilburg University. Publication date: 2010. Link to publication
Tilburg University On the formal specification of business contracts and regulatory compliance Elgammal, Onbekend; Türetken, O.; van den Heuvel, Willem-Jan; Papazoglou, Mike Published in: Proceedings of
More informationHow To Test Automatically
Automated Model-Based Testing of Embedded Real-Time Systems Jan Peleska jp@tzi.de University of Bremen Bieleschweig Workshop 7 2006-05-05 Outline Technologie-Zentrum Informatik Objectives Basic concepts
More informationDecentralised LTL monitoring
Decentralised LTL monitoring Andreas Bauer 1 and Yliès Falcone 2 1 NICTA Software Systems Research Group and Australian National University 2 Laboratoire d Informatique de Grenoble, UJF Université Grenoble
More informationState of the World - Statically Verifying API Usage Rule
Statically Verifying API Usage Rule using Tracematches Xavier Noumbissi, Patrick Lam University of Waterloo November 4, 2010 (University of Waterloo) Statically Verifying API Usage Rule November 4, 2010
More informationRuntime Enforcement of Timed Properties
Runtime Enforcement of Timed Properties Srinivas Pinisetty 1,Yliès Falcone 2, Thierry Jéron 1, Hervé Marchand 1, Antoine Rollet 3 and Omer Nguena Timo 3 INRIA Rennes - Bretagne Atlantique, France LIG,
More informationGood FORTRAN Programs
Good FORTRAN Programs Nick West Postgraduate Computing Lectures Good Fortran 1 What is a Good FORTRAN Program? It Works May be ~ impossible to prove e.g. Operating system. Robust Can handle bad data e.g.
More informationOnline testing of LTL properties for Java code
Online testing of LTL properties for Java code Paolo Arcaini 1, Angelo Gargantini 2, and Elvinia Riccobene 1 1 Dipartimento di Informatica, Università degli Studi di Milano, Italy {paolo.arcaini,elvinia.riccobene}@unimi.it
More informationSoftware Architecture Document
Software Architecture Document Natural Language Processing Cell Version 1.0 Natural Language Processing Cell Software Architecture Document Version 1.0 1 1. Table of Contents 1. Table of Contents... 2
More informationThe Classes P and NP
The Classes P and NP We now shift gears slightly and restrict our attention to the examination of two families of problems which are very important to computer scientists. These families constitute the
More informationTwo-Way Traceability and Conflict Debugging for AspectLTL Programs
Two-Way Traceability and Conflict Debugging for AspectLTL Programs Shahar Maoz RWTH Aachen University, Germany maoz@se-rwth.de Yaniv Sa ar Weizmann Institute of Science, Israel yaniv.saar@weizmann.ac.il
More informationReplication on Virtual Machines
Replication on Virtual Machines Siggi Cherem CS 717 November 23rd, 2004 Outline 1 Introduction The Java Virtual Machine 2 Napper, Alvisi, Vin - DSN 2003 Introduction JVM as state machine Addressing non-determinism
More informationDemonstration: On-Line Visualization and Analysis of Real-Time Systems with TuningFork
Demonstration: On-Line Visualization and Analysis of Real-Time Systems with TuningFork David F. Bacon 1, Perry Cheng 1,DanielFrampton 2, David Grove 1, Matthias Hauswirth 3,andV.T.Rajan 1 1 IBM T.J. Watson
More informationArithmetic Coding: Introduction
Data Compression Arithmetic coding Arithmetic Coding: Introduction Allows using fractional parts of bits!! Used in PPM, JPEG/MPEG (as option), Bzip More time costly than Huffman, but integer implementation
More information