Dan R. Ghica - Academia.edu (original) (raw)
Papers by Dan R. Ghica
Lecture Notes in Computer Science, 2009
European Symposium on Programming, 2004
A denotational semantic model of an Algol-like programming language with local variables,providin... more A denotational semantic model of an Algol-like programming language with local variables,providing fully functional dynamic variable manipulation is presented. Alongwith the other usual language features, the standard operations with pointers, thatis reattachement and dereferencing, and dynamic variables, that is creation and assignment,are explicated using a possible worlds, functor category, location orientedmodel.It is shown that the model used to explicate local
Recent developments in game semantics have led to fully abstract models for a varietyof theoretic... more Recent developments in game semantics have led to fully abstract models for a varietyof theoretically important programming languages. While the full-blown gamemodels tend to be complex and unwieldy for practical purposes, language subsetswithout higher-order and recursive functions allow greatly simplied models. Twoprevious papers of the author show how imperative languages with rst order functions,local variables and arrays can be modeled
Higher-order and Symbolic Computation / Lisp and Symbolic Computation, 2000
This note is a historical survey of Christopher Strachey's influence on the development of se... more This note is a historical survey of Christopher Strachey's influence on the development of semantic models of assignment and storage management in procedural languages.
Lecture Notes in Computer Science, 2008
Automated software verification evolved rapidly in the last few years, culminat-ing in the develo... more Automated software verification evolved rapidly in the last few years, culminat-ing in the development of industry-strength verification toolkits such as Slam [6] and Blast [19]. These toolkits represent impressive feats of engineering, com-bining techniques from model checking [10] and ...
We explain how recent developments in game semantics can be applied to reasoning about equivalenc... more We explain how recent developments in game semantics can be applied to reasoning about equivalence of terms in a non-trivial fragment of Idealized Algol (IA) by expressing sets of complete plays as regular languages. Being derived directly from the fully abstract game semantics for IA, our model inherits its good theoretical properties; in fact, for first order IA taken as
Logic in Computer Science, 2009
After informally reviewing the main concepts from game semantics and placing the development of t... more After informally reviewing the main concepts from game semantics and placing the development of the field in a his- torical 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 con- ventional
Theoretical Computer Science, 2003
We explain how recent developments in game semantics can be applied to reasoning about equivalenc... more We explain how recent developments in game semantics can be applied to reasoning about equivalence of terms in a non-trivial fragment of Idealized Algol (IA) by expressing sets of complete plays as regular languages. Being derived directly from the fully abstract game semantics for IA, our model inherits its good theoretical properties; in fact, for second-order IA taken as a
We present a research programme dedicated to the application of Game Semantics to program analysi... more We present a research programme dedicated to the application of Game Semantics to program analysis and verification. We high- light several recent theoretical results and describe a prototypical software modeling and verification tool. The distinctive novel fea- tures of the tool are its ability to handle open programs and the fact that the models it produces are observationally fully abstract.
Tools and Algorithms for Construction and Analysis of Systems, 2004
We describe a software model checking tool founded on game semantics, highlight the underpinning ... more We describe a software model checking tool founded on game semantics, highlight the underpinning theoretical results and discuss several case studies. The tool is based on an interpretation algorithm defined compositionally on syntax and thus can also handle open programs. Moreover, the models it produces are equationally fully abstract. These features are essential in the modeling and verification of software
Lecture Notes in Computer Science, 2006
The extraction of accurate finite-state models of higher-order or open programs is a dicult probl... more The extraction of accurate finite-state models of higher-order or open programs is a dicult problem. We show how it can be addressed using newly developed game-semantic techniques and illustrate the solu- tion with a model-checking tool based on such techniques. The approach has several important advantages over more traditional ones: precise ac- count of inter-procedural behaviour, concise procedure summaries and
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '07, 2007
We propose a new technique for hardware synthesis from higher- order functional languages with im... more We propose a new technique for hardware synthesis from higher- order functional languages with imperative features based on Reynolds's Syntactic Control of Interference. The restriction on contraction in the type system is useful for managing the thorny issue of sharing of physical circuits. We use a semantic model in- spired by game semantics and the geometry of interaction, and express
Lecture Notes in Computer Science, 2011
Lecture Notes in Computer Science, 2010
Game Semantics is an approach to denotational semantics that has been successful in providing acc... more Game Semantics is an approach to denotational semantics that has been successful in providing accurate, fully abstract models for various programming languages. It has thereafter been applied, amongst other things, to model checking, access control analysis, ...
2009 24th Annual IEEE Symposium on Logic In Computer Science, 2009
Proceedings of the 32nd ACM SIGPLAN-SIGACT sysposium on Principles of programming languages - POPL '05, 2005
We present a games-based denotational semantics for a quantitative analysis of programming langua... more We present a games-based denotational semantics for a quantitative analysis of programming languages. We define a Hyland-Ong-style games framework called slot games, which consists of HO games augmented with a new action called token. We develop a slot-game model for the language Idealised Concurrent Algol by instrumenting the strategies in its HO game model with token actions. We show that the slot-game model is a denotational semantics induced by a notion of observation formalised in the operational theory of improvement of Sands, and we give a full abstraction result. A quantitative analysis of programs has many potential applications, from compiler optimisations to resource-constrained execution and static performance profiling. We illustrate several such applications with putative examples that would be nevertheless difficult, if not impossible, to handle using known operational techniques.
ACM SIGPLAN Notices, 2011
Abstract Geometry of Synthesis is a technique for compiling higher-level programming languages in... more Abstract Geometry of Synthesis is a technique for compiling higher-level programming languages into digital circuits via their game seman-tic model. Ghica (2007) first presented the key idea, then Ghica and Smith (2010) gave a provably correct compiler into asynchronous ...
Lecture Notes in Computer Science, 2009
European Symposium on Programming, 2004
A denotational semantic model of an Algol-like programming language with local variables,providin... more A denotational semantic model of an Algol-like programming language with local variables,providing fully functional dynamic variable manipulation is presented. Alongwith the other usual language features, the standard operations with pointers, thatis reattachement and dereferencing, and dynamic variables, that is creation and assignment,are explicated using a possible worlds, functor category, location orientedmodel.It is shown that the model used to explicate local
Recent developments in game semantics have led to fully abstract models for a varietyof theoretic... more Recent developments in game semantics have led to fully abstract models for a varietyof theoretically important programming languages. While the full-blown gamemodels tend to be complex and unwieldy for practical purposes, language subsetswithout higher-order and recursive functions allow greatly simplied models. Twoprevious papers of the author show how imperative languages with rst order functions,local variables and arrays can be modeled
Higher-order and Symbolic Computation / Lisp and Symbolic Computation, 2000
This note is a historical survey of Christopher Strachey's influence on the development of se... more This note is a historical survey of Christopher Strachey's influence on the development of semantic models of assignment and storage management in procedural languages.
Lecture Notes in Computer Science, 2008
Automated software verification evolved rapidly in the last few years, culminat-ing in the develo... more Automated software verification evolved rapidly in the last few years, culminat-ing in the development of industry-strength verification toolkits such as Slam [6] and Blast [19]. These toolkits represent impressive feats of engineering, com-bining techniques from model checking [10] and ...
We explain how recent developments in game semantics can be applied to reasoning about equivalenc... more We explain how recent developments in game semantics can be applied to reasoning about equivalence of terms in a non-trivial fragment of Idealized Algol (IA) by expressing sets of complete plays as regular languages. Being derived directly from the fully abstract game semantics for IA, our model inherits its good theoretical properties; in fact, for first order IA taken as
Logic in Computer Science, 2009
After informally reviewing the main concepts from game semantics and placing the development of t... more After informally reviewing the main concepts from game semantics and placing the development of the field in a his- torical 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 con- ventional
Theoretical Computer Science, 2003
We explain how recent developments in game semantics can be applied to reasoning about equivalenc... more We explain how recent developments in game semantics can be applied to reasoning about equivalence of terms in a non-trivial fragment of Idealized Algol (IA) by expressing sets of complete plays as regular languages. Being derived directly from the fully abstract game semantics for IA, our model inherits its good theoretical properties; in fact, for second-order IA taken as a
We present a research programme dedicated to the application of Game Semantics to program analysi... more We present a research programme dedicated to the application of Game Semantics to program analysis and verification. We high- light several recent theoretical results and describe a prototypical software modeling and verification tool. The distinctive novel fea- tures of the tool are its ability to handle open programs and the fact that the models it produces are observationally fully abstract.
Tools and Algorithms for Construction and Analysis of Systems, 2004
We describe a software model checking tool founded on game semantics, highlight the underpinning ... more We describe a software model checking tool founded on game semantics, highlight the underpinning theoretical results and discuss several case studies. The tool is based on an interpretation algorithm defined compositionally on syntax and thus can also handle open programs. Moreover, the models it produces are equationally fully abstract. These features are essential in the modeling and verification of software
Lecture Notes in Computer Science, 2006
The extraction of accurate finite-state models of higher-order or open programs is a dicult probl... more The extraction of accurate finite-state models of higher-order or open programs is a dicult problem. We show how it can be addressed using newly developed game-semantic techniques and illustrate the solu- tion with a model-checking tool based on such techniques. The approach has several important advantages over more traditional ones: precise ac- count of inter-procedural behaviour, concise procedure summaries and
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '07, 2007
We propose a new technique for hardware synthesis from higher- order functional languages with im... more We propose a new technique for hardware synthesis from higher- order functional languages with imperative features based on Reynolds's Syntactic Control of Interference. The restriction on contraction in the type system is useful for managing the thorny issue of sharing of physical circuits. We use a semantic model in- spired by game semantics and the geometry of interaction, and express
Lecture Notes in Computer Science, 2011
Lecture Notes in Computer Science, 2010
Game Semantics is an approach to denotational semantics that has been successful in providing acc... more Game Semantics is an approach to denotational semantics that has been successful in providing accurate, fully abstract models for various programming languages. It has thereafter been applied, amongst other things, to model checking, access control analysis, ...
2009 24th Annual IEEE Symposium on Logic In Computer Science, 2009
Proceedings of the 32nd ACM SIGPLAN-SIGACT sysposium on Principles of programming languages - POPL '05, 2005
We present a games-based denotational semantics for a quantitative analysis of programming langua... more We present a games-based denotational semantics for a quantitative analysis of programming languages. We define a Hyland-Ong-style games framework called slot games, which consists of HO games augmented with a new action called token. We develop a slot-game model for the language Idealised Concurrent Algol by instrumenting the strategies in its HO game model with token actions. We show that the slot-game model is a denotational semantics induced by a notion of observation formalised in the operational theory of improvement of Sands, and we give a full abstraction result. A quantitative analysis of programs has many potential applications, from compiler optimisations to resource-constrained execution and static performance profiling. We illustrate several such applications with putative examples that would be nevertheless difficult, if not impossible, to handle using known operational techniques.
ACM SIGPLAN Notices, 2011
Abstract Geometry of Synthesis is a technique for compiling higher-level programming languages in... more Abstract Geometry of Synthesis is a technique for compiling higher-level programming languages into digital circuits via their game seman-tic model. Ghica (2007) first presented the key idea, then Ghica and Smith (2010) gave a provably correct compiler into asynchronous ...