40 research outputs found

    Encoding logical theories of programs

    Get PDF
    Nowadays, in many critical situations (such as on-board software), it is manda-tory to certify programs and systems, that is, to prove formally that they meet their specifications. To this end, many logics and formal systems have been proposed for rea-soning rigorously on properties of programs and systems. Their usage on non-trivial cases, however, is often cumbersome and error-prone; hence, a computerized proof assistant is required. This thesis is a contribution to the field of computer-aided formal reasoning. In recent years, Logical Frameworks (LF's) have been proposed as general metalan-guages for the description (encoding) of formal systems. LF's streamline the implementa-tion of proof systems on a machine; moreover, they allow for conceptual clarification of the object logics. The encoding methodology of LF's (based on the judgement as types, proofs as \u3bb-terms paradigm) has been successfully applied to many logics; however, the encoding of the many peculiarities presented by formal systems for program logics is problematic. In this thesis we propose a general methodology for adequately encoding formal systems for reasoning on programs. We consider Structured and Natural Operational Semantics, Modal Logics, Dynamic Logics, and the \ub5-calculus. Each of these systems presents distinc-tive problematic features; in each case, we propose, discuss and prove correct, alternative solutions. In many cases, we introduce new presentations of these systems, in Natural Deduction style, which are suggested by the metalogical analysis induced by the method-ology. At the metalogical level, we generalize and combine the concept of consequence relation by Avron and Aczel, in order to handle schematic and multiple consequences. We focus on a particular Logical Framework, namely the Calculus of Inductive Con-structions, originated by Coquand and Huet, and its implementation, Coq. Our inves-tigation shows that this framework is particularly flexible and suited for reasoning on properties of programs and systems. Our work could serve as a guide and reference to future users of Logical Frameworks

    Programming Languages and Systems

    Get PDF
    This open access book constitutes the proceedings of the 29th European Symposium on Programming, ESOP 2020, which was planned to take place in Dublin, Ireland, in April 2020, as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2020. The actual ETAPS 2020 meeting was postponed due to the Corona pandemic. The papers deal with fundamental issues in the specification, design, analysis, and implementation of programming languages and systems

    Programming Languages and Systems

    Get PDF
    This open access book constitutes the proceedings of the 28th European Symposium on Programming, ESOP 2019, which took place in Prague, Czech Republic, in April 2019, held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2019

    Foundations of Software Science and Computation Structures

    Get PDF
    This open access book constitutes the proceedings of the 22nd International Conference on Foundations of Software Science and Computational Structures, FOSSACS 2019, which took place in Prague, Czech Republic, in April 2019, held as part of the European Joint Conference on Theory and Practice of Software, ETAPS 2019. The 29 papers presented in this volume were carefully reviewed and selected from 85 submissions. They deal with foundational research with a clear significance for software science

    Deductive Verification of Concurrent Programs and its Application to Secure Information Flow for Java

    Get PDF
    Formal verification of concurrent programs still poses a major challenge in computer science. Our approach is an adaptation of the modular rely/guarantee methodology in dynamic logic. Besides functional properties, we investigate language-based security. Our verification approach extends naturally to multi-threaded Java and we present an implementation in the KeY verification system. We propose natural extensions to JML regarding both confidentiality properties and multi-threaded programs

    Generalized labelled Markov processes, coalgebraically

    Get PDF
    Coalgebras of measurable spaces are of interest in probability theory as a formalization of Labelled Markov Processes (LMPs). We discuss some general facts related to the notions of bisimulation and cocongruence on these systems, providing a faithful characterization of bisimulation on LMPs on generic measurable spaces. This has been used to prove that bisimilarity on single LMPs is an equivalence, without assuming the state space to be analytic. As the second main contribution, we introduce the first specification rule format to define well-behaved composition operators for LMPs. This allows one to define process description languages on LMPs which are always guaranteed to have a fully-abstract semantics
    corecore