Timing and Race Condition Verification of Real-time Systems Yann–Hang Lee, Gerald Gannod, and Karam Chatha Dept. of Computer Science and Eng. Arizona State.

Slides:



Advertisements
Similar presentations
Embedded System, A Brief Introduction
Advertisements

Threads and Critical Sections Thomas Plagemann Slides from Otto J. Anshus, Tore Larsen (University of Tromsø), Kai Li (Princeton University)
Automating Software Module Testing for FAA Certification Usha Santhanam The Boeing Company.
Copyright © 2000, Daniel W. Lewis. All Rights Reserved. CHAPTER 8 SCHEDULING.
A Sample RTOS Presentation 4 Group A4: Sean Hudson, Manasi Kapadia Syeda Taib.
The cardiac pacemaker – SystemJ versus Safety Critical Java Heejong Park, Avinash Malik, Muhammad Nadeem, and Zoran Salcic. University of Auckland, NZ.
Concurrency: introduction1 ©Magee/Kramer 2 nd Edition Concurrency State Models and Java Programs Jeff Magee and Jeff Kramer.
INSE - Lectures 19 & 20 SE for Real-Time & SE for Concurrency  Really these are two topics – but rather tangled together.
Model for Supporting High Integrity and Fault Tolerance Brian Dobbing, Aonix Europe Ltd Chief Technical Consultant.
1SAS_06_Testing_Framework_Chen A Testing Framework for Reproducible Execution and Race Condition Detection in Real-time Embedded Systems Ken Chen, JSC.
Computer Systems/Operating Systems - Class 8
SEERE, Neum 2009 Runtime verification of Java programs using ITL Vladimir Valkanov, Damyan Mitev Plovdiv, Bulgaria.
Chapter 13 Embedded Systems
Chapter 13 Embedded Systems Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Scheduling for Embedded Real-Time Systems Amit Mahajan and Haibo.
Software modeling for embedded systems: static and dynamic behavior.
Department of Electrical and Computer Engineering Texas A&M University College Station, TX Abstract 4-Level Elevator Controller Lessons Learned.
Lock Inference for Systems Software John Regehr Alastair Reid University of Utah March 17, 2003.
Chapter 13 Embedded Systems
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
By Group: Ghassan Abdo Rayyashi Anas to’meh Supervised by Dr. Lo’ai Tawalbeh.
CprE 458/558: Real-Time Systems
EMBEDDED SOFTWARE Team victorious Team Victorious.
0 Deterministic Replay for Real- time Software Systems Alice Lee Safety, Reliability & Quality Assurance Office JSC, NASA Yann-Hang.
Deterministic Replay of Java Multithreaded Applications Jong-Deok Choi and Harini Srinivasan slides made by Qing Zhang.
Timed UML State Machines Ognyana Hristova Tutor: Priv.-Doz. Dr. Thomas Noll June, 2007.
Real-Time Software Design Yonsei University 2 nd Semester, 2014 Sanghyun Park.
Instructore: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Concurrent and.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Concurrency: introduction1 ©Magee/Kramer Concurrency State Models and Java Programs Jeff Magee and Jeff Kramer.
1 Previous lecture review n Out of basic scheduling techniques none is a clear winner: u FCFS - simple but unfair u RR - more overhead than FCFS may not.
CS4730 Real-Time Systems and Modeling Fall 2010 José M. Garrido Department of Computer Science & Information Systems Kennesaw State University.
© Oxford University Press 2011 DISTRIBUTED COMPUTING Sunita Mahajan Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai.
EEL Software development for real-time engineering systems.
Real-Time Systems Design1 Priority Inversion When a low-priority task blocks a higher-priority one, a priority inversion is said to occur Assume that priorities:
1 CSCI 6900: Design, Implementation, and Verification of Concurrent Software Eileen Kraemer August 16 th, 2010 The University of Georgia.
Chapter 101 Multiprocessor and Real- Time Scheduling Chapter 10.
Dynamic Analysis of Multithreaded Java Programs Dr. Abhik Roychoudhury National University of Singapore.
COMP 111 Threads and concurrency Sept 28, Tufts University Computer Science2 Who is this guy? I am not Prof. Couch Obvious? Sam Guyer New assistant.
Issues Autonomic operation (fault tolerance) Minimize interference to applications Hardware support for new operating systems Resource management (global.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
1 Advanced Behavioral Model Part 1: Processes and Threads Part 2: Time and Space Chapter22~23 Speaker: 陳 奕 全 Real-time and Embedded System Lab 10 Oct.
Deadlocks Silberschatz Ch. 7 and Priority Inversion Problems.
1 Qualitative Reasoning of Distributed Object Design Nima Kaveh & Wolfgang Emmerich Software Systems Engineering Dept. Computer Science University College.
Conformance Test Experiments for Distributed Real-Time Systems Rachel Cardell-Oliver Complex Systems Group Department of Computer Science & Software Engineering.
CS4730 Real-Time Systems and Modeling Fall 2010 José M. Garrido Department of Computer Science & Information Systems Kennesaw State University.
Verification of FT System Using Simulation Petr Grillinger.
Debugging Threaded Applications By Andrew Binstock CMPS Parallel.
A presentation for Brian Evans’ Embedded Software Class By Nate Forman Liaison Technology Inc. 3/30/2000 For Real-Time Scheduling.
Lecture 2, CS52701 The Real Time Computing Environment I CS 5270 Lecture 2.
Real-time Embedded System Lab, ASU WCAE_panel_ 1 Panel on Panel on Teaching Embedded Systems Yann-Hang Lee and Aung Oo Computer Science and Engineering.
October 24, 2003 SEESCOASEESCOA STWW - Programma Debugging Components Koen De Bosschere RUG-ELIS.
Eraser: A dynamic Data Race Detector for Multithreaded Programs Stefan Savage, Michael Burrows, Greg Nelson, Patrick Sobalvarro, Thomas Anderson Presenter:
CS4315A. Berrached:CMS:UHD1 Introduction to Operating Systems Chapter 1.
Agenda  Quick Review  Finish Introduction  Java Threads.
Reachability Testing of Concurrent Programs1 Reachability Testing of Concurrent Programs Richard Carver, GMU Yu Lei, UTA.
Unit - I Real Time Operating System. Content : Operating System Concepts Real-Time Tasks Real-Time Systems Types of Real-Time Tasks Real-Time Operating.
Embedded System Design and Development Introduction to Embedded System.
Big Picture Lab 4 Operating Systems C Andras Moritz
Real-Time Operating Systems RTOS For Embedded systems.
Healing Data Races On-The-Fly
REAL-TIME OPERATING SYSTEMS
Albert M. K. Cheng Embedded Real-Time Systems
Architecture Concept Documents
Gabor Madl Ph.D. Candidate, UC Irvine Advisor: Nikil Dutt
Reachability testing for concurrent programs
Real-Time Process Scheduling Concepts, Design and Implementations
Real-Time Process Scheduling Concepts, Design and Implementations
CS 491z / CS 791z Topics on Software Engineering
Presentation transcript:

Timing and Race Condition Verification of Real-time Systems Yann–Hang Lee, Gerald Gannod, and Karam Chatha Dept. of Computer Science and Eng. Arizona State University Tempe, AZ W. Eric Wong Dept. of Computer Science University of Texas at Dallas Richardson, TX

1 Background – RT Embedded Systems  Real-time Embedded Systems – software and hardware components that form an essential part of an application system and have tight interaction with the external environment  Major difficulties of building real-time embedded applications  Handling concurrent events (events that occur in parallel)  Timing control and temporal dependence in program behavior  Asynchronous operations  Non-deterministic operations, time-dependent behavior, and race conditions  Difficult to model, analyze, test, and re-produce. Plantsensoractuator Control-raw computation A/D D/A Reference input Controller

2 Background (Cont’d)  Example: NASA Pathfinder spacecraft  Total system resets in Mars Pathfinder  An overrun of a data collection task  a priority inversion in mutex semaphore  a failure of a communication task  a system reset.  Took 18 hours to reproduce the failure in a lab replica  the problem became obvious and a fix was installed  Errors rooted in the interaction of multiple concurrent operations/threads and are based on timing dependencies.  Easy to identify the errors and fix them once the failing sequences are reproduced (or observed).

3 Temporal Dependence  Predicting and controlling timing and responses are based on event occurrences  Timing relationship: (can you guarantee it?)  Predictable actions in response to external stimuli  if event E 1 occurs at time t 1, will an action A 1 be triggered at time t 2  Deadline (absolute or relative), and jitter  Program execution  If event E 1 occurs at time t 1 + , will the same action A 1 be triggered at time t 2 +  ?  Will the program execution be identical ?  Should this case be tested ?

4 Race Conditions  Necessary conditions:  Concurrent operations  At least one is “update”  No mechanism to guarantee any specific order 3 operations – A, B, & C  A race condition occurs when two threads manipulate a shared data structure simultaneously without synchronization.  Race conditions are common errors in multi-threaded programs; Since they are timing-dependent, they are notoriously hard to catch during testing  Possible consequences:  inconsistent data  unexpected (non-deterministic) execution sequence (order of actions) ACB CAB BCA

5 Research Goals  Establish a model to represent the inter- dependence of program execution behavior and external events  external events (interrupts or sensor value changes)  recognized by the executing program  processing and state transitions  actions  Adopt interval logic as a formal representation of system behavior for timing verification  Identify the minimal set of timed test stimuli

6 Race Condition Approaches  Existing Techniques  Ahead-of-time  Static analysis and compile-time heuristics for race condition detection (e.g., rccjava)  Advantage - Low overhead  Limitation - False detection  On-the-fly  Dynamic analysis to detect race conditions during program execution (e.g., Eraser)  Advantage - Overcomes false detection  Limitation - Larger run-time overheads; spurious thread interactions  Post-mortem  Combination of run-time event capture and static post-execution analysis (e.g., Recplay, Deja Vu)  Advantage - Best of both ahead-of-time and on-the-fly techniques  Limitation - Run-time overhead; spurious thread interactions

7 Proposed Approach: Post-mortem with Temporal Analysis Static analysis (control flow and data dependence) Dynamic analysis (execution flow, timing, synchronization, and I/O operations) Run test cases in target environment Formal model of events and program execution Model deduction from multiple test runs Timing and race condition verification Create new event occurrences from uncovered intervals Formal Analysis Instrumentation

8 Tools  Analysis Tools  Considered a set of 34 tools  Performed detailed analysis of 17 tools  In-depth case study of 5 tools using Fischer’s Mutual Exclusion problem  Kronos, UPPAAL, HyTech, Spin and Spin variants  Timing Measurement and Instrumentation Tools  Based on software instrumentation and a high-precision hardware timer (available in most high-end embedded processors)  Reduction of intrusion  Dominator analysis and super-block structure  Measurement during replay phase

9 Research Plan  Existing technologies –  Static analysis, program instrumentation, formal methods, scheduling, and real-time operating systems  Year 1 –  Development of analysis techniques, timing measurement, interval logic representation and deduction, and proof-of- concept demonstration  Year 2 –  Optimize analysis techniques, tool development and interface with NASA’s target environment  Year 3 –  Demonstration with NASA’s applications, tool verification. time intrusions