Definitions of Logical Causality for Log Analysis



Similar documents
Sample Log Analysis in E&A - A Legal Framework

Software in safety critical systems

University of Paderborn Software Engineering Group II-25. Dr. Holger Giese. University of Paderborn Software Engineering Group. External facilities

Liability and Privacy Issues in Business

Homework 1 (Time, Synchronization and Global State) Points

6 Project Planning Matrix (PPM) - Overview (in brief)

Chapter 6: distributed systems

Synchronization in. Distributed Systems. Cooperation and Coordination in. Distributed Systems. Kinds of Synchronization.

Verification and Validation of Software Components and Component Based Software Systems

Specification and Analysis of Contracts Lecture 1 Introduction

Detecting Defects in Object-Oriented Designs: Using Reading Techniques to Increase Software Quality

Edwin Lindsay Principal Consultant. Compliance Solutions (Life Sciences) Ltd, Tel: + 44 (0) elindsay@blueyonder.co.

Fault Modeling. Why model faults? Some real defects in VLSI and PCB Common fault models Stuck-at faults. Transistor faults Summary

Extending AADL for Security Design Assurance of the Internet of Things

The purpose of this course is to provide practical assistance for defining and managing project scope.

DATAWORX32 V9.2 REDUNDANCY. An ICONICS Whitepaper

EAB Engineering Accreditation Board

Transactional Support for SDN Control Planes "

3GPP TS V5.0.0 ( )

Technical Manual Functional Description for S800-RSU-H / S800W-RSU 2CCC413022M Schaffhausen 1 / 10

Diagnosis and Fault-Tolerant Control

A three-dimensional visualization of communications in distributed program environments

A Visualization System and Monitoring Tool to Measure Concurrency in MPICH Programs

Middleware and Distributed Systems. System Models. Dr. Martin v. Löwis. Freitag, 14. Oktober 11

Formal verification of contracts for synchronous software components using NuSMV

Test Coverage Criteria for Autonomous Mobile Systems based on Coloured Petri Nets

On-line PD Monitoring Makes Good Business Sense

Introduction to Software Engineering. 8. Software Quality

Error Bound for Classes of Polynomial Systems and its Applications: A Variational Analysis Approach

Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification

Adaptive Cruise Control System Overview

SN54165, SN54LS165A, SN74165, SN74LS165A PARALLEL-LOAD 8-BIT SHIFT REGISTERS

Fault Tree Analysis (FTA) and Event Tree Analysis (ETA)

Unit 10: Software Quality

ISO 27002:2013 Version Change Summary

RAMS Software Techniques in European Space Projects

Software Test Plan (STP) Template

Keywords: SQA,Black Box Testing( BBT), White Box testing(wbt).

Decision-Theoretic Troubleshooting: A Framework for Repair and Experiment

Suppor&ng the Design of Safety Cri&cal Systems Using AADL

Verifying Semantic of System Composition for an Aspect-Oriented Approach

CA ARCserve and CA XOsoft r12.5 Best Practices for protecting Microsoft SQL Server

Program Synthesis is a Game

Introduction to VLSI Testing

Software Metrics: Roadmap

Kernel comparison of OpenSolaris, Windows Vista and. Linux 2.6

Formal Verification and Linear-time Model Checking

CMMI Process Area Compliance with Formal Specification Based Software Development

Decision Logic: if, if else, switch, Boolean conditions and variables

Reliability Guarantees in Automata Based Scheduling for Embedded Control Software

Check List. SAC FCU

Towards a Logical Foundation for Assurance Arguments for Plug & Play Systems

VEHICLE TRACKING. Equip your fleet with electronic driver logs and make FMCSA compliance effortless.

DEPENDABILITY STUDY OF THE ERP SYSTEM

Replication on Virtual Machines

Testing Introduction. IEEE Definitions

Continuous Integration of service applications

MEASURES FOR EXCELLENCE. Software Process Improvement: Management. Commitment, Measures. And Motivation

logic language, static/dynamic models SAT solvers Verified Software Systems 1 How can we model check of a program or system?

Pocket Verifier Smartphone Edition Release Version 1 User Guide and Tutorial for Windows Mobile 5 Smartphone Motorola Q Samsung i320

Modeling and Validation of a Data Process Unit Control for Space Applications

General Terms of Purchase. of HAN University of Applied Sciences

Port Trunking. Contents

(Pessimistic) Timestamp Ordering. Rules for read and write Operations. Pessimistic Timestamp Ordering. Write Operations and Timestamps

A Risk Management System Framework for New Product Development (NPD)

Chapter 2. Multiprocessors Interconnection Networks

Objective. Testing Principle. Types of Testing. Characterization Test. Verification Testing. VLSI Design Verification and Testing.

Timing Methodologies (cont d) Registers. Typical timing specifications. Synchronous System Model. Short Paths. System Clock Frequency

Review Manager Guide

The SPES Methodology Modeling- and Analysis Techniques

Interaction Diagrams. Use Cases and Actors INTERACTION MODELING

TSL INTEGRATED OPTO SENSOR

Open Text ECM Suite. Product Strategy and Overview. Lubor Ptacek. VP Product Marketing Open Text Corporation

2. Information Economics

6.852: Distributed Algorithms Fall, Class 2

Bosch Packaging Academy Essential Training

Software testing. Objectives

Computer Science Data Science - B.S.

Software quality engineering. Quality assurance. Testing

Software Health Management An Introduction. Gabor Karsai Vanderbilt University/ISIS

Project Risk Management: IV&V as Insurance for Project Success

Lawrence S. Farey. 193 S.W. Seminole Drive Aloha, OR 97006

Designing Closed Quality Control Loops For Stable Production Systems

Software Testing. Knowledge Base. Rajat Kumar Bal. Introduction

Convention Center Follow-Up Audit November Craig Terrell, Interim City Auditor Lee Hagelstein, Internal Auditor

Transcription:

Definitions of Logical Causality for Log Analysis Gregor Gössler 1 Joint work with Daniel Le Métayer 1 and Jean-Baptiste Raclet 2 1 INRIA Grenoble Rhône-Alpes, France 2 IRIT - CNRS, Toulouse, France Synchron 2011 GG, DLM, and JBR (INRIA/IRIT) Logical Causality 1 / 1

LISE: Liability Issues in Software Engineering Objectives General objective of the LISE project: Provide a set of methods and tools (both legal and technical) to Define liability in a precise and unambiguous way Establish liability in case of failure Scope: Contractual framework (not tort law) Liability for software defects (not intellectual property infringements) Priority: settle liability issues in an amicable way. GG, DLM, and JBR (INRIA/IRIT) Logical Causality 2 / 1

Context A component-based system components are provided by different vendors Each component C i is equipped with a contract (A i, G i ): used according to A i, C i promises to behave like G i. Components are black boxes: only the contracts are known, not the implementation implementations may violate their contract Interactions between components are logged, logs may be distributed Problem: Define notions of causality between contract violations that can be used to establish liability of the component vendors. GG, DLM, and JBR (INRIA/IRIT) Logical Causality 3 / 1

Causality in distributed systems A e 2 e 3 B f e 1 C e 4 v Lamport causality too weak for our needs: f v does not mean that failure f causes the violation v of the specification of C. Lamport causality is a necessary but not sufficient condition for causality between contract violations. GG, DLM, and JBR (INRIA/IRIT) Logical Causality 4 / 1

Contracts Contract C = pair of automata (A, G). C specifies under which assumption A the component provides guarantee G. clean specification and limitation of the responsibilities of components. Example (Contract satisfaction) A: a cannot reoccur before b G: c never occurs b, c c a, b a b tr: a b a a c c =/ A but = C = (A, G) tr : a b c a = A and =/ G thus =/ C GG, DLM, and JBR (INRIA/IRIT) Logical Causality 5 / 1

Causality in Contract Violation: Overview C = (A, G) (A 1, G 1 ) (A 2, G 2 ) (A 3, G 3 ) B 1 B 2 B 3 tr 1 tr 2 tr 3 GG, DLM, and JBR (INRIA/IRIT) Logical Causality 6 / 1

Causality in Contract Violation: Overview C = (A, G) (A 1, G 1 ) (A 2, G 2 ) (A 3, G 3 ) B 1 B 2 B 3 tr 1 tr 2 tr 3 GG, DLM, and JBR (INRIA/IRIT) Logical Causality 6 / 1

Causality in Contract Violation: Overview C = (A, G) (A 1, G 1 ) (A 2, G 2 ) (A 3, G 3 ) B 1 B 2 B 3 tr 1 tr 2 tr 3 GG, DLM, and JBR (INRIA/IRIT) Logical Causality 6 / 1

Causality in Contract Violation: Overview C = (A, G) (A 1, G 1 ) (A 2, G 2 ) (A 3, G 3 ) B 1 B 2 B 3 tr 1 tr 2 tr 3 GG, DLM, and JBR (INRIA/IRIT) Logical Causality 6 / 1

Causality in Contract Violation: Overview C = (A, G) (A 1, G 1 ) (A 2, G 2 ) (A 3, G 3 ) B 1 B 2 B 3 tr 1 tr 2 tr 3 GG, DLM, and JBR (INRIA/IRIT) Logical Causality 6 / 1

Causality in Contract Violation: Overview C = (A, G) (A 1, G 1 ) (A 2, G 2 ) (A 3, G 3 ) B 1 B 2 B 3 tr 1 tr 2 tr 3 Hypothesis If the implementations B i of all components are correct, then C is respected. GG, DLM, and JBR (INRIA/IRIT) Logical Causality 6 / 1

Causality in Contract Violation: Overview C = (A, G) (A 1, G 1 ) (A 2, G 2 ) (A 3, G 3 ) B 1 B 2 B 3 tr 1 tr 2 tr 3 Hypothesis If the implementations B i of all components are correct, then C is respected. Any contract violation is due to some faulty implementation B i. GG, DLM, and JBR (INRIA/IRIT) Logical Causality 6 / 1

Logical Causality from Component Trace to Failure Necessary Causality Definition (Necessary causality) Tr n C if tr 1 Tr =/ C k tr n tr =/ C GG, DLM, and JBR (INRIA/IRIT) Logical Causality 7 / 1

Logical Causality from Component Trace to Failure Necessary Causality Definition (Necessary causality) Tr n C if tr 1 Tr tr n tr GG, DLM, and JBR (INRIA/IRIT) Logical Causality 7 / 1

Logical Causality from Component Trace to Failure Necessary Causality Definition (Necessary causality) Tr n C if tr 1 Tr = C k tr n consistent tr = C GG, DLM, and JBR (INRIA/IRIT) Logical Causality 7 / 1

Logical Causality from Component Trace to Failure Necessary Causality Given: (tr 1,..., tr n ) vector of observed traces Tr {tr 1,..., tr n } set of traces to be analyzed jointly Definition (Necessary causality) Tr is a necessary cause of the violation of C if tr Tr: tr C and tr : ( j {1,..., n} \ I : π j (tr ) = tr j where I = {i tr i Tr tr i =/ C i }. k I : π k (tr ) = C k ) = tr = C GG, DLM, and JBR (INRIA/IRIT) Logical Causality 8 / 1

Logical Causality from Component Trace to Failure Sufficient Causality Definition (Sufficient causality) Tr s C if tr 1 Tr =/ C k tr n tr =/ C GG, DLM, and JBR (INRIA/IRIT) Logical Causality 9 / 1

Logical Causality from Component Trace to Failure Sufficient Causality Definition (Sufficient causality) Tr s C if tr 1 Tr tr n tr GG, DLM, and JBR (INRIA/IRIT) Logical Causality 9 / 1

Logical Causality from Component Trace to Failure Sufficient Causality Definition (Sufficient causality) Tr s C if tr 1 = C 1 Tr tr n = C n consistent tr =/ C GG, DLM, and JBR (INRIA/IRIT) Logical Causality 9 / 1

Properties Property (Soundness) Necessary and sufficient causality are sound: 1 Any (necessary or sufficient) cause contains at least one component trace violating its contract. 2 Any minimal set of traces forming a cause only contains traces violating the component contracts. Property (Completeness) Every violation of the system-level contract has a necessary and a sufficient cause. Remark Causality defined on contracts and observed traces, not implementations. GG, DLM, and JBR (INRIA/IRIT) Logical Causality 10 / 1

Example 1: Adaptive Cruise Control Sensor ssr o sld i SLD sld o HMI throttle brake tck hmi o,on hmi o,off sw i,on sw o,on bsi,user Clock tck Switch bs i,auto BS sw o,on sw o,off tck Radar rdr o or i OR or o acc s i tck acc i,on acc o i ACC acc i,off acc b o ts i,auto TS ts i,user acc t o GG, DLM, and JBR (INRIA/IRIT) Logical Causality 11 / 1

Example 1: Adaptive Cruise Control rdr o or i OR Radar tck or o acc s i tck acc i,on acc o i ACC acc i,off acc b o acc t o Obstacle recognition (OR) G OR : output 1 time unit after sensing Adaptive Cruise Control (ACC) G ACC : output 1 time unit after latest input Global guarantee G: ACC output at most 3 time units after data acquisition GG, DLM, and JBR (INRIA/IRIT) Logical Causality 11 / 1

Example 1: Adaptive Cruise Control Two necessary causes Consider the following trace excerpts: OR:... or i, tck, tck, or o, tck, tck,... ACC:... tck, tck, acc s i, tck, tck, accb o,... Both OR and ACC violate their contracts ( OR = 2, ACC = 2) = violation of the global timing constraint ( = 4 > 3). Each of the OR and ACC failures is a necessary cause for the global failure. Taken together they are a sufficient cause. GG, DLM, and JBR (INRIA/IRIT) Logical Causality 12 / 1

Example 1: Adaptive Cruise Control One necessary and sufficient cause Consider the following trace excerpts: OR:... or i, tck, tck, tck, or o, tck, tck,... ACC:... tck, tck, tck, acc s i, tck, tck, acct o,... Both OR and ACC violate their contracts but OR s violation is more serious ( OR = 3, ACC = 2). OR s violation is a necessary and sufficient cause for the global failure. The violation of ACC is no longer a necessary cause. GG, DLM, and JBR (INRIA/IRIT) Logical Causality 13 / 1

Example 2: Travel Agency Travel agency: Hotel 1: GG, DLM, and JBR (INRIA/IRIT) Logical Causality 14 / 1

Example 2: Travel Agency Spec 1: at any time, #(debits) #(confirmations) Spec 2: each request is ack ed by either fail or resa i.!resp yes i for i {1, 2} GG, DLM, and JBR (INRIA/IRIT) Logical Causality 15 / 1

Example 2: Travel Agency Spec 1: at any time, #(debits) #(confirmations) Spec 2: each request is ack ed by either fail or resa i.!resp yes i for i {1, 2} Observed traces: agency:?proc.!demand 1.?resp no 1.!demand 2.?resp yes 2.!conf GG, DLM, and JBR (INRIA/IRIT) Logical Causality 15 / 1

Example 2: Travel Agency Spec 1: at any time, #(debits) #(confirmations) Spec 2: each request is ack ed by either fail or resa i.!resp yes i for i {1, 2} Observed traces: agency:?proc.!demand 1.?resp no 1.!demand 2.?resp yes 2.!conf hotel 1:?demand 1. resa 1.!resp no 1. wait 1. debit 1 GG, DLM, and JBR (INRIA/IRIT) Logical Causality 15 / 1

Example 2: Travel Agency Spec 1: at any time, #(debits) #(confirmations) Spec 2: each request is ack ed by either fail or resa i.!resp yes i for i {1, 2} Observed traces: agency:?proc.!demand 1.?resp no 1.!demand 2.?resp yes 2.!conf hotel 1:?demand 1. resa 1.!resp no 1. wait 1. debit 1 hotel 2:?demand 2.!resp yes 2. wait 2. debit 2 GG, DLM, and JBR (INRIA/IRIT) Logical Causality 15 / 1

Example 2: Travel Agency Spec 1: at any time, #(debits) #(confirmations) Spec 2: each request is ack ed by either fail or resa i.!resp yes i for i {1, 2} Observed traces: agency:?proc.!demand 1.?resp no 1.!demand 2.?resp yes 2.!conf hotel 1:?demand 1. resa 1.!resp no 1. wait 1. debit 1 hotel 2:?demand 2.!resp yes 2. wait 2. debit 2 Results of causality analysis: spec 1 spec 2 travel agency hotel 1 N, S S hotel 2 S GG, DLM, and JBR (INRIA/IRIT) Logical Causality 15 / 1

Causality Analysis with Bounded Past Given: (tr 1,..., tr n ) vector of observed traces tr i a suffix of tr i, i = 1,..., n, such that tr i : π i (tr) = tr i. Tr {tr 1,..., tr n } set of traces to be analyzed jointly Definition (Necessary causality) Tr is a necessary cause of the violation of C if tr Tr: tr C and tr : ( j {1,..., n} \ I : π j (tr ) = tr j where I = {i tr i Tr tr i =/ C i }. k I : π k (tr ) = C k ) = tr = C GG, DLM, and JBR (INRIA/IRIT) Logical Causality 16 / 1

Causality Analysis with Bounded Past Given: (tr 1,..., tr n ) vector of observed traces tr i a suffix of tr i, i = 1,..., n, such that tr i : π i (tr) = tr i. Tr {tr 1,..., tr n } set of traces to be analyzed jointly Definition (Necessary causality) Tr is a necessary cause of the violation of C if tr Tr: tr C and tr : ( j {1,..., n} \ I : π j (tr ) = tr j k I : π k (tr ) = C k = tr = C where I = {i tr i Tr tr i =/ C i }. GG, DLM, and JBR (INRIA/IRIT) Logical Causality 16 / 1

Causality Analysis with Bounded Past Given: (tr 1,..., tr n ) vector of observed traces tr i a suffix of tr i, i = 1,..., n, such that tr i : π i (tr) = tr i. Tr {tr 1,..., tr n } set of traces to be analyzed jointly Definition (Necessary causality) Tr is a necessary cause of the violation of C if tr Tr: tr : ( j {1,..., n} \ I : π j (tr ) = tr + j tr C = and k I : π k (tr ) = C k = tr = C where I = {i tr i Tr tr i =/ C i = }. GG, DLM, and JBR (INRIA/IRIT) Logical Causality 16 / 1

Related Work Actual causality (Halpern & Pearl) for Boolean expressions, no native support for sequential behavior weak notion of logical causality Dependability: fault trees: from failure to potential causes FME(C)A: from cause to potential failures Blaming in contract languages verify satisfaction of assumption and guarantee; no notion of causality, no concurrency. Diagnosis: determine (unobservable) faults from observations no notion of logical causality. GG, DLM, and JBR (INRIA/IRIT) Logical Causality 17 / 1

Discussion Contributions: General definitions for logical causality, supporting group causality (vertical) causality: a component causes the violation of a system-level contract. horizontal causality: a component causes the violation of the guarantee provided by another component. Effective decision procedure. Causality analysis on bounded past. Implementation in analysis tool Loca. GG, DLM, and JBR (INRIA/IRIT) Logical Causality 18 / 1

Future Work Generalize framework, instantiate with existing models of computation and communication: synchronous, timed automata,... Allow for uncertainty, e.g., partial observability of events. Generalize to a quantitative notion of causality. Constructiveness? GG, DLM, and JBR (INRIA/IRIT) Logical Causality 19 / 1