Type Systems for Concurrent Programs

نویسنده

  • Naoki Kobayashi
چکیده

Type systems for programming languages help reasoning about program behavior and early nding of bugs. Recent applications of type systems include analysis of various program behaviors such as side effects, resource usage, security properties, and concurrency. This paper is a tutorial of one of such applications: type systems for analyzing behavior of concurrent processes. We start with a simple type system and extend it step by step to obtain more expressive type systems to reason about deadlock-freedom, safe usage of locks, etc.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Views: Compositional Reasoning for Concurrent Programs A semantic pearl

Compositional abstractions underly many reasoning principles for concurrent programs: the concurrent environment is abstracted in order to reason about a thread in isolation; and these abstractions are composed to reason about a program consisting of many threads. For instance, separation logic uses formulae that describe part of the state, abstracting the rest; when two threads use disjoint st...

متن کامل

Type-driven Development of Concurrent Communicating Systems

Modern software systems rely on communication, for example mobile applications communicating with a central server, distributed systems coordinating a telecommunications network, or concurrent systems handling events and processes in a desktop application. However, reasoning about concurrent programs is hard, since we must reason about each process and the order in which communication might hap...

متن کامل

Type Reconstruction for Linear Pi-Calculus with I/O Subtyping

Powerful concurrency primitives in recent concurrent languages and thread libraries provide great flexibility about implementation of high-level features like concurrent objects. However, they are so low-level that they often make it difficult to check global correctness of programs or to perform non-trivial code optimization, such as elimination of redundant communication. In order to overcome...

متن کامل

Silcs { Speciication in Logic of Concurrent Systems

This paper introduces the constructive logic speciication language SILCS (Speciication In Logic of Concurrent Systems). The operational semantics of SILCS encapsulates the computational rule required for the correct interpretation of`programs' derived from Horn clause characterisations of the behaviour of concurrent systems. SILCS is expressive enough to describe many of the behaviours associat...

متن کامل

Producing Network Applications Using Object-Oriented Petri Nets

The programming language Java has become and extremely popular language; many people are writing concurrent systems using Java. The design and implementation of concurrent Java programs is significantly more complex than sequential programs and the use formal method is seen as extremely beneficial for the design and implementation of such systems. The Petri net formalism [Petri 1962] can be use...

متن کامل

On Concurrent Execution of Object{oriented Programs

In this paper, we introduce object{oriented programs as sets of communicating objects. We investigate possibilities for their concurrent execution, starting with a review of existing concurrent, object{oriented systems. Most of these systems introduce new programming{language features, forcing a programmer to control concurrency by hand. In contrast, we prefer automatic parallelization of progr...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2002