VLDB 2026 Research / reviewers in the wild / expert
Dan R. Ghica
dblp:g/DanRGhica
· DBLP profile ↗
54ranked-venue papers
28as first author
14since 2021 · last 2026
0000-0002-4003-8893ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Theory of computation · 35 · 20 first-author · 12 since 2021Software engineering, systems software and programming languages · 21 · 12 first-author · 3 since 2021Systems, architecture and hardware · 4Databases, data management, data science and information retrieval · 1 · 1 since 2021
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | Rewriting Modulo Traced Comonoid StructureabstractIn this paper we adapt previous work on rewriting string diagrams using hypergraphs to the case where the underlying category has a traced comonoid structure, in which wires can be forked and the outputs of a morphism can be connected to its input. Such a structure is particularly interesting because any traced Cartesian (dataflow) category has an underlying traced comonoid structure. We show that certain subclasses of hypergraphs are fully complete for traced comonoid categories: that is to say, every term in such a category has a unique corresponding hypergraph up to isomorphism, and from every hypergraph with the desired properties, a unique term in the category can be retrieved up to the axioms of traced comonoid categories. We also show how the framework of double pushout rewriting (DPO) can be adapted for traced comonoid categories by characterising the valid pushout complements for rewriting in our setting. We conclude by presenting a case study in the form of recent work on an equational theory for sequential circuits: circuits built from primitive logic gates with delay and feedback. The graph rewriting framework allows for the definition of an operational semantics for sequential circuits. Dan R. Ghica, George Kaye |
Log. Methods Comput. Sci. | 1 |
| 2026 | A Complete Theory of Sequential Digital Circuits: Denotational, Operational and Algebraic SemanticsabstractDigital circuits, despite having been studied for nearly a century and used at scale for about half that time, have until recently evaded a fully compositional theoretical in which arbitrary circuits may be freely composed together without consulting their internals. Recent work remedied this theoretical shortcoming by showing how digital circuits can be presented compositionally as morphisms in a freely generated symmetric traced category. However, this was done informally; in this paper we refine and expand the previous work in several ways, culminating in the presentation of three sound and complete semantics for digital circuits: denotational, operational and algebraic. For the denotational semantics, we establish a correspondence between stream functions with certain properties and circuits constructed syntactically. For the operational semantics, we present the reductions required to model how a circuit processes a value, including the addition of a new reduction for eliminating non-delay-guarded feedback; this leads to an adequate notion of observational equivalence for digital circuits. Finally, we define a new family of equations for translating circuits into bisimilar circuits of a 'normal form', leading to a complete algebraic semantics for sequential circuits. Dan R. Ghica, George Kaye, David Sprunger |
Log. Methods Comput. Sci. | 1 |
| 2025 | Rewriting for Traced Monoidal Closed Categories
Alessandro Di Giorgio 0002, Dan R. Ghica, Fabio Zanasi |
ICGT | 2 |
| 2025 | Equivalence Hypergraphs: DPO Rewriting for Monoidal E-GraphsabstractThe technique of equality saturation, which equips graphs with an equivalence relation, has proven effective for program optimisation. We give a categorical semantics to these structures, called e-graphs, in terms of Cartesian categories enriched over the category of semilattices. This approach generalises to monoidal categories, which opens the door to new applications of e-graph techniques, from algebraic to monoidal theories. Finally, we present a sound and complete combinatorial representation of morphisms in such a category, based on a generalisation of hypergraphs which we call e-hypergraphs. They have the usual advantage that many of their structural equations are absorbed into a general notion of isomorphism. This new principled approach to e-graphs enables double-pushout (DPO) rewriting for these structures, which constitutes the main contribution of this paper. Aleksei Tiurin, Dan R. Ghica, Nick Hu |
LICS | 3 |
| 2025 | Closure Conversion, Flat Environments, and the Complexity of Abstract MachinesabstractClosure conversion is a program transformation at work in compilers for functional languages to turn inner functions into global ones, by building closures pairing the transformed functions with the environment of their free variables. Abstract machines rely on similar and yet different concepts of closures and environments. We study the relationship between the two approaches. We adopt a simple λ -calculus with tuples as source language and study abstract machines for both the source language and the target of closure conversion. Moreover, we focus on the simple case of flat closures/environments (no sharing of environments). We provide three contributions. Firstly, a new simple proof technique for the correctness of closure conversion, inspired by abstract machines. Secondly, we show how the closure invariants of the target language allow us to design a new way of handling environments in abstract machines, not suffering the shortcomings of other styles. Beniamino Accattoli, Cláudio Belo Lourenço, Dan R. Ghica, Giulio Guerrieri, Claudio Sacerdoti Coen |
PPDP | 3 |
| 2025 | A robust graph-based approach to observational equivalenceabstractWe propose a new step-wise approach to proving observational equivalence, and in particular reasoning about fragility of observational equivalence. Our approach is based on what we call local reasoning. The local reasoning exploits the graphical concept of neighbourhood, and it extracts a new, formal, concept of robustness as a key sufficient condition of observational equivalence. Moreover, our proof methodology is capable of proving a generalised notion of observational equivalence. The generalised notion can be quantified over syntactically restricted contexts instead of all contexts, and also quantitatively constrained in terms of the number of reduction steps. The operational machinery we use is given by a hypergraph-rewriting abstract machine inspired by Girard's Geometry of Interaction. The behaviour of language features, including function abstraction and application, is provided by hypergraph-rewriting rules. We demonstrate our proof methodology using the call-by-value lambda-calculus equipped with (higher-order) state. Dan R. Ghica, Koko Muroya, Todd Waugh Ambridge |
Log. Methods Comput. Sci. | 1 |
| 2024 | String diagrams for Strictification and CoherenceabstractWhereas string diagrams for strict monoidal categories are well understood, and have found application in several fields of Computer Science, graphical formalisms for non-strict monoidal categories are far less studied. In this paper, we provide a presentation by generators and relations of string diagrams for non-strict monoidal categories, and show how this construction can handle applications in domains such as digital circuits and programming languages. We prove the correctness of our construction, which yields a novel proof of Mac Lane's strictness theorem. This in turn leads to an elementary graphical proof of Mac Lane's coherence theorem, and in particular allows for the inductive construction of the canonical isomorphisms in a monoidal category. Paul W. Wilson 0002, Dan R. Ghica, Fabio Zanasi |
Log. Methods Comput. Sci. | 2 |
| 2024 | Effect Handlers for C via CoroutinesabstractEffect handlers provide a structured means for implementing user-defined, composable, and customisable computational effects, ranging from exceptions to generators to lightweight threads. We introduce libseff , a novel effect handlers library for C, based on coroutines. Whereas prior effect handler libraries for C are intended primarily as compilation targets, libseff is intended to be used directly from C programs. As such, the design of libseff parts ways from traditional effect handler implementations, both by using mutable coroutines as the main representation of pending computations, and by avoiding closures as handlers by way of reified effects. We show that the performance of libseff is competitive across a range of platforms and benchmarks. Mario Alvarez-Picallo, Teodoro Freund, Dan R. Ghica, Sam Lindley |
Proc. ACM Program. Lang. | 3 |
| 2023 | String Diagrams for Non-Strict Monoidal CategoriesabstractWhereas string diagrams for strict monoidal categories are well understood, and have found application in several fields of Computer Science, graphical formalisms for non-strict monoidal categories are far less studied. In this paper, we provide a presentation by generators and relations of string diagrams for non-strict monoidal categories, and show how this construction can handle applications in domains such as digital circuits and programming languages. We prove the correctness of our construction, which yields a novel proof of Mac Lane's strictness theorem. This in turn leads to an elementary graphical proof of Mac Lane's coherence theorem, and in particular allows for the inductive construction of the canonical isomorphisms in a monoidal category. Paul W. Wilson 0002, Dan R. Ghica, Fabio Zanasi |
CSL | 2 |
| 2023 | Functorial String Diagrams for Reverse-Mode Automatic DifferentiationabstractDiffSharp is an algorithmic differentiation or automatic differentiation (AD) library for the .NET ecosystem, which is targeted by the C# and F# languages, among others. The library has been designed with machine learning applications in mind, allowing very succinct implementations of models and optimization routines. DiffSharp is implemented in F# and exposes forward and reverse AD operators as general nestable higher-order functions, usable by any .NET language. It provides high-performance linear algebra primitives---scalars, vectors, and matrices, with a generalization to tensors underway---that are fully supported by all the AD operators, and which use a BLAS/LAPACK backend via the highly optimized OpenBLAS library. DiffSharp currently uses operator overloading, but we are developing a transformation-based version of the library using F#'s "code quotation" metaprogramming facility. Work on a CUDA-based GPU backend is also underway. Mario Alvarez-Picallo, Dan R. Ghica, David Sprunger, Fabio Zanasi |
CSL | 2 |
| 2023 | Rewriting Modulo Traced Comonoid Structure
Dan R. Ghica, George Kaye |
FSCD | 1 |
| 2022 | Rewriting for Monoidal Closed CategoriesabstractThis paper develops a formal string diagram language for monoidal closed categories. Previous work has shown that string diagrams for freely generated symmetric monoidal categories can be viewed as hypergraphs with interfaces, and the axioms of these categories can be realized by rewriting systems. This work proposes hierarchical hypergraphs as a suitable formalization of string diagrams for monoidal closed categories. We then show double pushout rewriting captures the axioms of these closed categories. Mario Alvarez-Picallo, Dan R. Ghica, David Sprunger, Fabio Zanasi |
FSCD | 2 |
| 2022 | High-level effect handlers in C++abstractEffect handlers allow the programmer to implement computational effects, such as custom error handling, various forms of lightweight concurrency, and dynamic binding, inside the programming language. We introduce cpp-effects, a C++ library for effect handlers with a typed high-level, object-oriented interface. We demonstrate that effect handlers can be successfully applied in imperative systems programming languages with manual memory management. Through a collection of examples, we explore how to program effectively with effect handlers in C++, discuss the intricacies and challenges of the implementation, and show that despite its limitations, cpp-effects performance is competitive and in some cases even outperforms state-of-the-art approaches such as C++20 coroutines and the libmprompt library for multiprompt delimited control. Dan R. Ghica, Sam Lindley, Marcos Maronas, Maciej Piróg |
Proc. ACM Program. Lang. | 1 |
| 2021 | Global Optimisation with Constructive RealsabstractWe draw new connections between deterministic, complete, and general global optimisation of continuous functions and a generalised notion of regression, using constructive type theory and computable real numbers. Using this foundation we formulate novel convergence criteria for regression, derived from the convergence properties of global optimisations. We see this as possibly having an impact on optimisation-based computational sciences, which include much of machine learning. Using computable reals, as opposed to floating-point representations, we can give strong theoretical guarantees in terms of both precision and termination. The theory is fully formalised using the safe mode of the proof assistant AGDA. Some examples implemented using an off-the-shelf constructive reals library in JAVA indicate that the approach is algorithmically promising. Dan R. Ghica, Todd Waugh Ambridge |
LICS | 1 |
| 2019 | The Dynamic Geometry of Interaction Machine: A Token-Guided Graph RewriterabstractIn implementing evaluation strategies of the lambda-calculus, both correctness and efficiency of implementation are valid concerns. While the notion of correctness is determined by the evaluation strategy, regarding efficiency there is a larger design space that can be explored, in particular the trade-off between space versus time efficiency. Aiming at a unified framework that would enable the study of this trade-off, we introduce an abstract machine, inspired by Girard's Geometry of Interaction (GoI), a machine combining token passing and graph rewriting. We show soundness and completeness of our abstract machine, called the Dynamic GoI Machine (DGoIM), with respect to three evaluations: call-by-need, left-to-right call-by-value, and right-to-left call-by-value. Analysing time cost of its execution classifies the machine as "efficient" in Accattoli's taxonomy of abstract machines. Koko Muroya, Dan R. Ghica |
Log. Methods Comput. Sci. | 2 |
| 2018 | The Geometry of Computation-Graph AbstractionabstractThe popular library TENSORFLOW (TF) has familiarised the mainstream of machine-learning community with programming language concepts such as data-flow computing and automatic differentiation. Additionally, it has introduced some genuinely new syntactic and semantic programming concepts. In this paper we study one such new concept, the ability to extract and manipulate the state of a computation graph. This feature allows the convenient specification of parameterised models by freeing the programmer of the bureaucracy of parameter management, while still permitting the use of generic, model-independent, search and optimisation algorithms. We study this new language feature, which we call 'graph abstraction' in the context of the call-by-value lambda calculus, using the recently developed Dynamic Geometry of Interaction formalism. We give a simple type system guaranteeing the safety of graph abstraction, and we also show the safety of critical language properties such as garbage collection and the beta law. The semantic model suggests that the feature could be implemented in a general-purpose functional language reasonably efficiently. Koko Muroya, Steven Cheung, Dan R. Ghica |
LICS | 3 |
| 2017 | Diagrammatic Semantics for Digital CircuitsabstractWe introduce a general diagrammatic theory of digital circuits, based on connections between monoidal categories and graph rewriting. The main achievement of the paper is conceptual, filling a foundational gap in reasoning syntactically and symbolically about a large class of digital circuits (discrete values, discrete delays, feedback). This complements the dominant approach to circuit modelling, which relies on simulation. The main advantage of our symbolic approach is the enabling of automated reasoning about parametrised circuits, with a potentially interesting new application to partial evaluation of digital circuits. Relative to the recent interest and activity in categorical and diagrammatic methods, our work makes several new contributions. The most important is establishing that categories of digital circuits are Cartesian and admit, in the presence of feedback expressive iteration axioms. The second is producing a general yet simple graph-rewrite framework for reasoning about such categories in which the rewrite rules are computationally efficient, opening the way for practical applications. Dan R. Ghica, Achim Jung, Aliaume Lopez |
CSL | 1 |
| 2017 | The Dynamic Geometry of Interaction Machine: A Call-by-Need Graph RewriterabstractGirard's Geometry of Interaction (GoI), a semantics designed for linear logic proofs, has been also successfully applied to programming languages. One way is to use abstract machines that pass a token in a fixed graph, along a path indicated by the GoI. These token-passing abstract machines are space efficient, because they handle duplicated computation by repeating the same moves of a token on the fixed graph. Although they can be adapted to obtain sound models with regard to the equational theories of various evaluation strategies for the lambda calculus, it can be at the expense of significant time costs. In this paper we show a token-passing abstract machine that can implement evaluation strategies for the lambda calculus, with certified time efficiency. Our abstract machine, called the Dynamic GoI Machine (DGoIM), rewrites the graph to avoid replicating computation, using the token to find the redexes. The flexibility of interleaving token transitions and graph rewriting allows the DGoIM to balance the trade-off of space and time costs. This paper shows that the DGoIM can implement call-by-need evaluation for the lambda calculus by using a strategy of interleaving token passing with as much graph rewriting as possible. Our quantitative analysis confirms that the DGoIM with this strategy of interleaving the two kinds of possible operations on graphs can be classified as “efficient” following Accattoli’s taxonomy of abstract machines. Koko Muroya, Dan R. Ghica |
CSL | 2 |
| 2016 | Categorical semantics of digital circuitsabstractThis paper proposes a categorical theory of digital circuits based on monoidal categories and graph rewriting. The main goal of this paper is conceptual: to fill a foundational gap in reasoning about digital circuits, which is currently almost exclusively semantic (simulations). The level of abstraction we target is circuits with discrete signal levels, discrete time, and explicit delays, which is appropriate for modelling a range of components such as boolean gates or transistors working in saturation mode. We start with an algebraic signature consisting of the basic electronic components of a given class of circuits and extend it gradually (and in a free way) with further algebraic structure (representing circuit combinations, delays, and feedback), while quotienting it with a notion of equivalence corresponding to input-output observability. Using well-known results about the correspondence between free monoidal categories and graph-like structures we can develop, in a principled way, a graph rewriting system which is shown to be useful in reasoning about such circuits. We illustrate the power of our system by reasoning equationally about a challenging class of circuits: combinational circuits with feedback. Dan R. Ghica, Achim Jung |
FMCAD | 1 |
| 2015 | Leaving the Nest: Nominal Techniques for Variables with Interleaving ScopesabstractWe examine the key syntactic and semantic aspects of a nominal framework allowing scopes of name bindings to be arbitrarily interleaved. Name binding (e.g. delta x.M) is handled by explicit name-creation and name-destruction brackets (e.g. ) which admit interleaving. We define an appropriate notion of alpha-equivalence for such a language and study the syntactic structure required for alpha-equivalence to be a congruence. We develop denotational and categorical semantics for dynamic binding and provide a generalised nominal inductive reasoning principle. We give several standard synthetic examples of working with dynamic sequences (e.g. substitution) and we sketch out some preliminary applications to game semantics and trace semantics. Murdoch James Gabbay, Dan R. Ghica, Daniela Petrisan |
CSL | 2 |
| 2015 | Transparent linking of compiled software and synthesized hardware
David B. Thomas, Shane T. Fleming, George A. Constantinides, Dan R. Ghica |
DATE | 4 |
| 2015 | System-level Linking of Synthesised Hardware and Compiled Software Using a Higher-order Type SystemabstractDevices with tightly coupled CPUs and FPGA logic allow for the implementation of heterogeneous applications which combine multiple components written in hardware and software languages, including first-party source code and third-party IP. Flexibility in component relationships is important, so that the system designer can move components between software and hardware as the application design evolves. This paper presents a system-level type system and linker, which allows functions in software and hardware components to be directly linked at link time, without requiring any modification or recompilation of the components. The type system is designed to be language agnostic, and exhibits higher-order features, to enables design patterns such as notifications and callbacks to software from within hardware functions. We demonstrate the system through a number of case studies which link compiled software against synthesised hardware in the Xilinx Zynq platform. Shane T. Fleming, David B. Thomas, George A. Constantinides, Dan R. Ghica |
FPGA | 4 |
| 2015 | PushPush: Seamless integration of hardware and software objects via function calls over AXIabstractFPGA systems are moving towards a system-on-chip model, both at the architectural level and in the development tools. Developers are able to design and implement IP using a mixture of HLS, RTL, and software, then integrate them with third-party IP cores and hardened CPUs using one or more shared memory buses. This allows functionality to be easily connected together at the bus level, but accessing IP core functionality requires designers to support each component's protocol and co-ordinate hardware from a CPU. This paper presents a protocol called PushPush, which allows HLS, RTL, and software components to expose functionality as strongly typed functions, and allows any component to access functions exposed by any other component in the system. The protocol is designed for maximum efficiency in memory buses such as AXI and Avalon, reducing each function call to two burst writes delivering both data and control, minimising bus traffic and eliminating the need for global polling or interrupt delivery. We demonstrate this approach in a Zynq environment, using components written in C++ (ARM/Linux), C (Microblaze), Vivado HLS (Logic), and Verity (Logic). We show that any component can call functions exposed by any other component, without knowing where or how that function is located. Performance is at least 1 million function calls/sec between any pair of components, and rises to 4 million function calls/sec between pairs of Vivado HLS components. Shane T. Fleming, Ivan Beretta, David B. Thomas, George A. Constantinides, Dan R. Ghica |
FPL | 5 |
| 2014 | Bounded Linear Types in a Resource Semiring
Dan R. Ghica, Alex I. Smith |
ESOP | 1 |
| 2014 | Compiling Higher Order Functional Programs to Composable Digital HardwareabstractThis work demonstrates the capabilities of a high-level synthesis tool-chain that allows the compilation of higher order functional programs to gate-level hardware descriptions. Higher order programming allows functions to take functions as parameters. In a hardware context, the latency-insensitive interfaces generated between compiled modules enable late-binding with libraries of pre-existing functions at the place-and-route compilation stage. We demonstrate the completeness and utility of our approach using a case study; a recursive k-means clustering algorithm. The algorithm features complex data-dependent control flow and opportunities to exploit both coarse and fine-grained parallelism. Eduardo Aguilar-Pelaez, Samuel Bayliss, Alex I. Smith, Felix Winterstein, Dan R. Ghica, David B. Thomas, George A. Constantinides |
FCCM | 5 |
| 2014 | Krivine nets: a semantic foundation for distributed executionabstractWe define a new approach to compilation to distributed architectures based on networks of abstract machines. Using it we can implement a generalised and fully transparent form of Remote Procedure Call that supports calling higher-order functions across node boundaries, without sending actual code. Our starting point is the classic Krivine machine, which implements reduction for untyped call-by-name PCF. We successively add the features that we need for distributed execution and show the correctness of each addition. Then we construct a two-level operational semantics, where the high level is a network of communicating machines, and the low level is given by local machine transitions. Using these networks, we arrive at our final system, the Krivine Net. We show that Krivine Nets give a correct distributed implementation of the Krivine machine, which preserves both termination and non-termination properties. All the technical results have been formalised and proved correct in Agda. We also implement a prototype compiler which we compare with previous distributing compilers based on Girard's Geometry of Interaction and on Game Semantics. Olle Fredriksson, Dan R. Ghica |
ICFP | 2 |
| 2013 | Abstract Machines for Game Semantics, RevisitedabstractWe define new abstract machines for game semantics which correspond to networks of conventional computers, and can be used as an intermediate representation for compilation targeting distributed systems. This is achieved in two steps. First we introduce the HRAM, a Heap and Register Abstract Machine, an abstraction of a conventional computer, which can be structured into HRAM nets, an abstract point-to-point network model. HRAMs are multi-threaded and subsume communication by tokens (cf. IAM) or jumps. Game Abstract Machines (GAM), are HRAMs with additional structure at the interface level, but no special operational capabilities. We show that GAMs cannot be naively composed, but composition must be mediated using appropriate HRAM combinators. HRAMs are flexible enough to allow the representation of game models for languages with state (non-innocent games) or concurrency (non-alternating games). We illustrate the potential of this technique by implementing a toy distributed compiler for ICA, a higher-order programming language with shared state concurrency, thus significantly extending our previous distributed PCF compiler. We show that compilation is sound and memory-safe, i.e. no (distributed or local) garbage collection is necessary. Olle Fredriksson, Dan R. Ghica |
LICS | 2 |
| 2013 | Foreword
Samson Abramsky, Dan R. Ghica |
Ann. Pure Appl. Log. | 2 |
| 2012 | The Geometry of Synthesis - How to Make Hardware Out of Software
Dan R. Ghica |
MPC | 1 |
| 2011 | Synchronous Game Semantics via Round Abstraction
Dan R. Ghica, Mohamed Nabih Menaa |
FoSSaCS | 1 |
| 2011 | Geometry of synthesis iv: compiling affine recursion into static hardwareabstractAbramsky's Geometry of Interaction interpretation (GoI) is a logical-directed way to reconcile the process and functional views of computation, and can lead to a dataflow-style semantics of programming languages that is both operational (i.e. effective) and denotational (i.e. inductive on the language syntax). The key idea of Ghica's Geometry of Synthesis (GoS) approach is that for certain programming languages (namely Reynolds's affine Syntactic Control of Interference - SCI) the GoI processes-like interpretation of the language can be given a finitary representation, for both internal state and tokens. A physical realisation of this representation becomes a semantics-directed compiler for SCI into hardware. In this paper we examine the issue of compiling affine recursive programs into hardware using the GoS method. We give syntax and compilation techniques for unfolding recursive computation in space or in time and we illustrate it with simple benchmark-style examples. We examine the performance of the benchmarks against conventional CPU-based execution models. Dan R. Ghica, Alex I. Smith, Satnam Singh |
ICFP | 1 |
| 2011 | Function interface models for hardware compilationabstractThe problem of synthesis of gate-level descriptions of digital circuits from behavioural specifications written in higher-level programming languages (hardware compilation) has been studied for a long time yet a definitive solution has not been forthcoming. The emphasis of the first part of this tutorial is methodological, arguing 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. In the second part we present a solution based on the Geometry of Synthesis, a semantics-directed approach to hardware compilation. Dan R. Ghica |
MEMOCODE | 1 |
| 2011 | Geometry of synthesis III: resource management through type inferenceabstractGeometry of Synthesis is a technique for compiling higher-level programming languages into digital circuits via their game semantic model. Ghica (2007) first presented the key idea, then Ghica and Smith (2010) gave a provably correct compiler into asynchronous circuits for Syntactic Control of Interference (SCI), an affine-typed version of Reynolds's Idealized Algol. Affine typing has the dual benefits of ruling out race conditions through the type system and having a finite-state game-semantic model for any term, which leads to a natural circuit representation and simpler correctness proofs. In this paper we go beyond SCI to full Idealized Algol, enhanced with shared-memory concurrency and semaphores. Dan R. Ghica, Alex I. Smith |
POPL | 1 |
| 2010 | On the Compositionality of Round Abstraction
Dan R. Ghica, Mohamed Nabih Menaa |
CONCUR | 1 |
| 2010 | Foreword
Dan R. Ghica, Russell Harmer |
Ann. Pure Appl. Log. | 1 |
| 2010 | Data-abstraction refinement: a game semantic approach
Adam Bakewell, Aleksandar S. Dimovski, Dan R. Ghica, Ranko Lazic 0001 |
Int. J. Softw. Tools Technol. Transf. | 3 |
| 2009 | Applications of Game Semantics: From Program Analysis to Hardware SynthesisabstractAfter 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. Dan R. Ghica |
LICS | 1 |
| 2009 | Clipping: A Semantics-Directed Syntactic ApproximationabstractIn this paper we introduce "clipping,'' a new method of syntactic approximation which is motivated by and works in conjunction with a sound and decidable denotational model for a given programming language. Like slicing, clipping reduces the size of the source code in preparation for automatic verification; but unlike slicing it is an imprecise but computationally inexpensive algorithm which does not require a whole-program analysis. The technique of clipping can be framed into an iterated refinement cycle to arbitrarily improve its precision. We first present this rather simple idea intuitively with some examples, then work out the technical details in the case of an Algol-like programming language and a decidable approximation of its game-semantic model inspired by Hankin and Malacaria's "lax functor'' approach. We conclude by presenting an experimental model checking tool based on these ideas and some toy programs. Dan R. Ghica, Adam Bakewell |
LICS | 1 |
| 2009 | Compositional Predicate Abstraction from Game Semantics
Adam Bakewell, Dan R. Ghica |
TACAS | 2 |
| 2008 | On-the-Fly Techniques for Game-Based Software Model Checking
Adam Bakewell, Dan R. Ghica |
TACAS | 2 |
| 2008 | Angelic semantics of fine-grained concurrency
Dan R. Ghica, Andrzej S. Murawski |
Ann. Pure Appl. Log. | 1 |
| 2008 | Foreword for special issue of APAL for GaLoP 2005
Guy McCusker, Dan R. Ghica |
Ann. Pure Appl. Log. | 2 |
| 2007 | Geometry of synthesis: a structured approach to VLSI designabstractWe 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 inspired by game semantics and the geometry of interaction, and express it directly as a certain class of digital circuits that form a cartesian, monoidal-closed category. A soundness result is given, which is also a correctness result for the compilation technique. Dan R. Ghica |
POPL | 1 |
| 2006 | Compositional Model Extraction for Higher-Order Concurrent Programs
Dan R. Ghica, Andrzej S. Murawski |
TACAS | 1 |
| 2006 | Syntactic control of concurrency
Dan R. Ghica, Andrzej S. Murawski, C.-H. Luke Ong |
Theor. Comput. Sci. | 1 |
| 2005 | Slot games: a quantitative model of computationabstractWe 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. Dan R. Ghica |
POPL | 1 |
| 2005 | Data-Abstraction Refinement: A Game Semantic Approach
Aleksandar S. Dimovski, Dan R. Ghica, Ranko Lazic 0001 |
SAS | 2 |
| 2004 | Semantical Analysis of Specification Logic, 3: An Operational Approach
Dan R. Ghica |
ESOP | 1 |
| 2004 | Angelic Semantics of Fine-Grained Concurrency
Dan R. Ghica, Andrzej S. Murawski |
FoSSaCS | 1 |
| 2004 | Syntactic Control of Concurrency
Dan R. Ghica, Andrzej S. Murawski, C.-H. Luke Ong |
ICALP | 1 |
| 2004 | Nominal Games and Full Abstraction for the Nu-CalculusabstractWe introduce nominal games for modelling programming languages with dynamically generated local names, as exemplified by Pitts and Stark's nu-calculus. Inspired by Pitts and Gabbay's recent work on nominal sets, we construct arenas and strategies in the world (or topos) of Fraenkel-Mostowski sets (or simply FM-sets). We fix an infinite set N of names to be the "atoms" of the FM-theory, and interpret the type v of names as the flat arena whose move-set is N. This approach leads to a clean and precise treatment of fresh names and standard game constructions (such as plays, views, innocent strategies, etc.) that are considered invariant under renaming. The main result is the construction of the first fully-abstract model for the nu-calculus. Samson Abramsky, Dan R. Ghica, Andrzej S. Murawski, C.-H. Luke Ong, Ian Stark |
LICS | 2 |
| 2004 | Applying Game Semantics to Compositional Software Modeling and Verification
Samson Abramsky, Dan R. Ghica, Andrzej S. Murawski, C.-H. Luke Ong |
TACAS | 2 |
| 2003 | The regular-language semantics of second-order idealized ALGOL
Dan R. Ghica, Guy McCusker |
Theor. Comput. Sci. | 1 |
| 2000 | Reasoning about Idealized ALGOL Using Regular Languages
Dan R. Ghica, Guy McCusker |
ICALP | 1 |