کد مقاله کد نشریه سال انتشار مقاله انگلیسی نسخه تمام متن
432614 688991 2014 27 صفحه PDF دانلود رایگان
عنوان انگلیسی مقاله ISI
Deadlock checking by data race detection
ترجمه فارسی عنوان
بررسی خرابی با تشخیص نژاد داده
موضوعات مرتبط
مهندسی و علوم پایه مهندسی کامپیوتر نظریه محاسباتی و ریاضیات
چکیده انگلیسی


• We reduce the problem of checking deadlocks of arbitrary cycle length to data race checking.
• Our approach widens the applicability of state-of-the-art static race checkers.
• Our type and effect-based static analysis infers lock usage, which is used to transform the program.
• We prove our analysis sound using a simple, concurrent calculus with re-entrant, non-block structured locks.
• We provide some empirical evidence by using the “Goblint” race checker.

Deadlocks are a common problem in programs with lock-based concurrency and are hard to avoid or even to detect. One way for deadlock prevention is to statically analyse the program code to spot sources of potential deadlocks.We reduce the problem of deadlock checking to data race checking, another prominent concurrency-related error for which good (static) checking tools exist. The transformation uses a type and effect-based static analysis, which analyses the data flow in connection with lock handling to find out control-points which are potentially part of a deadlock. These control-points are instrumented appropriately with additional shared variables, i.e., race variables injected for the purpose of the race analysis. To avoid overly many false positives for deadlock cycles of length longer than two, the instrumentation is refined by adding “gate locks”. The type and effect system, and the transformation are formally given. We prove our analysis sound using a simple, concurrent calculus with re-entrant locks.

ناشر
Database: Elsevier - ScienceDirect (ساینس دایرکت)
Journal: Journal of Logical and Algebraic Methods in Programming - Volume 83, Issues 5–6, September–November 2014, Pages 400–426
نویسندگان
, , ,