7,089 research outputs found
Dynamic Race Prediction in Linear Time
Writing reliable concurrent software remains a huge challenge for today's
programmers. Programmers rarely reason about their code by explicitly
considering different possible inter-leavings of its execution. We consider the
problem of detecting data races from individual executions in a sound manner.
The classical approach to solving this problem has been to use Lamport's
happens-before (HB) relation. Until now HB remains the only approach that runs
in linear time. Previous efforts in improving over HB such as causally-precedes
(CP) and maximal causal models fall short due to the fact that they are not
implementable efficiently and hence have to compromise on their race detecting
ability by limiting their techniques to bounded sized fragments of the
execution. We present a new relation weak-causally-precedes (WCP) that is
provably better than CP in terms of being able to detect more races, while
still remaining sound. Moreover it admits a linear time algorithm which works
on the entire execution without having to fragment it.Comment: 22 pages, 8 figures, 1 algorithm, 1 tabl
Sound Static Deadlock Analysis for C/Pthreads (Extended Version)
We present a static deadlock analysis approach for C/pthreads. The design of
our method has been guided by the requirement to analyse real-world code. Our
approach is sound (i.e., misses no deadlocks) for programs that have defined
behaviour according to the C standard, and precise enough to prove
deadlock-freedom for a large number of programs. The method consists of a
pipeline of several analyses that build on a new context- and thread-sensitive
abstract interpretation framework. We further present a lightweight dependency
analysis to identify statements relevant to deadlock analysis and thus speed up
the overall analysis. In our experimental evaluation, we succeeded to prove
deadlock-freedom for 262 programs from the Debian GNU/Linux distribution with
in total 2.6 MLOC in less than 11 hours
Efficient, Near Complete and Often Sound Hybrid Dynamic Data Race Prediction (extended version)
Dynamic data race prediction aims to identify races based on a single program
run represented by a trace. The challenge is to remain efficient while being as
sound and as complete as possible. Efficient means a linear run-time as
otherwise the method unlikely scales for real-world programs. We introduce an
efficient, near complete and often sound dynamic data race prediction method
that combines the lockset method with several improvements made in the area of
happens-before methods. By near complete we mean that the method is complete in
theory but for efficiency reasons the implementation applies some optimizations
that may result in incompleteness. The method can be shown to be sound for two
threads but is unsound in general. We provide extensive experimental data that
shows that our method works well in practice.Comment: typos, appendi
To Act Or Not To Act: Will New York\u27s Defeated Death Penalty Be Resurrected?
Capital punishment has always been a topic of controversy in the United States. The debate about the death penalty, its value as a way to permanently incapacitate society\u27s most dangerous criminals and its effectiveness as a deterrent to violent crime, has increased. This phenomenon is particularly visible in New York State, where, in 2004, the New York Court of Appeals struck down the State\u27s death penalty statute as invalid under the New York Constitution. This Note describes the evolution of New York\u27s 1995 death penalty statute, analyzing the way in which the state legislature could respond to the statute\u27s unconstitutionality, and recommends that the legislature end the current debate over the future of capital punishment in New York by abolishing the death penalty. Part I describes the evolution of death penalty legislation at the federal level and within New York State. Part I further discusses the legislative reaction to the statute\u27s invalidation and describes the current debate in New York about the continued desirability of capital punishment. Part II presents the legislative alternatives of either amending or abolishing New York\u27s death penalty statute and discusses the arguments for and against each option. Finally, Part III argues that despite the challenges involved in either amending and reinstating the death penalty or abolishing it, the legislature should not allow the statute simply to remain inoperable by fault. This note concludes that given the need for action, the State Legislature should move to abolish the death penalty in New York
- …