7,089 research outputs found

    Dynamic Race Prediction in Linear Time

    Full text link
    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)

    Full text link
    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)

    Full text link
    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?

    Get PDF
    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
    corecore