Results 1 - 10
of
30
Atomizer: a dynamic atomicity checker for multithreaded programs
- In POPL
, 2004
"... Ensuring the correctness of multithreaded programs is difficult, due to the potential for unexpected interactions between concurrent threads. We focus on the fundamental non-interference property of atomicity and present a dynamic analysis for detecting atomicity violations. This analysis combines i ..."
Abstract
-
Cited by 164 (14 self)
- Add to MetaCart
Ensuring the correctness of multithreaded programs is difficult, due to the potential for unexpected interactions between concurrent threads. We focus on the fundamental non-interference property of atomicity and present a dynamic analysis for detecting atomicity violations. This analysis combines ideas from both Lipton’s theory of reduction and earlier dynamic race detectors such as Eraser. Experimental results demonstrate that this dynamic atomicity analysis is effective for detecting errors due to unintended interactions between threads. In addition, the majority of methods in our benchmarks are atomic, supporting our hypothesis that atomicity is a standard methodology in multithreaded programming. 1 The Need for Atomicity Multiple threads of control are widely used in software development because they help reduce latency and provide better utilization of multiprocessor machines. However, reasoning about the correctness of multithreaded code is complicated by the nondeterministic interleaving of threads and the potential for unexpected interference between concurrent threads. Since exploring all possible interleavings of the executions of the various threads is clearly impractical, methods for specifying and controlling the interference between concurrent threads are crucial for the development of reliable multithreaded software. Much previous work on controlling thread interference has focused on race conditions, which occur when two threads simultaneously access the same data variable, and at least one of the accesses is a write [1]. Unfortunately, the absence of race conditions is not sufficient to ensure the absence of errors due to unexpected interference between threads. As a concrete illustration of
Types for safe locking: Static race detection for Java
- ACM Transactions on Programming Languages and Systems
, 2006
"... This article presents a static race-detection analysis for multithreaded shared-memory programs, focusing on the Java programming language. The analysis is based on a type system that captures many common synchronization patterns. It supports classes with internal synchronization, classes that requi ..."
Abstract
-
Cited by 50 (7 self)
- Add to MetaCart
This article presents a static race-detection analysis for multithreaded shared-memory programs, focusing on the Java programming language. The analysis is based on a type system that captures many common synchronization patterns. It supports classes with internal synchronization, classes that require client-side synchronization, and thread-local classes. In order to demonstrate the effectiveness of the type system, we have implemented it in a checker and applied it to over 40,000 lines of hand-annotated Java code. We found a number of race conditions in the standard Java libraries and other test programs. The checker required fewer than 20 additional type annotations per 1,000 lines of code. This article also describes two improvements that facilitate checking much larger programs: an algorithm for annotation inference and a user interface that clarifies warnings generated by the checker. These extensions have enabled us to use the checker for identifying race conditions in large-scale software systems with up to 500,000 lines of code.
Homotopy Invariants of Higher Dimensional Categories and Concurrency in Computer Science
, 1999
"... The strict globular omega-categories formalize the execution paths of a parallel automaton and the homotopies between them. One associates to such (and any) omega-category C three homology theories. The first one is called the globular homology. It contains the oriented loops of C. The two other one ..."
Abstract
-
Cited by 47 (9 self)
- Add to MetaCart
The strict globular omega-categories formalize the execution paths of a parallel automaton and the homotopies between them. One associates to such (and any) omega-category C three homology theories. The first one is called the globular homology. It contains the oriented loops of C. The two other ones are called the negative (resp. positive) corner homology. They contain in a certain manner the branching areas of execution paths or negative corners (resp. the merging areas of execution paths or positive corners) of C. Two natural linear maps called the negative (resp. the positive) Hurewicz morphism from the globular homology to the negative (resp. positive) corner homology are constructed. We explain the reason why these constructions allow the reinterpretation of some geometric problems coming from computer science.
Presheaf Models for Concurrency
, 1999
"... In this dissertation we investigate presheaf models for concurrent computation. Our aim is to provide a systematic treatment of bisimulation for a wide range of concurrent process calculi. Bisimilarity is defined abstractly in terms of open maps as in the work of Joyal, Nielsen and Winskel. Their wo ..."
Abstract
-
Cited by 43 (19 self)
- Add to MetaCart
In this dissertation we investigate presheaf models for concurrent computation. Our aim is to provide a systematic treatment of bisimulation for a wide range of concurrent process calculi. Bisimilarity is defined abstractly in terms of open maps as in the work of Joyal, Nielsen and Winskel. Their work inspired this thesis by suggesting that presheaf categories could provide abstract models for concurrency with a built-in notion of bisimulation. We show how
TOPOLOGICAL DEFORMATION OF HIGHER DIMENSIONAL AUTOMATA
- HOMOLOGY, HOMOTOPY AND APPLICATIONS, VOL.5(2), 2003, PP.39–82
, 2003
"... A local po-space is a gluing of topological spaces which are equipped with a closed partial ordering representing the time flow. They are used as a formalization of higher dimensional automata (see for instance [6]) which model concurrent systems in computer science. It is known [11] that there are ..."
Abstract
-
Cited by 39 (16 self)
- Add to MetaCart
A local po-space is a gluing of topological spaces which are equipped with a closed partial ordering representing the time flow. They are used as a formalization of higher dimensional automata (see for instance [6]) which model concurrent systems in computer science. It is known [11] that there are two distinct notions of deformation of higher dimensional automata, “spatial” and “temporal”, leaving invariant computer scientific properties like presence or absence of deadlocks. Unfortunately, the formalization of these notions is still unknown in the general case of local po-spaces. We introduce here a particular kind of local po-space, the “globular CW-complexes”, for which we formalize these notions of deformations and which are sufficient to formalize
SOME GEOMETRIC PERSPECTIVES IN CONCURRENCY THEORY
- HOMOLOGY, HOMOTOPY AND APPLICATIONS, VOL.5(2), 2003, PP.95–136
, 2003
"... Concurrency, i.e., the domain in computer science which deals with parallel (asynchronous) computations, has very strong links with algebraic topology; this is what we are developing in this paper, giving a survey of “geometric” models for concurrency. We show that the properties we want to prove on ..."
Abstract
-
Cited by 36 (3 self)
- Add to MetaCart
Concurrency, i.e., the domain in computer science which deals with parallel (asynchronous) computations, has very strong links with algebraic topology; this is what we are developing in this paper, giving a survey of “geometric” models for concurrency. We show that the properties we want to prove on concurrent systems are stable under some form of deformation, which is almost homotopy. In fact, as the “direction ” of time matters, we have to allow deformation only as long as we do not reverse the direction of time. This calls for a new homotopy theory: “directed ” or di-homotopy. We develop some of the geometric intuition behind this theory and give some hints about the algebraic objects one can associate with it (in particular homology groups). For some historic as well as for some deeper reasons, the theory is at a stage where there is a nice blend between cubical, ω-categorical and topological techniques.
A model category for the homotopy theory of concurrency
- Homology, Homotopy and Applications
"... Abstract. We construct a cofibrantly generated model structure on the category of flows such that any flow is fibrant and such that two cofibrant flows are homotopy equivalent for this model structure if and only if they are S-homotopy equivalent. This result provides an interpretation of the notion ..."
Abstract
-
Cited by 33 (11 self)
- Add to MetaCart
Abstract. We construct a cofibrantly generated model structure on the category of flows such that any flow is fibrant and such that two cofibrant flows are homotopy equivalent for this model structure if and only if they are S-homotopy equivalent. This result provides an interpretation of the notion of S-homotopy equivalence in the framework of model
Geometry and Concurrency: A User's Guide
, 2000
"... Introduction "Geometry and Concurrency" is not yet a well-established domain of research, but is rather made of a collection of seemingly related techniques, algorithms and formalizations, coming from different application areas, accumulated over a long period of time. There is currently a certain ..."
Abstract
-
Cited by 26 (5 self)
- Add to MetaCart
Introduction "Geometry and Concurrency" is not yet a well-established domain of research, but is rather made of a collection of seemingly related techniques, algorithms and formalizations, coming from different application areas, accumulated over a long period of time. There is currently a certain amount of effort made for unifying these (in particular see the article (Gunawardena, 1994)), following the workshop "New Connections between Computer Science and Mathematics" held at the Newton Institute in Cambridge, England in November 1995 (and sponsored by HP/BRIMS). More recently, the first workshop on the very same subject has been held in Aalborg, Denmark (see http://www.math.auc.dk/~raussen/admin/workshop/workshop.html where the articles of this issue, among others, have been first sketched. But what is "Geometry and Concurrency" composed of then? It is an area of research made of techniques which use geometrical reasoning for describing and solving problems
Dihomotopy as a Tool in State Space Analysis
, 2002
"... Recent geometric methods have been used in concurrency theory for quickly finding deadlocks and unreachable states, see [14] for instance. The reason why these methods are fast is that they contain in germ ingredients for tackling the state-space explosion problem. In this paper we show how this can ..."
Abstract
-
Cited by 17 (5 self)
- Add to MetaCart
Recent geometric methods have been used in concurrency theory for quickly finding deadlocks and unreachable states, see [14] for instance. The reason why these methods are fast is that they contain in germ ingredients for tackling the state-space explosion problem. In this paper we show how this can be made formal. We also give some hints about the underlying algorithmics. Finally, we compare with other well-known methods for coping with the state-space explosion problem.

