4 research outputs found

    Static Trace-Based Deadlock Analysis for Synchronous Mini-Go

    Full text link
    We consider the problem of static deadlock detection for programs in the Go programming language which make use of synchronous channel communications. In our analysis, regular expressions extended with a fork operator capture the communication behavior of a program. Starting from a simple criterion that characterizes traces of deadlock-free programs, we develop automata-based methods to check for deadlock-freedom. The approach is implemented and evaluated with a series of examples

    A Refinement Logic for the Fork Calculus

    No full text
    The Fork Calculus FC presents a theory of communicating systems in family with CCS, but it differs in the way that processes are put in parallel. In CCS there is a binary parallel operator j, whereas FC contains a unary fork operator. We provide FC with an operational semantics, together with a congruence relation between processes. Further, a refinement logic for program specification and design is presented. In this logic it is possible to freely mix programming constructs with specification constructs, thereby allowing us to define a compositional proof system. The proof rules of this system are applied to a non-trivial example. 1 Introduction One goal for work within program specification is to provide a theory for the formal refinement of specifications into programs via sequences of verified-correct development steps. In this paper we shall pursue this goal by focusing on specification and stepwise refinement into programs in the Fork Calculus. The Fork Calculus, FC, first pre..

    Optimization of the Coupling of Target Recognition and Signal Generation

    No full text
    corecore