کد مقاله کد نشریه سال انتشار مقاله انگلیسی نسخه تمام متن
433185 1441638 2015 34 صفحه PDF دانلود رایگان
عنوان انگلیسی مقاله ISI
Cooperative types for controlling thread interference in Java
ترجمه فارسی عنوان
نوع تعاونی برای کنترل تداخل موضوع در جاوا
کلمات کلیدی
همکاری، همبستگی، نوع سیستم ها
موضوعات مرتبط
مهندسی و علوم پایه مهندسی کامپیوتر نظریه محاسباتی و ریاضیات
چکیده انگلیسی

Multithreaded programs are notoriously prone to unintended interference between concurrent threads. To address this problem, we argue that yield annotations in the source code should document all thread interference, and we present a type system for verifying the absence of undocumented interference in Java programs. Under this type system, well-typed programs behave as if context switches occur only at yield annotations. Thus, well-typed programs can be understood using intuitive sequential reasoning, except where yield annotations remind the programmer to account for thread interference.Experimental results show that yield annotations describe thread interference more precisely than prior techniques based on method-level atomicity specifications. In particular, yield annotations reduce the number of interference points one must reason about by an order of magnitude. The type system is also more precise than prior methods targeting race freedom, and yield annotations highlight all known concurrency defects in our benchmarks.The type system reasons about program behavior modularly via method-level specifications. To alleviate the programmer burden of writing these specifications, we extend our system to support method specification inference, which makes our technique more practical for large code bases.

ناشر
Database: Elsevier - ScienceDirect (ساینس دایرکت)
Journal: Science of Computer Programming - Volume 112, Part 3, 15 November 2015, Pages 227–260
نویسندگان
, , , ,