Han-Hing Dang
Augsburg College
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Han-Hing Dang.
The Journal of Logic and Algebraic Programming | 2011
Han-Hing Dang; Peter Höfner; Bernhard Möller
We present an algebraic approach to separation logic. In particular, we give an algebraic characterisation for assertions of separation logic, discuss di erent classes of assertions and prove abstract laws fully algebraically. After that, we use our algebraic framework to give a relational semantics of the commands of a simple programming language associated with separation logic. On this basis we prove the frame rule in an abstract and concise way, parametric in the operator of separating conjunction, of which two particular variants are discussed. In this we also show how to algebraically formulate the requirement that a command preserves certain variables. The algebraic view does not only yield new insights on separation logic but also shortens proofs due to a point free representation. It is largely first-order and hence enables the use of o -the-shelf automated theorem provers for verifying properties at an abstract level.
Science of Computer Programming | 2014
Han-Hing Dang; Bernhard Möller
Abstract Quite a number of aspects of concurrency are reflected by the inequational exchange law ( P ⁎ Q ) ; ( R ⁎ S ) ⩽ ( P ; R ) ⁎ ( Q ; S ) between sequential composition ; and concurrent composition ⁎. In particular, recent research has shown that, under a certain semantic definition, validity of this law is equivalent to that of the familiar concurrency rule for Hoare triples. Unfortunately, while the law holds in the standard model of concurrent Kleene algebra, its is not true in the relationally based setting of algebraic separation logic. However, we show that under mild conditions the reverse inequation ( P ; R ) ⁎ ( Q ; S ) ⩽ ( P ⁎ Q ) ; ( R ⁎ S ) still holds there. From this reverse exchange law we derive slightly restricted but still reasonably useful variants of the concurrency rule. Moreover, using a corresponding definition of locality, we obtain also a variant of the frame rule, where ⁎ now is interpreted as separating conjunction. These results allow using the relational setting also for modular and concurrency reasoning. Finally, we interpret the results further by discussing several variations of the approach.
mathematics of program construction | 2012
Han-Hing Dang; Bernhard Möller
Recent research has pointed out the importance of the inequational exchange law (P*Q) ; (R*S)≤(P ; R)*(Q ; S) for concurrent processes. In particular, it has been shown that this law is equivalent to validity of the concurrency rule for Hoare triples. Unfortunately, the law does not hold in the relationally based setting of algebraic separation logic. However, we show that under mild conditions the reverse inequation (P ; R)*(Q ; S)≤(P*Q) ; (R*S) still holds there. Separating conjunction * in that calculus can be interpreted as true concurrency on disjointly accessed resources. From the reverse exchange law we derive slightly restricted but still reasonably useful variants of the concurrency rule. Moreover, using a corresponding definition of locality, we obtain also a variant of the frame rule. By this, the relational setting can also be applied for modular and concurrency reasoning. Finally, we present several variations of the approach to further interpret the results.
RAMiCS'12 Proceedings of the 13th international conference on Relational and Algebraic Methods in Computer Science | 2012
Han-Hing Dang; Bernhard Möller
Separation logic (SL) is an extension of Hoare logic by operations and formulas that not only talk about program variables, but also about heap portions. Its general purpose is to enable more flexible reasoning about linked object/record structures. In the present paper we give an algebraic extension of SL at the data structure level. We define operations that additionally to heap separation make assumptions about the linking structure. Phenomena to be treated comprise reachability analysis, (absence of) sharing, cycle detection and preservation of substructures under destructive assignments. We demonstrate the practicality of this approach with the examples of in-place list-reversal and tree rotation.
RelMiCS '09/AKA '09 Proceedings of the 11th International Conference on Relational Methods in Computer Science and 6th International Conference on Applications of Kleene Algebra: Relations and Kleene Algebra in Computer Science | 2009
Han-Hing Dang; Peter Höfner; Bernhard Möller
We present an algebraic approach to separation logic. In particular, we give algebraic characterisations for all constructs of separation logic. The algebraic view does not only yield new insights on separation logic but also shortens proofs and enables the use of automated theorem provers for verifying properties at a more abstract level.
The Journal of Logic and Algebraic Programming | 2014
Han-Hing Dang; Roland Glück; Bernhard Möller; Patrick Roocks; Andreas Zelend
Abstract Modal idempotent semirings cover a large set of different applications. The paper presents a small collection of these, ranging from algebraic logics for program correctness over bisimulation refinement, formal concept analysis, database preferences to feature oriented software development. We provide new results and/or views on these domains; the modal semiring setting allows a concise and unified treatment, while being more general than, e.g., standard relation algebra.
RAMICS'11 Proceedings of the 12th international conference on Relational and algebraic methods in computer science | 2011
Han-Hing Dang; Peter Höfner
When reasoning within separation logic, it is often necessary to provide side conditions for inference rules. These side conditions usually contain information about variables and their use, and are given within a meta-language, i.e., the side conditions cannot be encoded in separation logic itself. In this paper we discuss different possibilities how side conditions of variables--occurring e.g. in the ordinary or the hypothetical frame rule--can be characterised using algebraic separation logic. We also study greatest relations; a concept used in the soundness proof of the hypothetical frame rule. We provide one and only one level of abstraction for the logic, the side conditions and the greatest relations.
The Journal of Logic and Algebraic Programming | 2015
Han-Hing Dang; Bernhard Möller
Abstract Separation logic (SL) is an extension of Hoare logic by operators and formulas for reasoning more flexibly about heap portions or linked object/record structures. In the present paper we give an algebraic extension of SL at the data structure level. At the same time we step beyond standard SL by studying not only domain disjointness of heap portions but also disjointness along transitive links. To this end we define operations that allow expressing assumptions about the linking structure. Phenomena to be treated comprise reachability analysis, (absence of) sharing, cycle detection and preservation of substructures under destructive assignments. We demonstrate the practicality of this approach with examples of in-place list-reversal, tree rotation and threaded trees.
Acta Informatica | 2015
Han-Hing Dang; Bernhard Möller
We use the by now well established setting of modal semirings to derive a modal algebra for Petri nets. It is based on a relation-algebraic calculus for separation logic that enables calculations of properties in a pointfree fashion and at an abstract level. Basically, we start from an earlier logical approach to Petri nets that in particular uses modal box and diamond operators for stating properties about the state space of such a net. We provide relational translations of the logical formulas which further allow the characterisation of general behaviour of transitions in an algebraic fashion. From the relational structure an algebra for frequently used properties of Petri nets is derived. In particular, we give connections to typical used assertion classes of separation logic. Moreover, we demonstrate applicability of the algebraic approach by calculations concerning a standard example of a mutex net.
PAAR@IJCAR | 2010
Han-Hing Dang; Peter Höfner