Graduation Semester and Year

2006

Language

English

Document Type

Thesis

Degree Name

Master of Science in Computer Science

Department

Computer Science and Engineering

First Advisor

(Jeff) Yu Lei

Abstract

Real-time concurrent programs are difficult to analyze, debug and test because of the existence of race conditions. In particular, cyclic debugging requires the ability to reproduce a failed execution. That is, when a failure is observed during a test run, it is often necessary to reproduce the test run as an effort to locate the bug that has caused the failure. However because of the variations in thread scheduling and signal latency, a real-time concurrent execution may not be reproduced simply by re-executing the program under test. In this thesis, we describe a language-based framework for tracing and replay of real-time concurrent programs in Vxworks. The framework consists of wrappers for Vxworks synchronization constructs like semaphores, message queues and threads. This framework supports two modes of execution, namely, trace and replay. In the trace mode, important synchronization events, with necessary debugging information, are recorded into a trace file. In the replay mode, a trace of synchronization events is read and used to control the behavior of threads so that these events are exercised in the same order as they were recorded. The ability of tracing and replay real-time concurrent executions facilitates the dynamic analysis and debugging of these executions. Unlike most existing frameworks, which are implemented in a platform-specific manner, our framework inserts additional runtime control at the programming language level and can be easily ported to other platforms.

Disciplines

Computer Sciences | Physical Sciences and Mathematics

Comments

Degree granted by The University of Texas at Arlington

Share

COinS