Debugging of Parallel Systems Joel Huselius A Short Introduction.

Slides:



Advertisements
Similar presentations
SOFTWARE TESTING. Software Testing Principles Types of software tests Test planning Test Development Test Execution and Reporting Test tools and Methods.
Advertisements

4 December 2001 SEESCOASEESCOA STWW - Programma Debugging of Real-Time Embedded Systems: Experiences from SEESCOA Michiel Ronsse RUG-ELIS.
Testing Concurrent/Distributed Systems Review of Final CEN 5076 Class 14 – 12/05.
2 Motivation Distributed Systems Notoriously difficult to build without appropriate assistance. First ones were based on low-level message-passing mechanisms.
1 Architectural Complexity: Opening the Black Box Methods for Exposing Internal Functionality of Complex Single and Multiple Processor Systems EECC-756.
HW/SW- Codesign Verification and Debugging. HW versus SW Ondrej Cevan.
Visual Solution to High Performance Computing Computer and Automation Research Institute Laboratory of Parallel and Distributed Systems
IEEE International Symposium on Distributed Simulation and Real-Time Applications October 27, 2008 Vancouver, British Columbia, Canada Presented by An.
Virtual Radical Collocation for Distributed Software Development: Discussion Walt Scacchi Institute for Software Research University of California, Irvine.
Lock vs. Lock-Free memory Fahad Alduraibi, Aws Ahmad, and Eman Elrifaei.
Presenter : Shih-Tung Huang Tsung-Cheng Lin Kuan-Fu Kuo 2015/6/15 EICE team Model-Level Debugging of Embedded Real-Time Systems Wolfgang Haberl, Markus.
Network Traffic Measurement and Modeling CSCI 780, Fall 2005.
CS590 Z Software Defect Analysis Xiangyu Zhang. CS590F Software Reliability What is Software Defect Analysis  Given a software program, with or without.
The Infeasibility of Quantifying the Reliability of Life-Critical Real-Time Software.
16/27/2015 3:38 AM6/27/2015 3:38 AM6/27/2015 3:38 AMTesting and Debugging Testing The process of verifying the software performs to the specifications.
Strategic Directions in Real- Time & Embedded Systems Aatash Patel 18 th September, 2001.
Visual Debugging Tools for Concurrent Models of Computation Elaine Cheong 15 May 2002 EE290N: Advanced Topics in System Theory.
Testing Metrics Software Reliability
Instrumentation and Profiling David Kaeli Department of Electrical and Computer Engineering Northeastern University Boston, MA
General Testing Background CISC 879 Spring 2007 Lori Pollock.
BY RAJESWARI S SOFTWARE TESTING. INTRODUCTION Software testing is the process of testing the software product. Effective software testing will contribute.
0 Deterministic Replay for Real- time Software Systems Alice Lee Safety, Reliability & Quality Assurance Office JSC, NASA Yann-Hang.
CS527: (Advanced) Topics in Software Engineering Overview of Software Quality Assurance Tao Xie ©D. Marinov, T. Xie.
Software Faults and Fault Injection Models --Raviteja Varanasi.
© Siemens AG, CT SE 1, Dr. A. Ulrich C O R P O R A T E T E C H N O L O G Y Research at Siemens CT SE Software & Engineering Development Techniques.
Slide 6.1 CHAPTER 6 TESTING. Slide 6.2 Overview l Quality issues l Nonexecution-based testing l Execution-based testing l What should be tested? l Testing.
Software Testing Content Essence Terminology Classification –Unit, System … –BlackBox, WhiteBox Debugging IEEE Standards.
1. Topics to be discussed Introduction Objectives Testing Life Cycle Verification Vs Validation Testing Methodology Testing Levels 2.
Instructore: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Concurrent and.
CS 501: Software Engineering Fall 1999 Lecture 16 Verification and Validation.
Slide 1/24 Lawrence Livermore National Laboratory AutomaDeD: Automata-Based Debugging for Dissimilar Parallel Tasks Greg Bronevetsky, Bronis R. de Supinski,
Verification and Validation Overview References: Shach, Object Oriented and Classical Software Engineering Pressman, Software Engineering: a Practitioner’s.
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.
Software Testing The process of operating a system or component under specified conditions, observing and recording the results, and making an evaluation.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 23 Reliability III.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
Dynamic Analysis of Multithreaded Java Programs Dr. Abhik Roychoudhury National University of Singapore.
Determination of Number of Probe Vehicles Required for Reliable Travel Time Measurement in Urban Network.
PROV 504 NIKITHA VADDULA INTRODUCTION IMPORTANCE OF DISCIPLINE CURRENT ISSUES MAJOR ORGANIZATIONS PRE-EMINENT SCHOLARS SEMINAL WORKS CONNECTIONS.
25 April 2000 SEESCOASEESCOA STWW - Programma Evaluation of on-chip debugging techniques Deliverable D5.1 Michiel Ronsse.
©2009 Mladen Kezunovic. Improving Relay Performance By Off-line and On-line Evaluation Mladen Kezunovic Jinfeng Ren, Chengzong Pang Texas A&M University,
Conformance Test Experiments for Distributed Real-Time Systems Rachel Cardell-Oliver Complex Systems Group Department of Computer Science & Software Engineering.
The 14 th IEEE Real-Time and Embedded Technology and Applications Symposium, April 2008 Real-Time Distributed Discrete-Event Execution with Fault Tolerance.
A record and replay mechanism using programmable network interface cards Laurent Lefèvre INRIA / LIP (UMR CNRS, INRIA, ENS, UCB)
Real-Time & MultiMedia Lab Synchronization Distributed System Jin-Seung,KIM.
Configuration Management CSCI 5801: Software Engineering.
Verification of FT System Using Simulation Petr Grillinger.
Concurrency unlocked Programming
Debugging Threaded Applications By Andrew Binstock CMPS Parallel.
Global Clock Synchronization in Sensor Networks Qun Li, Member, IEEE, and Daniela Rus, Member, IEEE IEEE Transactions on Computers 2006 Chien-Ku Lai.
 Software Testing Software Testing  Characteristics of Testable Software Characteristics of Testable Software  A Testing Life Cycle A Testing Life.
Execution Replay and Debugging. Contents Introduction Parallel program: set of co-operating processes Co-operation using –shared variables –message passing.
Winter 2007SEG2101 Chapter 121 Chapter 12 Verification and Validation.
SOFTWARE TESTING Sampath Kumar Vuyyuru. INTRODUCTION Software Testing is a way of executing the software in a controlled manner to check whether the software.
Agenda  Quick Review  Finish Introduction  Java Threads.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
V-Shaped Software Development Life Cycle Model. Introduction: Variation of water fall model. Same sequence structure as water fall model. Strong emphasis.
Fundamentals of Fault-Tolerant Distributed Computing In Asynchronous Environments Paper by Felix C. Gartner Graeme Coakley COEN 317 November 23, 2003.
18/05/2006 Fault Tolerant Computing Based on Diversity by Seda Demirağ
Presenter: Yi-Ting Chung Fast and Scalable Hybrid Functional Verification and Debug with Dynamically Reconfigurable Co- simulation.
Distributed and Parallel Processing George Wells.
CSC 591/791 Reliable Software Systems
Verification and Validation Overview
Introduction to medical Terminolog MEDICAL TERMINOLOGY.
Predictive Performance
Olympic Records Can you deduce which event Graph 1 represents?
Testing and Debugging Concurrent Code
Wireless Embedded Systems
Presentation transcript:

Debugging of Parallel Systems Joel Huselius A Short Introduction

Terminology Error (bug) An unwanted state in a product Fault An unintended condition that can cause an error Debug The process of locating, analysing, and correcting suspected faults

Classes of Errors Probe effect Observability Problem Livelock Deadlock Stampede effect Bystander effect Irreproducibility effects Completeness problem

Cyclic Debugging Repeated executions Execute – Halt – Examine – Continue loop Probe effect Irreproducibility problem Stampede effect

Monitoring To record information of a program execution, in order to review it in a model of the target environment offline Software Hardware Hybrid

Monitoring (cont) Browsing Replay Simulated Replay Probe effect Regression testing Accuracy of the model versus reality

Major Players and Contibutions Recent Disputations Dieter Kranzmüller “Event Graph Analysis for Debugging Massively Parallel Programs” 2000 Henrik Thane “Monitoring Testing and Debugging Distributed Real-Time Systems” 2000 Seminal Papers LeBlanc and Mellor-Crummey “Debugging Parallel Programs with Instant Replay” 1987 McDowell and Helmbold “Debugging Concurrent Programs” 1989 Carver and Tai “Replay and Testing for Concurrent Programs” 1991 Fidge “Fundamentals of Distributed System Observation” 1996 Schütz “Fundamental Issues in Testing Distributed Real-Time Systems” 1994

Conferences IEEE Parallel and Distributed Systems IEEE Symposium on Reliable Distributed Sysmtems ACM International Symposium on Software Testing and Analysis