# An introduction to RGSep. Viktor Vafeiadis

Save this PDF as:

Size: px
Start display at page:

## Transcription

1 An introduction to RGSep Viktor Vafeiadis

2 Example: lock-coupling list There is one lock per node; threads acquire locks in a hand over hand fashion. If a node is locked, we can insert a node just after it. If two adjacent nodes are locked, we can remove the second.

3 Example: lock-coupling list There is one lock per node; threads acquire locks in a hand over hand fashion. If a node is locked, we can insert a node just after it. If two adjacent nodes are locked, we can remove the second.

4 Example: lock-coupling list There is one lock per node; threads acquire locks in a hand over hand fashion. If a node is locked, we can insert a node just after it. If two adjacent nodes are locked, we can remove the second.

5 Example: lock-coupling list There is one lock per node; threads acquire locks in a hand over hand fashion. If a node is locked, we can insert a node just after it. If two adjacent nodes are locked, we can remove the second.

6 Example: lock-coupling list There is one lock per node; threads acquire locks in a hand over hand fashion. If a node is locked, we can insert a node just after it. If two adjacent nodes are locked, we can remove the second.

7 Example: lock-coupling list There is one lock per node; threads acquire locks in a hand over hand fashion. If a node is locked, we can insert a node just after it. If two adjacent nodes are locked, we can remove the second.

8 Example: lock-coupling list There is one lock per node; threads acquire locks in a hand over hand fashion. If a node is locked, we can insert a node just after it. If two adjacent nodes are locked, we can remove the second.

9 Example: lock-coupling list There is one lock per node; threads acquire locks in a hand over hand fashion. If a node is locked, we can insert a node just after it. If two adjacent nodes are locked, we can remove the second.

10 Operations (actions) Lock-coupling list Lock Unlock Add node Delete node

11 Part I. Basic concepts Local & shared state Actions Program & environment Program specifications Stability

12 Local & shared state The total state is logically divided into two components: Shared: accessible by all threads via synchronisation Local: accessible only by one thread, its owner Shared Local 6 Figure. State of the lock-coupling list just before inserting a new node. The node to be added is local because other threads cannot yet access it.

13 Actions (1/3) Actions describe minimal atomic changes to the shared state. Lock Unlock An action allows any part of the shared state that satisfies the LHS to be changed to a part satisfying the RHS, but the rest of the shared state must not be changed.

14 Actions (2/3) Actions can also adjust the boundary between local state and stared state. This is also known as tranfer of ownership. Add node This node becomes shared. Delete node This node becomes local.

15 Actions (3/3) Example: Lock coupling list Shared Local 6 Add node

16 Actions (3/3) Example: Lock coupling list Shared Local Add node

17 Actions (3/3) Example: Lock coupling list Shared Local Lock node

18 Actions (3/3) Example: Lock coupling list Shared Local Lock node

19 Actions (3/3) Example: Lock coupling list Shared Local Delete node

20 Actions (3/3) Example: Lock coupling list Shared Local 6 Delete node

21 Actions (3/3) Example: Lock coupling list Shared Local 6 Now, the node is local; we can safely dispose it.

22 Actions (3/3) Example: Lock coupling list Shared Local Now, the node is local; we can safely dispose it.

23 Program & environment Program: the current thread being verified. Environment: all other threads of the system that execute in parallel with the thread being verified. Interference. The program interferes with the environment by modifying the shared state. Conversely, the environment interferes with the program by modifying the shared state.

24 Program specifications The specification of a program consists of two assertions (precondition & postcondition), and two sets of actions: Rely: Describes the interference that the program can tolerate from the environment; i.e. specifies how the environment can change the shared state. Guarantee: Describes the interference that the program imposes on its environment; i.e. specifies how the program can change the shared state.

25 Stability (1/2) Definition. An assertion is stable if and only if it is preserved under interference by other threads. Example 1. The following assertion is not stable A A For instance, another thread could remove node 3 or add a node after node 11.

26 Stability (1/2) Definition. An assertion is stable if and only if it is preserved under interference by other threads. Example 1. The following assertion is not stable A A For instance, another thread could remove node 3 or add a node after node 11.

27 Stability (1/2) Definition. An assertion is stable if and only if it is preserved under interference by other threads. Example 1. The following assertion is not stable A For instance, another thread could remove node 3 or add a node after node 11. A 12

28 Stability (2/2) Example 2. The following assertion, however, is stable. A 5 A 7 Lock B Unlock B

29 Stability (2/2) Example 2. The following assertion, however, is stable. A 5 A 7 Add node B B Delete node B B B

30 Part II. Program logic Syntax & semantics of assertions Syntax & semantics of actions Syntax & semantics of judgements Some proof rules Checking stability

31 Assertion syntax Separation Logic Extended logic P, Q ::= false emp e = e e e x. P P Q P Q P Q h SL P Q h SL (P Q) h. (h SL P ) (h h SL Q) p, q ::= P P p q p q p q x. p x. p local shared

32 Assertion semantics l, s P l SL P l, s P l = (s SL P ) l, s p 1 p 2 l 1, l 2. (l = l 1 l 2 ) (l 1, s p 1 ) (l 2, s p 2 ) Split local state; share global state.

33 Actions x 0, v, t x tid, v, t x tid, v, t x 0, v, t x tid, v, t x tid, v, y y 0, v, t x tid, v, y y tid, v, t x tid, v, t

34 Judgements C sat (p, R, G, q) (precondition, rely, guarantee, postcondition)

35 Parallel rule C 1 sat (p 1, R G 2, G 1, q 1 ) C 2 sat (p 2, R G 1, G 2, q 2 ) (C 1 C 2 ) sat (p 1 p 2, R, G 1 G 2, q 1 q 2 ) Splits local state; Shares global state.

36 Atomic commands p, q stable under R (atomic C) sat (p,, G, q) (atomic C) sat (p, R, G, q) P 2, Q 2 precise (P 2 Q 2 ) G C sat ( (P 1 P 2,,, Q 1 Q 2 ) (atomic C) sat P 1 P 2 F,, G, Q 1 Q 2 F ) Local state Shared state

37 Stability S stable under P Q iff ((P S) Q) S

38 The End Further topics: Automation (SmallfootRG) Local guards & provided clauses Modular reasoning about memory allocators Proving linearisability of concurrent algorithms

### Proving That Non-Blocking Algorithms Don t Block

Proving That Non-Blocking Algorithms Don t Block Alexey Gotsman University of Cambridge Byron Cook Microsoft Research Matthew Parkinson University of Cambridge Viktor Vafeiadis Microsoft Research Abstract

### Verifying Semantic of System Composition for an Aspect-Oriented Approach

2012 International Conference on System Engineering and Modeling (ICSEM 2012) IPCSIT vol. 34 (2012) (2012) IACSIT Press, Singapore Verifying Semantic of System Composition for an Aspect-Oriented Approach

### Reasoning about Optimistic Concurrency Using a Program Logic for History

Reasoning about Optimistic Concurrency Using a Program Logic for History Ming Fu 1, Yong Li 1, Xinyu Feng 1,2, Zhong Shao 3, and Yu Zhang 1 1 University of Science and Technology of China 2 Toyota Technological

### Formal 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

### Specification 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.

### 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

### Rigorous Software Development CSCI-GA 3033-009

Rigorous Software Development CSCI-GA 3033-009 Instructor: Thomas Wies Spring 2013 Lecture 11 Semantics of Programming Languages Denotational Semantics Meaning of a program is defined as the mathematical

### Concurrent Programming

Concurrent Programming Principles and Practice Gregory R. Andrews The University of Arizona Technische Hochschule Darmstadt FACHBEREICH INFCRMATIK BIBLIOTHEK Inventar-Nr.:..ZP.vAh... Sachgebiete:..?r.:..\).

### CHAPTER 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

### 3 Extending the Refinement Calculus

Building BSP Programs Using the Refinement Calculus D.B. Skillicorn? Department of Computing and Information Science Queen s University, Kingston, Canada skill@qucis.queensu.ca Abstract. We extend the

### 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

### Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

Software Engineering, Lecture 4 Decomposition into suitable parts Cross cutting concerns Design patterns I will also give an example scenario that you are supposed to analyse and make synthesis from The

### Logic in general. Inference rules and theorem proving

Logical Agents Knowledge-based agents Logic in general Propositional logic Inference rules and theorem proving First order logic Knowledge-based agents Inference engine Knowledge base Domain-independent

### VDM vs. Programming Language Extensions or their Integration

VDM vs. Programming Language Extensions or their Integration Alexander A. Koptelov and Alexander K. Petrenko Institute for System Programming of Russian Academy of Sciences (ISPRAS), B. Communisticheskaya,

### Using UML Part Two Behavioral Modeling Diagrams

UML Tutorials Using UML Part Two Behavioral Modeling Diagrams by Sparx Systems All material Sparx Systems 2007 Sparx Systems 2007 Page 1 Trademarks Object Management Group, OMG, Unified Modeling Language,

### Extended Static Checking for Java

Lukas TU München - Seminar Verification 14. Juli 2011 Outline 1 Motivation 2 ESC/Java example 3 ESC/JAVA architecture VC generator Simplify 4 JML + ESC/Java annotation language JML What ESC/Java checks

### Loop Invariants and Binary Search

Loop Invariants and Binary Search Chapter 4.3.3 and 9.3.1-1 - Outline Ø Iterative Algorithms, Assertions and Proofs of Correctness Ø Binary Search: A Case Study - 2 - Outline Ø Iterative Algorithms, Assertions

### Kirsten Sinclair SyntheSys Systems Engineers

Kirsten Sinclair SyntheSys Systems Engineers Kirsten Sinclair SyntheSys Systems Engineers Spicing-up IBM s Enterprise Architecture tools with Petri Nets On Today s Menu Appetiser: Background Starter: Use

### CS510 Software Engineering

CS510 Software Engineering Propositional Logic Asst. Prof. Mathias Payer Department of Computer Science Purdue University TA: Scott A. Carr Slides inspired by Xiangyu Zhang http://nebelwelt.net/teaching/15-cs510-se

### David Dye. Extract, Transform, Load

David Dye Extract, Transform, Load Extract, Transform, Load Overview SQL Tools Load Considerations Introduction David Dye derekman1@msn.com HTTP://WWW.SQLSAFETY.COM Overview ETL Overview Extract Define

### Inter-process Buffers in Separation Logic with Rely-Guarantee

Under consideration for publication in Formal Aspects of Computing Inter-process Buffers in Separation Logic with Rely-Guarantee Richard Bornat and Hasan Amjad Middlesex University, London, UK Abstract.

### New and Changed Application Services in Informatica 10.0

New and Changed Application Services in Informatica 10.0 1993-2015 Informatica LLC. No part of this document may be reproduced or transmitted in any form, by any means (electronic, photocopying, recording

### Sofware Requirements Engineeing

Sofware Requirements Engineeing Three main tasks in RE: 1 Elicit find out what the customers really want. Identify stakeholders, their goals and viewpoints. 2 Document write it down (). Understandable

### Traffic Engineering Management Concepts

3 CHAPTER This chapter includes an overview of Cisco Prime Fulfillment and of some of the concepts used in this guide. This chapter includes the following sections: Prime Fulfillment TEM Overview, page

### Modular Verification of Preemptive OS Kernels

Modular Verification of Preemptive OS Kernels Alexey Gotsman IMDEA Software Institute Alexey.Gotsman@imdea.org Hongseok Yang University of Oxford Hongseok.Yang@cs.ox.ac.uk Abstract Most major OS kernels

### Regression Verification: Status Report

Regression Verification: Status Report Presentation by Dennis Felsing within the Projektgruppe Formale Methoden der Softwareentwicklung 2013-12-11 1/22 Introduction How to prevent regressions in software

### A Case for Static Analyzers in the Cloud (Position paper)

A Case for Static Analyzers in the Cloud (Position paper) Michael Barnett 1 Mehdi Bouaziz 2 Manuel Fähndrich 1 Francesco Logozzo 1 1 Microsoft Research, Redmond, WA (USA) 2 École normale supérieure, Paris

### Software testing. Objectives

Software testing cmsc435-1 Objectives To discuss the distinctions between validation testing and defect testing To describe the principles of system and component testing To describe strategies for generating

### PL/SQL Practicum #2: Assertions, Exceptions and Module Stability

PL/SQL Practicum #2: Assertions, Exceptions and Module Stability John Beresniewicz Technology Manager Precise Software Solutions Agenda Design by Contract Assertions Exceptions Modular Code DESIGN BY CONTRACT

### PROPERTECHNIQUEOFSOFTWARE INSPECTIONUSING GUARDED COMMANDLANGUAGE

International Journal of Computer ScienceandCommunication Vol. 2, No. 1, January-June2011, pp. 153-157 PROPERTECHNIQUEOFSOFTWARE INSPECTIONUSING GUARDED COMMANDLANGUAGE Neeraj Kumar Singhania University,

### Hagit Attiya and Eshcar Hillel. Computer Science Department Technion

Hagit Attiya and Eshcar Hillel Computer Science Department Technion !!" What are highly-concurrent data structures and why we care about them The concurrency of existing implementation techniques Two ideas

### Design Patterns in C++

Design Patterns in C++ Concurrency Patterns Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa May 4, 2011 G. Lipari (Scuola Superiore Sant Anna) Concurrency Patterns May 4,

### Concurrency control. Concurrency problems. Database Management System

Concurrency control Transactions per second (tps) is the measure of the workload of a operational DBMS; if two transactions access concurrently to the same data there is a problem: the module who resolve

### Software-platform-independent, Precise Action Specifications for UML. Stephen J. Mellor. Project Technology, Inc. steve@projtech.com.

Software-platform-independent, Precise Action Specifications for UML Stephen J. Mellor Project Technology, Inc. steve@projtech.com Steve Tockey Rockwell Collins, Inc. srtockey@collins.rockwell.com Rodolphe

### Praspel: A Specification Language for Contract-Driven Testing in PHP

Praspel: A Specification Language for Contract-Driven Testing in PHP Ivan Enderlin Frédéric Dadeau Alain Giorgetti Abdallah Ben Othman October 27th, 2011 Meetings: LTP MTVV Ivan Enderlin, Frédéric Dadeau,

### Overview of Scalable Distributed Database System SD-SQL Server

Overview of Scalable Distributed Database System Server Witold Litwin 1, Soror Sahri 2, Thomas Schwarz 3 CERIA, Paris-Dauphine University 75016 Paris, France Abstract. We present a scalable distributed

### Views: Compositional Reasoning for Concurrent Programs

Views: Compositional Reasoning for Concurrent Programs Thomas Dinsdale-Young 1, Lars Birkedal 2, Philippa Gardner 1, Matthew J. Parkinson 3, and Hongseok Yang 4 1 Imperial College London 3 Microsoft Research

### CSE 880. Advanced Database Systems. Active Database Design Issues

CSE 880 Advanced Database Systems Active Database Design Issues S. Pramanik 1 Design Principles for Active Databases 1. Problems: Complex interactions due to cascading of triggers. Unknown side effects

### Transactions and ACID in MongoDB

Transactions and ACID in MongoDB Kevin Swingler Contents Recap of ACID transactions in RDBMSs Transactions and ACID in MongoDB 1 Concurrency Databases are almost always accessed by multiple users concurrently

### Oracle9i Data Guard: SQL Apply Best Practices. An Oracle White Paper September 2003

Oracle9i Data Guard: SQL Apply Best Practices An Oracle White Paper September 2003 Oracle9i Data Guard: SQL Apply Best Practices Introduction... 3 SQL Apply Best Practices & Observations At a Glance...

### Patterns of Information Management

PATTERNS OF MANAGEMENT Patterns of Information Management Making the right choices for your organization s information Summary of Patterns Mandy Chessell and Harald Smith Copyright 2011, 2012 by Mandy

### TNM090 Software Engineering. Software Engineering

TNM090 Software Engineering Software Engineering Software Engineering Not programming => Software system development customer/producer negotiations budget and time constraints quality and feature requirements

### DataBlitz Main Memory DataBase System

DataBlitz Main Memory DataBase System What is DataBlitz? DataBlitz is a general purpose Main Memory DataBase System that enables: Ð high-speed access to data Ð concurrent access to shared data Ð data integrity

### A Comparison Of Shared Memory Parallel Programming Models. Jace A Mogill David Haglin

A Comparison Of Shared Memory Parallel Programming Models Jace A Mogill David Haglin 1 Parallel Programming Gap Not many innovations... Memory semantics unchanged for over 50 years 2010 Multi-Core x86

### CASE STUDY: Oracle TimesTen In-Memory Database and Shared Disk HA Implementation at Instance level. -ORACLE TIMESTEN 11gR1

CASE STUDY: Oracle TimesTen In-Memory Database and Shared Disk HA Implementation at Instance level -ORACLE TIMESTEN 11gR1 CASE STUDY Oracle TimesTen In-Memory Database and Shared Disk HA Implementation

### 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

### Smallfoot: Modular Automatic Assertion Checking with Separation Logic

In: FMCO 2005, LNCS 4111, pp. 115 137. Smallfoot: Modular Automatic Assertion Checking with Separation Logic Josh Berdine 1, Cristiano Calcagno 2, and Peter W. O Hearn 3 1 Microsoft Research 2 Imperial

### Java SE 7 Programming

Oracle University Contact Us: 1.800.529.0165 Java SE 7 Programming Duration: 5 Days What you will learn This Java SE 7 Programming training explores the core Application Programming Interfaces (API) you'll

### Revolutionized DB2 Test Data Management

Revolutionized DB2 Test Data Management TestBase's Patented Slice Feature Provides a Fresh Solution to an Old Set of DB2 Application Testing Problems The challenge in creating realistic representative

### 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

### Java SE 7 Programming

Oracle University Contact Us: Local: 1800 103 4775 Intl: +91 80 4108 4709 Java SE 7 Programming Duration: 5 Days What you will learn This Java Programming training covers the core Application Programming

### Experience of so-ware engineers using TLA+, PlusCal and TLC

Experience of so-ware engineers using TLA+, PlusCal and TLC Chris Newcombe Principal Engineer, Amazon Web Services 1 Amazon Web Services 30+ services [1] ; compute, storage, db, queuing, High Scale: S3

### Simple Loop Patterns and Rich Loop Invariants

Simple Loop Patterns and Rich Loop Invariants Marc Sango AdaCore CNAM 05-10-2011 Marc Sango (AdaCore CNAM) Simple Loop Patterns and Rich Loop Invariants 05-10-2011 1 / 17 Contents 1 Motivation 2 Principle

### Recovery System C H A P T E R16. Practice Exercises

C H A P T E R16 Recovery System Practice Exercises 16.1 Explain why log records for transactions on the undo-list must be processed in reverse order, whereas redo is performed in a forward direction. Answer:

### Java SE 7 Programming

Java SE 7 Programming The second of two courses that cover the Java Standard Edition 7 (Java SE 7) Platform, this course covers the core Application Programming Interfaces (API) you will use to design

### R214 SPECIFIC REQUIREMENTS: INFORMATION TECHNOLOGY TESTING LABORATORY ACCREDITATION PROGRAM

The American Association for Laboratory Accreditation Document Revised: R214: Specific Requirements: Information Technology Testing Laboratory Accreditation July 13, 2010 Program Page 1 of 26 R214 SPECIFIC

### Introduction to Logic in Computer Science: Autumn 2006

Introduction to Logic in Computer Science: Autumn 2006 Ulle Endriss Institute for Logic, Language and Computation University of Amsterdam Ulle Endriss 1 Plan for Today Now that we have a basic understanding

### SQL INJECTION ATTACKS By Zelinski Radu, Technical University of Moldova

SQL INJECTION ATTACKS By Zelinski Radu, Technical University of Moldova Where someone is building a Web application, often he need to use databases to store information, or to manage user accounts. And

### 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

### Recovery Principles in MySQL Cluster 5.1

Recovery Principles in MySQL Cluster 5.1 Mikael Ronström Senior Software Architect MySQL AB 1 Outline of Talk Introduction of MySQL Cluster in version 4.1 and 5.0 Discussion of requirements for MySQL Cluster

### https://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

### Toward Model-Based Verification of Adaptive Allocation Managers

Toward Model-Based Verification of Adaptive Allocation Managers William Leal, Frank Drews, Chang Liu, Lonnie Welch Ohio University { leal@cs.ohiou.edu, drews@ohiou.edu, changliu@cs.ohiou.edu, welch@ohio.edu

### Designing Record Access for Enterprise Scale

Designing Record Access for Enterprise Scale Salesforce, Summer 16 @salesforcedocs Last updated: July 26, 2016 Copyright 2000 2016 salesforce.com, inc. All rights reserved. Salesforce is a registered trademark

### Section of DBMS Selection & Evaluation Questionnaire

Section of DBMS Selection & Evaluation Questionnaire Whitemarsh Information Systems Corporation 2008 Althea Lane Bowie, Maryland 20716 Tele: 301-249-1142 Email: mmgorman@wiscorp.com Web: www.wiscorp.com

### ABET General Outcomes. Student Learning Outcomes for BS in Computing

ABET General a. An ability to apply knowledge of computing and mathematics appropriate to the program s student outcomes and to the discipline b. An ability to analyze a problem, and identify and define

### Operatin g Systems: Internals and Design Principle s. Chapter 10 Multiprocessor and Real-Time Scheduling Seventh Edition By William Stallings

Operatin g Systems: Internals and Design Principle s Chapter 10 Multiprocessor and Real-Time Scheduling Seventh Edition By William Stallings Operating Systems: Internals and Design Principles Bear in mind,

### 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

### COSC 6374 Parallel Computation. Parallel I/O (I) I/O basics. Concept of a clusters

COSC 6374 Parallel Computation Parallel I/O (I) I/O basics Spring 2008 Concept of a clusters Processor 1 local disks Compute node message passing network administrative network Memory Processor 2 Network

### Chapter 19. Activity Diagrams

Use a sequence diagram if you want to emphasize the time ordering of messages. Use a collaboration diagram if you want to emphasize the organization of the objects involved in the interaction. Lay out

### Introduction to Parallel and Distributed Databases

Advanced Topics in Database Systems Introduction to Parallel and Distributed Databases Computer Science 600.316/600.416 Notes for Lectures 1 and 2 Instructor Randal Burns 1. Distributed databases are the

### Interactive Software Verification

Interactive Software Verification Spring Term 2013 Holger Gast gasth@in.tum.de 25.6.2013 1 H.Gast gasth@in.tum.de Interactive Software Verification, 25.6.2013 Today Manipulating lists on the heap Ghost

### MPI and Hybrid Programming Models. William Gropp www.cs.illinois.edu/~wgropp

MPI and Hybrid Programming Models William Gropp www.cs.illinois.edu/~wgropp 2 What is a Hybrid Model? Combination of several parallel programming models in the same program May be mixed in the same source

### Lecture Notes on Linear Search

Lecture Notes on Linear Search 15-122: Principles of Imperative Computation Frank Pfenning Lecture 5 January 29, 2013 1 Introduction One of the fundamental and recurring problems in computer science is

### Validated 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

### Java Bit Torrent Client

Java Bit Torrent Client Hemapani Perera, Eran Chinthaka {hperera, echintha}@cs.indiana.edu Computer Science Department Indiana University Introduction World-wide-web, WWW, is designed to access and download

### Know or Go Practical Quest for Reliable Software

Know or Go Practical Quest for Reliable Software Dr.-Ing. Jörg Barrho Dr.-Ing. Ulrich Wünsche AVACS Project meeting 25.09.2014 2014 Rolls-Royce Power Systems AG The information in this document is the

### Professional Organization Checklist for the Computer Science Curriculum Updates. Association of Computing Machinery Computing Curricula 2008

Professional Organization Checklist for the Computer Science Curriculum Updates Association of Computing Machinery Computing Curricula 2008 The curriculum guidelines can be found in Appendix C of the report

### Completing the Big Data Ecosystem:

Completing the Big Data Ecosystem: in sqrrl data INC. August 3, 2012 Design Drivers in Analysis of big data is central to our customers requirements, in which the strongest drivers are: Scalability: The

### LinuxWorld Conference & Expo Server Farms and XML Web Services

LinuxWorld Conference & Expo Server Farms and XML Web Services Jorgen Thelin, CapeConnect Chief Architect PJ Murray, Product Manager Cape Clear Software Objectives What aspects must a developer be aware

### Distributed Databases

Distributed Databases Chapter 1: Introduction Johann Gamper Syllabus Data Independence and Distributed Data Processing Definition of Distributed databases Promises of Distributed Databases Technical Problems

### FIPA agent based network distributed control system

FIPA agent based network distributed control system V.Gyurjyan, D. Abbott, G. Heyes, E. Jastrzembski, C. Timmer, E. Wolin TJNAF, Newport News, VA 23606, USA A control system with the capabilities to combine

### logic 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

### Mechanical Verification of a Garbage Collector

Mechanical Verification of a Garbage Collector by Klaus Havelund FMPPTA 99 Talk by Sibylle Aregger Motivation handwritten proofs are error prone show approach to verify algorithm mechanically 2 Contents

### Model Checking based Software Verification

Model Checking based Software Verification 18.5-2006 Keijo Heljanko Keijo.Heljanko@tkk.fi Department of Computer Science and Engineering Helsinki University of Technology http://www.tcs.tkk.fi/~kepa/ 1/24

### TOWARDS AN AUTOMATED HEALING OF 3D URBAN MODELS

TOWARDS AN AUTOMATED HEALING OF 3D URBAN MODELS J. Bogdahn a, V. Coors b a University of Strathclyde, Dept. of Electronic and Electrical Engineering, 16 Richmond Street, Glasgow G1 1XQ UK - jurgen.bogdahn@strath.ac.uk

### 2 nd Semester 2008/2009

Chapter 17: System Departamento de Engenharia Informática Instituto Superior Técnico 2 nd Semester 2008/2009 Slides baseados nos slides oficiais do livro Database System c Silberschatz, Korth and Sudarshan.

### DIRECT PH.D. (POST B.S.) IN COMPUTER SCIENCE PROGRAM

DIRECT PH.D. (POST B.S.) IN COMPUTER SCIENCE PROGRAM OVERVIEW ADMISSION REQUIREMENTS PROGRAM REQUIREMENTS OVERVIEW FOR THE DIRECT PH.D. IN COMPUTER SCIENCE The Direct Ph.D. in Computer Science program

### Oracle Database 11 g Performance Tuning. Recipes. Sam R. Alapati Darl Kuhn Bill Padfield. Apress*

Oracle Database 11 g Performance Tuning Recipes Sam R. Alapati Darl Kuhn Bill Padfield Apress* Contents About the Authors About the Technical Reviewer Acknowledgments xvi xvii xviii Chapter 1: Optimizing

### CORBA and object oriented middleware. Introduction

CORBA and object oriented middleware Introduction General info Web page http://www.dis.uniroma1.it/~beraldi/elective Exam Project (application), plus oral discussion 3 credits Roadmap Distributed applications

### REAL TERRACOTTA. Real-world scalability patterns with Terracotta. SERGIO BOSSA Pro-Netics / Sourcesense

REAL TERRACOTTA Real-world scalability patterns with Terracotta SERGIO BOSSA Pro-Netics / Sourcesense About Me Software architect and engineer http://www.pronetics.it http://www.sourcesense.com Blogger

### SSC - Concurrency and Multi-threading Java multithreading programming - Synchronisation (I)

SSC - Concurrency and Multi-threading Java multithreading programming - Synchronisation (I) Shan He School for Computational Science University of Birmingham Module 06-19321: SSC Outline Outline of Topics

### Shared Parallel File System

Shared Parallel File System Fangbin Liu fliu@science.uva.nl System and Network Engineering University of Amsterdam Shared Parallel File System Introduction of the project The PVFS2 parallel file system

### Trust 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

### ORACLE INSTANCE ARCHITECTURE

ORACLE INSTANCE ARCHITECTURE ORACLE ARCHITECTURE Oracle Database Instance Memory Architecture Process Architecture Application and Networking Architecture 2 INTRODUCTION TO THE ORACLE DATABASE INSTANCE

### Software 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

### The 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

### Chapter 10: Distributed DBMS Reliability

Chapter 10: Distributed DBMS Reliability Definitions and Basic Concepts Local Recovery Management In-place update, out-of-place update Distributed Reliability Protocols Two phase commit protocol Three