32 research outputs found

    Foundations of Software Science and Computation Structures

    Get PDF
    This open access book constitutes the proceedings of the 24th International Conference on Foundations of Software Science and Computational Structures, FOSSACS 2021, which was held during March 27 until April 1, 2021, as part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2021. The conference was planned to take place in Luxembourg and changed to an online format due to the COVID-19 pandemic. The 28 regular papers presented in this volume were carefully reviewed and selected from 88 submissions. They deal with research on theories and methods to support the analysis, integration, synthesis, transformation, and verification of programs and software systems

    Programming Languages and Systems

    Get PDF
    This open access book constitutes the proceedings of the 31st European Symposium on Programming, ESOP 2022, which was held during April 5-7, 2022, in Munich, Germany, as part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2022. The 21 regular papers presented in this volume were carefully reviewed and selected from 64 submissions. They deal with fundamental issues in the specification, design, analysis, and implementation of programming languages and systems

    Names and Binding in Type Theory

    Get PDF
    Names and name-binding are useful concepts in the theory and practice of formal systems. In this thesis we study them in the context of dependent type theory. We propose a novel dependent type theory with primitives for the explicit handling of names. As the main application, we consider programming and reasoning with abstract syntax involving variable binders. Gabbay and Pitts have shown that Fraenkel Mostowski (FM) set theory models a notion of name using which informal work with names and binding can be made precise. They have given a number of useful constructions for working with names and binding, such as a syntax-independent notion of freshness that formalises when two objects do not share names, and a freshness quantifier that simplifies working with names and binding. Related to FM set theory, a number of systems for working with names have been given, among them are the first-order Nominal Logic, the higher-order logic FM-HOL, the Theory of Contexts as well as the programming language FreshML. In this thesis we study how dependent type theory can be extended with primitives for working with names and binding. Our choice of primitives is different from that in FM set theory. In FM set theory the fundamental primitive for working with names is swapping. All other concepts such as \alpha-equivalence classes and binding are constructed from it. For dependent type theory, however, this approach of constructing everything from swapping is not ideal, since it requires us to make strong assumptions on the type theory. For instance, the construction of \alpha-equivalence classes from swapping appears to require quotient types. Our approach is to treat constructions such as \alpha-equivalence classes and name-binding directly, turning them into primitives of the type theory. To do this, it is convenient to take freshness rather than swapping as the fundamental primitive. Based on the close correspondence between type theories and categories, we approach the design of the dependent type theory by studying the categorical structure underlying FM set theory. We start from a monoidal structure capturing freshness. By analogy with the definition of simple dependent sums \Sigma and products \Pi from the cartesian product, we define monoidal dependent sums \Sigma^* and products \Pi^* from the monoidal structure. For the type of names N, we have an isomorphism \Sigma^*_N\iso\Pi^*_N generalising the freshness quantifier. We show that this structure includes \alpha-equivalence classes, name binding, unique choice of fresh names as well as the freshness quantifier. In addition to the set theoretic model corresponding to FM set theory, we also give a realizability model of this structure. The semantic structure leads us to a bunched type theory having both a dependent additive context structure and a non-dependent multiplicative context structure. This type theory generalises the simply-typed \alpha\lambda-calculus of O'Hearn and Pym in the additive direction. It includes novel monoidal products \Pi^* and sums \Sigma^* as well as hidden-name types H for working with names and binding. We give examples for the use of the type theory for programming and reasoning with abstract syntax involving binders. We show that abstract syntax can be handled both in the style of FM set theory and in the style of Weak Higher Order Abstract Syntax. Moreover, these two styles of working with abstract syntax can be mixed, which has interesting applications such as the derivation of a term for the unique choice of new names

    Programming Languages and Systems

    Get PDF
    This open access book constitutes the proceedings of the 31st European Symposium on Programming, ESOP 2022, which was held during April 5-7, 2022, in Munich, Germany, as part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2022. The 21 regular papers presented in this volume were carefully reviewed and selected from 64 submissions. They deal with fundamental issues in the specification, design, analysis, and implementation of programming languages and systems

    Foundations of Software Science and Computation Structures

    Get PDF
    This open access book constitutes the proceedings of the 23rd International Conference on Foundations of Software Science and Computational Structures, FOSSACS 2020, which took place in Dublin, Ireland, in April 2020, and was held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2020. The 31 regular papers presented in this volume were carefully reviewed and selected from 98 submissions. The papers cover topics such as categorical models and logics; language theory, automata, and games; modal, spatial, and temporal logics; type theory and proof theory; concurrency theory and process calculi; rewriting theory; semantics of programming languages; program analysis, correctness, transformation, and verification; logics of programming; software specification and refinement; models of concurrent, reactive, stochastic, distributed, hybrid, and mobile systems; emerging models of computation; logical aspects of computational complexity; models of software security; and logical foundations of data bases.

    Achieving while maintaining:A logic of knowing how with intermediate constraints

    Get PDF
    In this paper, we propose a ternary knowing how operator to express that the agent knows how to achieve ϕ\phi given ψ\psi while maintaining χ\chi in-between. It generalizes the logic of goal-directed knowing how proposed by Yanjing Wang 2015 'A logic of knowing how'. We give a sound and complete axiomatization of this logic.Comment: appear in Proceedings of ICLA 201

    Foundations of Software Science and Computation Structures

    Get PDF
    This open access book constitutes the proceedings of the 23rd International Conference on Foundations of Software Science and Computational Structures, FOSSACS 2020, which took place in Dublin, Ireland, in April 2020, and was held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2020. The 31 regular papers presented in this volume were carefully reviewed and selected from 98 submissions. The papers cover topics such as categorical models and logics; language theory, automata, and games; modal, spatial, and temporal logics; type theory and proof theory; concurrency theory and process calculi; rewriting theory; semantics of programming languages; program analysis, correctness, transformation, and verification; logics of programming; software specification and refinement; models of concurrent, reactive, stochastic, distributed, hybrid, and mobile systems; emerging models of computation; logical aspects of computational complexity; models of software security; and logical foundations of data bases.

    A Language-based Approach to Distributed Resources

    Get PDF
    Modern computing paradigms for distributed applications advocate a strong control on shared resources available on demand in order to guarantee their correct usages. An illustrative example of such paradigms is Cloud Computing. In this dissertation, we study formal models for distributed applications, paying particular attention to resource usage analysis. Formal methods for specifying and analysing different aspects of resource management could play an important role for the widespread usages of distributed resources. They provide not only the theoretical framework to understand the stages underlying the design and implementation issues, but also the mathematically-based techniques for the specification and verifications of properties of such systems. In this dissertation, we introduce two models, called lambda clouds and G-Local pi calculus, which are extensions of the lambda calculus and pi calculus respectively. The lambda clouds is an extension of concurrent lambda calculus enriched with suitable mechanisms to express and enforce application-level security policies governing usages of resources available on demand in the clouds. We focus on the server side of cloud systems, by adopting a pro-active approach, where explicit security policies, which are expressed as a set of execution traces, regulate server's behaviour. By providing an abstract cloud semantics, we ensure that enforcing security policies embedded in cloud applications is sound. The G-Local pi calculus is built on top of the standard pi calculus by introducing new primitives to manage resources. Unlike the previous model, where resources are highly abstract, resources in this approach are modelled as stateful entities with local states and global policies. A high degree of loose coupling among applications and resources is achieved through the publish/subscribe model. Furthermore, we develop two static, language-based techniques, namely Control Flow Analysis (CFA) and Type and Effect Systems, to reason about resource usages and therefore able to predict \textit{bad} usages of resources. The CFA mainly focuses on reachability properties related to resource usages. It computes an over-approximation of resource usages of applications. As a result, if the approximation does not contain bad usages, then it guarantees that applications correctly use resources. The type and effect system provides a closer view of resource behaviour. Resource behaviour is extracted in the form of side effect of the type system. We exploit side effect to verify regular linear time properties, expressed by Linear Time Logic formulas, of resource usages
    corecore