Unified Static and Runtime Verification of Object-Oriented Software
|
|
|
- Amie Ford
- 10 years ago
- Views:
Transcription
1 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 2 University of Gothenburg, Sweden 3 University of Malta Tallinn, August 2014
2 Static Verification vs. Runtime Verification Static verification High precision Use abstractions for increased automation but Powerful judgements hard to achieve automatically Often losing aspects of concrete system Runtime verification Full precision (including real deployment) Full automation but Cannot judge future runs Computational overhead of monitoring the running system
3 Project on Unified Static and Runtime Verification Unified Static and Runtime Verification of Object-Oriented SW Members: Wolfgang Ahrendt, Chalmers University of Technology Mauricio Chimento, Chalmers University of Technology Gerardo Schneider, University of Gothenburg External collaborator: Gordon J. Pace, University of Malta
4 Project on Unified Static and Runtime Verification Unified Static and Runtime Verification of Object-Oriented SW Members: Wolfgang Ahrendt, Chalmers University of Technology Mauricio Chimento, Chalmers University of Technology Gerardo Schneider, University of Gothenburg External collaborator: Gordon J. Pace, University of Malta
5 Framework for Unified Static and Runtime Verification Combine static and runtime verification Combine data centric and control centric properties Unified specification for both Use (partial) static verification results for partial evaluation of properties Runtime verification of resulting properties Increase safety and efficiency
6 Larva: A Runtime Verification Tool for Java Larva Logical Automata for Runtime Verification and Analysis targets Java applications checks control oriented properties (untimed and real-time), specified in DATE (Dynamic Automata with Timers and Events) Lustre duration calculus
7 DATE Automaton Example start conndrop \c == 5\unreliable! conndrop \c < 5\c ++
8 DATE Automaton Example start conndrop \c == 5\unreliable! conndrop \c < 5\c ++ foreach transfer : start (transfer)\\ unreliable?\\ receive \\ start bad end (transfer)\\ receive \\
9 DATE Automaton Example start conndrop \c == 5\unreliable! conndrop \c < 5\c ++ foreach transfer : start (transfer)\\ unreliable?\\ receive \\ start bad In general: end (transfer)\\ receive \\ communicating automata, event-triggered transitions, timers events: method entry/exit, timer events, synchronising events
10 Larva Functionality Larva input DATE automaton (or alternative format) application code
11 Larva Functionality Larva input DATE automaton (or alternative format) application code Larva output monitor instrumented application code, with triggers for monotor
12 KeY KeY is an approach and tool for the Formal specification of foremost functional properties Deductive verification, i.e., using theorem proving of OO software, foremost Java and ABS
13 KeY Dynamic logic (generalisation of Hoare logic) as program logic Verification = symbolic execution + induction/invariants Sequent calculus Prover is automated + interactive most elaborate KeY instance KeY-Java Java as target language Supports specification language JML
14 Specification Language for Data and Control ppdate: Extending DATE with pre/post-conditions, associated to the automata s states: q event cond act q τ(q) = {..., {pre} method {post},... } Transition enabled if cond holds
15 Violating Traces ppdate trace w (Σ Θ) is violating prefix if either
16 Violating Traces ppdate trace w (Σ Θ) is violating prefix if either (q 0, v 0 ) w = (q, v) and q BadStates
17 Violating Traces ppdate trace w (Σ Θ) is violating prefix if either (q 0, v 0 ) w = (q, v) and q BadStates w = w 1 + (m id, θ 1) + w 2 + (m id, θ 2) such that: 1. (q 0, v 0 ) w1 = (q, v) 2. τ(q) {pre} m {post} 3. θ 1 = pre 4. θ 2 = post
18 Violating Traces ppdate trace w (Σ Θ) is violating prefix if either (q 0, v 0 ) w = (q, v) and q BadStates w = w 1 + (m id, θ 1) + w 2 + (m id, θ 2) such that: 1. (q 0, v 0 ) = w1 (q, v) 2. τ(q) {pre} m {post} 3. θ 1 = pre 4. θ 2 = post A violating trace has a violating prefix
19 High-level description of the framework
20 Case study: Login Example Scenario: At login, new users are added to set users Assume users is implemented using hashing with open addressing Adding implemented by users.add(u,key)
21 Case study: Login Example add(o,key) users.contains(o,key) = true q q τ(q) = { {users.size < users.capacity} add {post} } post ( int i; i 0 && i < users.capacity ; users.h[i] = o ; )
22 Case study: Login Example - Static Analysis Translation of Hoare triple to JML class HashTable {... /*@ public requires size < ensures (\exists int i>= 0 && i < h[i] == assignable size, public void add (Object o, int key) {} }
23 Case study: Login Example - Static Analysis public void add (Object o, int key) {... int i = hash(key); if (h[i] == null) { h[i] = o; size++; } else { while... \\ store at next free slot...} }
24 Case study: Login Example - Static Analysis KeY tries to prove: size < capacity add(o, key) i. h[i] = o KeY will produce branches:..., h[key%capacity] = null... and..., h[key%capacity] = null... first branch closes automatically, the second doesn t
25 Case study: Login Example - Partial Specification Evaluation First, for τ(q) replace {pre} add {post} by
26 Case study: Login Example - Partial Specification Evaluation First, for τ(q) replace {pre} add {post} by {pre users.h[key%capacity] = null} add {post} and {pre users.h[key%capacity] = null} add {true}
27 Case study: Login Example - Partial Specification Evaluation Second, new argument is added to distinguish different calls
28 Case study: Login Example - Partial Specification Evaluation Second, new argument is added to distinguish different calls public void add (Object o, int key) { addaux(fid.getnewid(),o,key); } public void addaux (Integer id, Object o, int key) { //same code as add had before. } {pre users.h[key%capacity] = null} addaux {post} and {pre users.h[key%capacity] = null} addaux {true}
29 Case study: Login Example - Model Transformation q addaux id pre s id! q s id? addaux id users.oppost() start ok addaux id users.oppost() bad
30 Case study: Login Example - Model Transformation q addaux id users.contains(o, key) =true if pre then s id! q s id? addaux id users.oppost() start ok addaux id users.oppost() bad addaux id (users.contains(o, key) = true) (pre users.h[key%capacity] = null) s id! q
31 Case study: Login Example - Monitor Generation Finally, Larva generates the monitors which will control the partially verified property.
32 Reference Wolfgang Ahrendt, Gordon J. Pace, Gerardo Schneider A Unified Approach for Static and Runtime Verification: Framework and Applications ISoLA 2012 Springer, LNCS 7609
StaRVOOrS: A Tool for Combined Static and Runtime Verification of Java
StaRVOOrS: A Tool for Combined Static and Runtime Verification of Java Jesús Mauricio Chimento 1, Wolfgang Ahrendt 1, Gordon J. Pace 2, and Gerardo Schneider 3 1 Chalmers University of Technology, Sweden.
Specification and Analysis of Contracts Lecture 1 Introduction
Specification and Analysis of Contracts Lecture 1 Introduction Gerardo Schneider [email protected] http://folk.uio.no/gerardo/ Department of Informatics, University of Oslo SEFM School, Oct. 27 - Nov.
A Classification of Model Checking-based Verification Approaches for Software Models
A Classification of Model Checking-based Verification Approaches for Software Models Petra Brosch, Sebastian Gabmeyer, Martina Seidl Sebastian Gabmeyer Business Informatics Group Institute of Software
Runtime Verification - Monitor-oriented Programming - Monitor-based Runtime Reflection
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
The 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(
Datavetenskapligt Program (kandidat) Computer Science Programme (master)
Datavetenskapligt Program (kandidat) Computer Science Programme (master) Wolfgang Ahrendt Director Datavetenskap (BSc), Computer Science (MSc) D&IT Göteborg University, 30/01/2009 Part I D&IT: Computer
Static 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
Fundamentals 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
Boogie: A Modular Reusable Verifier for Object-Oriented Programs
Boogie: A Modular Reusable Verifier for Object-Oriented Programs M. Barnett, B.E. Chang, R. DeLine, B. Jacobs, K.R.M. Leino Lorenzo Baesso ETH Zurich Motivation Abstract Domains Modular Architecture Automatic
The C Programming Language course syllabus associate level
TECHNOLOGIES The C Programming Language course syllabus associate level Course description The course fully covers the basics of programming in the C programming language and demonstrates fundamental programming
Compiling Object Oriented Languages. What is an Object-Oriented Programming Language? Implementation: Dynamic Binding
Compiling Object Oriented Languages What is an Object-Oriented Programming Language? Last time Dynamic compilation Today Introduction to compiling object oriented languages What are the issues? Objects
A 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
Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification
Introduction Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification Advanced Topics in Software Engineering 1 Concurrent Programs Characterized by
Adversary Modelling 1
Adversary Modelling 1 Evaluating the Feasibility of a Symbolic Adversary Model on Smart Transport Ticketing Systems Authors Arthur Sheung Chi Chan, MSc (Royal Holloway, 2014) Keith Mayes, ISG, Royal Holloway
Dsc+Mock: A Test Case + Mock Class Generator in Support of Coding Against Interfaces
Dsc+Mock: A Test Case + Mock Class Generator in Support of Coding Against Interfaces Mainul Islam, Christoph Csallner Computer Science and Engineering Department University of Texas at Arlington Arlington,
Introducing Formal Methods. Software Engineering and Formal Methods
Introducing Formal Methods Formal Methods for Software Specification and Analysis: An Overview 1 Software Engineering and Formal Methods Every Software engineering methodology is based on a recommended
Scoping (Readings 7.1,7.4,7.6) Parameter passing methods (7.5) Building symbol tables (7.6)
Semantic Analysis Scoping (Readings 7.1,7.4,7.6) Static Dynamic Parameter passing methods (7.5) Building symbol tables (7.6) How to use them to find multiply-declared and undeclared variables Type checking
Automated Theorem Proving - summary of lecture 1
Automated Theorem Proving - summary of lecture 1 1 Introduction Automated Theorem Proving (ATP) deals with the development of computer programs that show that some statement is a logical consequence of
Rigorous Software Engineering Hoare Logic and Design by Contracts
Rigorous Software Engineering Hoare Logic and Design by Contracts Simão Melo de Sousa RELEASE (UBI), LIACC (Porto) Computer Science Department University of Beira Interior, Portugal 2010-2011 S. Melo de
INF5140: Specification and Verification of Parallel Systems
Motivation INF5140: Specification and Verification of Parallel Systems Lecture 1 Introduction: Formal Methods Gerardo Schneider Department of Informatics University of Oslo INF5140, Spring 2009 Outline
Applications of formal verification for secure Cloud environments at CEA LIST
Applications of formal verification for secure Cloud environments at CEA LIST Nikolai Kosmatov joint work with A.Blanchard, F.Bobot, M.Lemerre,... SEC2, Lille, June 30 th, 2015 N. Kosmatov (CEA LIST) Formal
From Object Oriented Conceptual Modeling to Automated Programming in Java
From Object Oriented Conceptual Modeling to Automated Programming in Java Oscar Pastor, Vicente Pelechano, Emilio Insfrán, Jaime Gómez Department of Information Systems and Computation Valencia University
TECH. Requirements. Why are requirements important? The Requirements Process REQUIREMENTS ELICITATION AND ANALYSIS. Requirements vs.
CH04 Capturing the Requirements Understanding what the customers and users expect the system to do * The Requirements Process * Types of Requirements * Characteristics of Requirements * How to Express
Fully Abstract Operation Contracts
Fully Abstract Operation Contracts Richard Bubel, Reiner Hähnle, and Maria Pelevina Department of Computer Science Technical University of Darmstadt bubel [email protected] [email protected]
Intrusion 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
Software 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
Software Engineering Techniques
Software Engineering Techniques Low level design issues for programming-in-the-large. Software Quality Design by contract Pre- and post conditions Class invariants Ten do Ten do nots Another type of summary
Software Development Methodologies
Software Development Methodologies Lecturer: Raman Ramsin Lecture 7 Integrated Object-Oriented Methodologies: OPEN and FOOM 1 Object-oriented Process, Environment and Notation (OPEN) First introduced in
Wildcard and SAN: Understanding Multi-Use SSL Certificates
Wildcard and SAN: Understanding Multi-Use SSL Certificates LEVERAGING MULTI-USE DIGITAL CERTIFICATES TO SIMPLIFY CERTIFICATE MANAGEMENT AND REDUCE COSTS Wildcard and SAN: Understanding Multi-Use SSL Certificates
Compilers. Introduction to Compilers. Lecture 1. Spring term. Mick O Donnell: [email protected] Alfonso Ortega: alfonso.ortega@uam.
Compilers Spring term Mick O Donnell: [email protected] Alfonso Ortega: [email protected] Lecture 1 to Compilers 1 Topic 1: What is a Compiler? 3 What is a Compiler? A compiler is a computer
Programming Languages CIS 443
Course Objectives Programming Languages CIS 443 0.1 Lexical analysis Syntax Semantics Functional programming Variable lifetime and scoping Parameter passing Object-oriented programming Continuations Exception
The ProB Animator and Model Checker for B
The ProB Animator and Model Checker for B A Tool Description Michael Leuschel and Michael Butler Department of Electronics and Computer Science University of Southampton Highfield, Southampton, SO17 1BJ,
SMock A Test Platform for the Evaluation of Monitoring Tools
SMock A Test Platform for the Evaluation of Monitoring Tools User Manual Ruth Mizzi Faculty of ICT University of Malta June 20, 2013 Contents 1 Introduction 3 1.1 The Architecture and Design of SMock................
Formal Specification and Verification of Avionics Software
Formal Specification and Verification of Avionics Software June 7th, 2006 Outline 1 Introduction Software in the avionics domain Certification requirements Object-oriented technologies 2 Specification
Programming and Software Development CTAG Alignments
Programming and Software Development CTAG Alignments This document contains information about four Career-Technical Articulation Numbers (CTANs) for Programming and Software Development Career-Technical
Databases Model the Real World. The Entity- Relationship Model. Conceptual Design. Steps in Database Design. ER Model Basics. ER Model Basics (Contd.
The Entity- Relationship Model R &G - Chapter 2 A relationship, I think, is like a shark, you know? It has to constantly move forward or it dies. And I think what we got on our hands is a dead shark. Woody
UML BASED MODELING OF ECDSA FOR SECURED AND SMART E-GOVERNANCE SYSTEM
UML BASED MODELING OF ECDSA FOR SECURED AND SMART E-GOVERNANCE SYSTEM Abhishek Roy [1] and Sunil Karforma [2] [1] Department of Computer Science, The University of Burdwan, W.B, INDIA. Department of Computer
Computer Programming I
Computer Programming I COP 2210 Syllabus Spring Semester 2012 Instructor: Greg Shaw Office: ECS 313 (Engineering and Computer Science Bldg) Office Hours: Tuesday: 2:50 4:50, 7:45 8:30 Thursday: 2:50 4:50,
Monitoring 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
Semantic Analysis: Types and Type Checking
Semantic Analysis Semantic Analysis: Types and Type Checking CS 471 October 10, 2007 Source code Lexical Analysis tokens Syntactic Analysis AST Semantic Analysis AST Intermediate Code Gen lexical errors
SOFTWARE TESTING TRAINING COURSES CONTENTS
SOFTWARE TESTING TRAINING COURSES CONTENTS 1 Unit I Description Objectves Duration Contents Software Testing Fundamentals and Best Practices This training course will give basic understanding on software
Embedded/Real-Time Software Development with PathMATE and IBM Rational Systems Developer
Generate Results. Real Models. Real Code. Real Fast. Embedded/Real-Time Software Development with PathMATE and IBM Rational Systems Developer Andreas Henriksson, Ericsson [email protected]
Software Engineering Reference Framework
Software Engineering Reference Framework Michel Chaudron, Jan Friso Groote, Kees van Hee, Kees Hemerik, Lou Somers, Tom Verhoeff. Department of Mathematics and Computer Science Eindhoven University of
Complexities of Simulating a Hybrid Agent-Landscape Model Using Multi-Formalism
Complexities of Simulating a Hybrid Agent-Landscape Model Using Multi-Formalism Composability Gary R. Mayer [email protected] Hessam S. Sarjoughian [email protected] Arizona Center for Integrative Modeling
Model Checking: An Introduction
Announcements Model Checking: An Introduction Meeting 2 Office hours M 1:30pm-2:30pm W 5:30pm-6:30pm (after class) and by appointment ECOT 621 Moodle problems? Fundamentals of Programming Languages CSCI
Integration of Application Business Logic and Business Rules with DSL and AOP
Integration of Application Business Logic and Business Rules with DSL and AOP Bogumiła Hnatkowska and Krzysztof Kasprzyk Wroclaw University of Technology, Wyb. Wyspianskiego 27 50-370 Wroclaw, Poland [email protected]
UML for the C programming language.
Functional-based modeling White paper June 2009 UML for the C programming language. Bruce Powel Douglass, PhD, IBM Page 2 Contents 2 Executive summary 3 FunctionalC UML profile 4 Functional development
Realizing Enterprise Integration Patterns in WebSphere
Universität Stuttgart Fakultät Informatik, Elektrotechnik und Informationstechnik Realizing Enterprise Integration Patterns in WebSphere Thorsten Scheibler, Frank Leymann Report 2005/09 October 20, 2005
An Automated Development Process for Interlocking Software that. Cuts Costs and Provides Improved Methods for Checking Quality.
An Automated Development Process for Interlocking Software that Cuts Costs and Provides Improved Methods for Checking Quality and Safety Authors: Claes Malmnäs Prover Technology Rosenlundsgatan 54 118
Integrated Error-Detection Techniques: Find More Bugs in Java Applications
Integrated Error-Detection Techniques: Find More Bugs in Java Applications Software verification techniques such as pattern-based static code analysis, runtime error detection, unit testing, and flow analysis
Writing a Project Report: Style Matters
Writing a Project Report: Style Matters Prof. Alan F. Smeaton Centre for Digital Video Processing and School of Computing Writing for Computing Why ask me to do this? I write a lot papers, chapters, project
Object-Oriented Design Lecture 4 CSU 370 Fall 2007 (Pucella) Tuesday, Sep 18, 2007
Object-Oriented Design Lecture 4 CSU 370 Fall 2007 (Pucella) Tuesday, Sep 18, 2007 The Java Type System By now, you have seen a fair amount of Java. Time to study in more depth the foundations of the language,
Change Impact Analysis
Change Impact Analysis Martin Ward Reader in Software Engineering [email protected] Software Technology Research Lab De Montfort University Change Impact Analysis Impact analysis is a process that predicts
INF5140: 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
Probabilistic Assertions
Expressing and Verifying Probabilistic Assertions Adrian Sampson Pavel Panchekha Todd Mytkowicz Kathryn S. McKinley Dan Grossman Luis Ceze University of Washington Microsoft Research University of Washington
Model 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
Introduction to Formal Methods. Các Phương Pháp Hình Thức Cho Phát Triển Phần Mềm
Introduction to Formal Methods Các Phương Pháp Hình Thức Cho Phát Triển Phần Mềm Outline Introduction Formal Specification Formal Verification Model Checking Theorem Proving Introduction Good papers to
Q. Consider a dynamic instruction execution (an execution trace, in other words) that consists of repeats of code in this pattern:
Pipelining HW Q. Can a MIPS SW instruction executing in a simple 5-stage pipelined implementation have a data dependency hazard of any type resulting in a nop bubble? If so, show an example; if not, prove
Certification Authorities Software Team (CAST) Position Paper CAST-13
Certification Authorities Software Team (CAST) Position Paper CAST-13 Automatic Code Generation Tools Development Assurance Completed June 2002 NOTE: This position paper has been coordinated among the
Chapter 7: Functional Programming Languages
Chapter 7: Functional Programming Languages Aarne Ranta Slides for the book Implementing Programming Languages. An Introduction to Compilers and Interpreters, College Publications, 2012. Fun: a language
ZQL. a cryptographic compiler for processing private data. George Danezis. Joint work with Cédric Fournet, Markulf Kohlweiss, Zhengqin Luo
ZQL Work in progress a cryptographic compiler for processing private data George Danezis Joint work with Cédric Fournet, Markulf Kohlweiss, Zhengqin Luo Microsoft Research and Joint INRIA-MSR Centre Data
1 A New Look at Formal Methods for Software Construction
1 A New Look at Formal Methods for Software Construction by Reiner Hähnle This chapter sets the stage. We take stock of formal methods for software construction and sketch a path along which formal methods
Java Programming. Binnur Kurt [email protected]. Istanbul Technical University Computer Engineering Department. Java Programming. Version 0.0.
Java Programming Binnur Kurt [email protected] Istanbul Technical University Computer Engineering Department Java Programming 1 Version 0.0.4 About the Lecturer BSc İTÜ, Computer Engineering Department,
Web Development using PHP (WD_PHP) Duration 1.5 months
Duration 1.5 months Our program is a practical knowledge oriented program aimed at learning the techniques of web development using PHP, HTML, CSS & JavaScript. It has some unique features which are as
Moving from CS 61A Scheme to CS 61B Java
Moving from CS 61A Scheme to CS 61B Java Introduction Java is an object-oriented language. This document describes some of the differences between object-oriented programming in Scheme (which we hope you
State 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
Graduate Assessment Test (Sample)
Graduate Assessment Test (Sample) CS201-203 1. Fibonacci sequence is defined by a recurrence relation. The series is: 0,1,1,2,3,5,8,13,... Write a complete recursive method/function that returns the fibonacci
CS193j, Stanford Handout #10 OOP 3
CS193j, Stanford Handout #10 Summer, 2003 Manu Kumar OOP 3 Abstract Superclass Factor Common Code Up Several related classes with overlapping code Factor common code up into a common superclass Examples
Semester Review. CSC 301, Fall 2015
Semester Review CSC 301, Fall 2015 Programming Language Classes There are many different programming language classes, but four classes or paradigms stand out:! Imperative Languages! assignment and iteration!
Verification of Imperative Programs in Theorema
Verification of Imperative Programs in Theorema Laura Ildikó Kovács, Nikolaj Popov, Tudor Jebelean 1 Research Institute for Symbolic Computation, Johannes Kepler University, A-4040 Linz, Austria Institute
The Role of Automation Systems in Management of Change
The Role of Automation Systems in Management of Change Similar to changing lanes in an automobile in a winter storm, with change enters risk. Everyone has most likely experienced that feeling of changing
Formal Software Testing. Terri Grenda, CSTE IV&V Testing Solutions, LLC www.ivvts.com
Formal Software Testing Terri Grenda, CSTE IV&V Testing Solutions, LLC www.ivvts.com Scope of Testing Find defects early Remove defects prior to production Identify Risks Unbiased opinion When Should Testing
Fabio Massacci Ida Siahaan
Inline-Reference Monitor Optimization using Automata Modulo Theory (AMT) Fabio Massacci Ida Siahaan 2009-09-24 STM09 - UNITN - Siahaan 1 Inlined Reference Monitors Security Policy Original Application
Software Engineering Tools and Methods
Software Engineering Tools and Methods Fernando Brito e Abreu ([email protected]) Universidade Nova de Lisboa (http://www.unl.pt) QUASAR Research Group (http://ctp.di.fct.unl.pt/quasar) SWEBOK: the 10
e ag u g an L g ter lvin v E ram Neal G g ro va P Ja
Evolving the Java Programming Language Neal Gafter Overview The Challenge of Evolving a Language Design Principles Design Goals JDK7 and JDK8 Challenge: Evolving a Language What is it like trying to extend
Wildcard and SAN: Understanding multi-use SSL Certificates
WHITE PAPER: WILDCARD AND SAN: UNDERSTANDING MULTI-USE SSL CERTIFICATES White paper Wildcard and SAN: Understanding multi-use SSL Certificates Leveraging multi-use digital certificates to simplify certificate
How To Program In Scheme (Prolog)
The current topic: Scheme! Introduction! Object-oriented programming: Python Functional programming: Scheme! Introduction Next up: Numeric operators, REPL, quotes, functions, conditionals Types and values
Formal 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
The Course. http://www.cse.unsw.edu.au/~cs3153/
The Course http://www.cse.unsw.edu.au/~cs3153/ Lecturers Dr Peter Höfner NICTA L5 building Prof Rob van Glabbeek NICTA L5 building Dr Ralf Huuck NICTA ATP building 2 Plan/Schedule (1) Where and When Tuesday,
Today 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
Replication 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
