کد مقاله کد نشریه سال انتشار مقاله انگلیسی نسخه تمام متن
433262 1441653 2015 33 صفحه PDF دانلود رایگان
عنوان انگلیسی مقاله ISI
Shared contract-obedient channels
ترجمه فارسی عنوان
کانال های قابل قبول قراردادی
کلمات کلیدی
تأیید برنامه، پیام عبور، کانال های خطی منطق جداسازی
موضوعات مرتبط
مهندسی و علوم پایه مهندسی کامپیوتر نظریه محاسباتی و ریاضیات
چکیده انگلیسی


• We introduce a program logic that marries separation logic and communication contracts.
• Communication contracts specify how two endpoints interact.
• We explain how one endpoint can be shared between threads and still obey with a communication contract.

Recent advances in the formal verification of message-passing programs are based on proving that programs correctly implement a given protocol. Many existing verification techniques for message-passing programs assume that at most one thread may attempt to send or receive on a channel endpoint at any given point in time, and expressly forbid endpoint sharing. Approaches that do allow such sharing often do not prove that channels obey their protocols. In this paper, we identify two principles that can guarantee obedience to a communication protocol even in the presence of endpoint sharing. Firstly, threads may concurrently use an endpoint in any way that does not advance the state of the protocol. Secondly, threads may compete for receiving on an endpoint provided that the successful reception of the message grants them ownership of that endpoint retrospectively. We develop a program logic based on separation logic that unifies these principles and allows fine-grained reasoning about endpoint-sharing programs. We demonstrate its applicability on a number of examples. The program logic is shown sound against an operational semantics of programs, and proved programs are guaranteed to follow the given protocols and to be free of data races, memory leaks, and communication errors.

ناشر
Database: Elsevier - ScienceDirect (ساینس دایرکت)
Journal: Science of Computer Programming - Volume 100, 15 March 2015, Pages 28–60
نویسندگان
, ,