Visualizing Data Races in Concurrent Signal Handlers
نویسندگان
چکیده
Asynchronous signal handling introduces fine-grained concurrency into sequential programs making them prone to data races. Unfortunately, existing tools for detecting data races in sequential programs that use concurrent signal handlers fail to provide effective means for understanding the dynamic behavior of concurrent signal handlers involved in data races. Thus, this paper presents a visualization tool that uses vertically parallel arrows to capture the logical concurrency between a sequential program and its concurrent signal handlers, materializes synchronization patterns with horizontal arrows, and uses colored squares to represent accesses to shared variables in order to provide a partial ordering of events that occured at runtime.
منابع مشابه
Detecting Data Races in Sequential Programs with DIOTA
In this paper we show that data races, a type of bug that generally only causes havoc in parallel programs, can also occur in sequential programs that use signal handlers. Fortunately, it turns out that adapting existing data race detectors to detect such bugs for sequential programs is straightforward. We present such a tool, and we describe the modifications that were necessary to detect data...
متن کاملDynamic Detection and Healing of Low Level Data Races
Data races are a common problem in concurrent programming. This article describes a tool which is able to detect low level data races in Java programs and heal them – all at run-time. This tool is build on top of IBM ConTest, a concurrency testing software. The tool uses a modification of the Eraser algorithm to detect data races and implements two techniques of data race healing.
متن کاملDetecting Data Races with Java PathFinder
Roughly speaking, a (data) race on a shared variable arises in a concurrent program if two threads access that variable simultaneously and the accesses are conflicting, that is, at least one of them writes to the variable. Although some races are benign, races often are an indication of bugs. Hence, tools that detect them are invaluable to those writing concurrent programs. Many tools have been...
متن کاملStatic Deadlock Detection in SHIM with an Automata Type Checking System
With the advent of multicores, concurrent programming languages are become more prevelant. Data Races and Deadlocks are two major problems with concurrent programs. SHIM is a concurrent programming language that guarantees absence of data races through its semantics. However, a program written in SHIM can deadlock if not carefully written. In this paper, we present a divide-and-merge technique ...
متن کاملEffectiveness of Educational Program Based on Planned Behavior Theory on Decreasing Intention of Hookah and Tobacco Supply among the Handlers of Public Places and Food Centers in Arak City
Aims: Planning to reduce the production and supply of hookah and tobacco can be a positive step to reducing the hookah and tobacco consumption in the community. The aim of the present study was to determine the effectiveness of educational programs on decreasing intention of hookah and tobacco supply among the handlers of public places and food centers in Arak city, Iran based on the theory of ...
متن کامل