Results 1  10
of
21
Angelic semantics of finegrained concurrency
 In Proceedings of FOSSACS ’04, number 2987 in LNCS
, 2004
"... Abstract. We introduce a game model for a procedural programming language extended with primitives for parallel composition and synchronization on binary semaphores. The model uses an interleaved version of HylandOngstyle games, where most of the original combinatorial constraints on positions are ..."
Abstract

Cited by 37 (12 self)
 Add to MetaCart
Abstract. We introduce a game model for a procedural programming language extended with primitives for parallel composition and synchronization on binary semaphores. The model uses an interleaved version of HylandOngstyle games, where most of the original combinatorial constraints on positions are replaced with a simple principle naturally related to static process creation. The model is fully abstract for mayequivalence. 1 Introduction The two major paradigms of concurrent programming are messagepassing and sharedvariable. The latter style of programming is closer to the underlying machine model, which makes it both more popular and more &quot;lowlevel &quot; (and more errorprone) than the former. This constitutes very good motivation for the study of such languages. Concurrent sharedvariable programming languages themselves can come in several varieties: Finegrained languages have designated atomic actions which are implemented directly by the hardware on which the program is executed. In contrast, coarsegrained programming languages can specify sequences of actions to appear as indivisible. Languages with static process creation execute statements in parallel and
DataAbstraction Refinement: A Game Semantic Approach
 In Proceedings of SAS, LNCS 3672
, 2005
"... Abstract. This paper presents a semantic framework for data abstraction and refinement for verifying safety properties of open programs. The presentation is focused on an Algollike programming language that incorporates data abstraction in its syntax. The fully abstract game semantics of the lang ..."
Abstract

Cited by 26 (16 self)
 Add to MetaCart
(Show Context)
Abstract. This paper presents a semantic framework for data abstraction and refinement for verifying safety properties of open programs. The presentation is focused on an Algollike programming language that incorporates data abstraction in its syntax. The fully abstract game semantics of the language is used for modelchecking safety properties, and an interactionsequencebased semantics is used for interpreting potentially spurious counterexamples and computing refined abstractions for the next iteration. 1
Compositional model extraction for higherorder concurrent programs
 In TACAS’06, Lecture Notes in Computer Science 3920
, 2006
"... Abstract. The extraction of accurate finitestate models of higherorder or open programs is a difficult problem. We show how it can be addressed using newly developed gamesemantic techniques and illustrate the solution with a modelchecking tool based on such techniques. The approach has several i ..."
Abstract

Cited by 17 (10 self)
 Add to MetaCart
(Show Context)
Abstract. The extraction of accurate finitestate models of higherorder or open programs is a difficult problem. We show how it can be addressed using newly developed gamesemantic techniques and illustrate the solution with a modelchecking tool based on such techniques. The approach has several important advantages over more traditional ones: precise account of interprocedural behaviour, concise procedure summaries and economical extracted models. 1 Introduction and
Function interface models for hardware compilation: Types, signatures, protocols
 CoRR
, 2009
"... The problem of synthesis of gatelevel descriptions of digital circuits from behavioural specifications written in higherlevel programming languages (hardware compilation) has been studied for a long time yet a definitive solution has not been forthcoming. The argument of this essay is mainly method ..."
Abstract

Cited by 10 (9 self)
 Add to MetaCart
(Show Context)
The problem of synthesis of gatelevel descriptions of digital circuits from behavioural specifications written in higherlevel programming languages (hardware compilation) has been studied for a long time yet a definitive solution has not been forthcoming. The argument of this essay is mainly methodological, bringing a perspective that is informed by recent developments in programminglanguage theory. We argue that one of the major obstacles in the way of hardware compilation becoming a useful and mature technology is the lack of a well defined function interface model, i.e. a canonical way in which functions communicate with arguments. We discuss the consequences of this problem and propose a solution based on new developments in programming language theory. We conclude by presenting a prototype implementation and some examples illustrating our principles. 1.
A game semantics of higherorder concurrency
 Proc. FSTTCS ’06, number 4337 in LNCS
, 2006
"... Abstract. We describe a denotational (game) semantics for a callbyvalue functional language with multiple threads of control, which may communicate values of general type on locally declared channels. This develops previous work which interpreted freshly generated names in a category of games acted ..."
Abstract

Cited by 9 (1 self)
 Add to MetaCart
(Show Context)
Abstract. We describe a denotational (game) semantics for a callbyvalue functional language with multiple threads of control, which may communicate values of general type on locally declared channels. This develops previous work which interpreted freshly generated names in a category of games acted upon by the group of natural number automorphisms, by showing how names may be associated with “dependent arenas ” in which interaction between strategies, corresponding to asynchronous communication on named channels, may occur. We describe a model of the callbyvalue λcalculus (a closed Freyd category) based on these arenas, and use this as the basis for interpreting our language. We prove that the semantics is fully abstract with respect to maytesting using a correspondence between channel and function types based on the “triggering ” representation of procedurepassing in terms of namepassing. 1
Syntactic Control of Interference for Separation Logic
"... Separation Logic has witnessed tremendous success in recent years in reasoning about programs that deal with heap storage. Its success owes to the fundamental principle that one should keep separate areas of the heap storage separate in program reasoning. However, the way Separation Logic deals with ..."
Abstract

Cited by 6 (1 self)
 Add to MetaCart
(Show Context)
Separation Logic has witnessed tremendous success in recent years in reasoning about programs that deal with heap storage. Its success owes to the fundamental principle that one should keep separate areas of the heap storage separate in program reasoning. However, the way Separation Logic deals with program variables continues to be based on traditional Hoare Logic without taking any benefit of the separation principle. This has led to unwieldy proof rules suffering from lack of clarity as well as questions surrounding their soundness. In this paper, we extend the separation idea to the treatment of variables in Separation Logic, especially Concurrent Separation Logic, using the system of Syntactic Control of Interference proposed by Reynolds in 1978. We extend the original system with permission algebras, making it more powerful and able to deal with the issues of concurrent programs. The result is a streamined presentation of Concurrent Separation Logic, whose rules are memorable and soundness obvious. We also include a discussion of how the new rules impact the semantics and devise static analysis techniques to infer the required permissions automatically. Categories and Subject Descriptors D.3.1 [Programming Languages]:
Bounded linear types in a resource semiring
 In European Symposium on Programming
, 2014
"... Abstract. Bounded linear types have proved to be useful for automated resource analysis and control in functional programming languages. In this paper we introduce a bounded linear typing discipline on a general notion of resource which can be modeled in a semiring. For this type system we provide b ..."
Abstract

Cited by 5 (1 self)
 Add to MetaCart
(Show Context)
Abstract. Bounded linear types have proved to be useful for automated resource analysis and control in functional programming languages. In this paper we introduce a bounded linear typing discipline on a general notion of resource which can be modeled in a semiring. For this type system we provide both a general typeinference procedure, parameterized by the decision procedure of the semiring equational theory, and a (coherent) categorical semantics. This could be a useful typetheoretic and denotational framework for resourcesensitive compilation, and it represents a generalization of several existing type systems. As a nontrivial instance, motivated by hardware compilation, we present a complex new application to calculating and controlling timing of execution in a (recursionfree) higherorder functional programming language with local store. 1 Resourceaware types and semantics The two important things about a computer program are what it computes and
Applications of Game Semantics: From Program Analysis to Hardware Synthesis
"... After informally reviewing the main concepts from game semantics and placing the development of the field in a historical context we examine its main applications. We focus in particular on finite state model checking, higher order model checking and more recent developments in hardware design. 1. C ..."
Abstract

Cited by 5 (3 self)
 Add to MetaCart
(Show Context)
After informally reviewing the main concepts from game semantics and placing the development of the field in a historical context we examine its main applications. We focus in particular on finite state model checking, higher order model checking and more recent developments in hardware design. 1. Chronology, methodology, ideology Game Semantics is a denotational semantics in the conventional sense: for any term, it assigns a certain mathematical object as its meaning, which is constructed compositionally from the meanings of its subterms in a way that is independent of the operational semantics of the object language. What makes Game Semantics particular, peculiar maybe, is that the mathematical objects it operates with
On interaction, continuations and defunctionalization
 In TLCA, volume 7941 of LNCS
, 2013
"... ..."
Verifying Data Independent Programs Using Game Semantics
"... Abstract. We address the problem of verification of program terms parameterized by a data type X, such that the only operations involving X a program can perform are to input, output, and assign values of type X, as well as to test for equality such values. Such terms are said to be data independen ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
Abstract. We address the problem of verification of program terms parameterized by a data type X, such that the only operations involving X a program can perform are to input, output, and assign values of type X, as well as to test for equality such values. Such terms are said to be data independent with respect to X. Logical relations for game semantics of terms are defined, and it is shown that the Basic Lemma holds for them. This proves that terms are predicatively parametrically polymorphic, and it provides threshold collections, i.e. sufficiently large finite interpretations of X, for the problem of verification of observationalequivalence, approximation, and safety of parameterized terms for all interpretations of X. In this way we can verify terms with data independent infinite integer types. The practicality of the approach is evaluated on several examples. 1