8,322 research outputs found

    Dynamic IFC Theorems for Free!

    Full text link
    We show that noninterference and transparency, the key soundness theorems for dynamic IFC libraries, can be obtained "for free", as direct consequences of the more general parametricity theorem of type abstraction. This allows us to give very short soundness proofs for dynamic IFC libraries such as faceted values and LIO. Our proofs stay short even when fully mechanized for Agda implementations of the libraries in terms of type abstraction.Comment: CSF 2021 final versio

    Cyclic Datatypes modulo Bisimulation based on Second-Order Algebraic Theories

    Full text link
    Cyclic data structures, such as cyclic lists, in functional programming are tricky to handle because of their cyclicity. This paper presents an investigation of categorical, algebraic, and computational foundations of cyclic datatypes. Our framework of cyclic datatypes is based on second-order algebraic theories of Fiore et al., which give a uniform setting for syntax, types, and computation rules for describing and reasoning about cyclic datatypes. We extract the "fold" computation rules from the categorical semantics based on iteration categories of Bloom and Esik. Thereby, the rules are correct by construction. We prove strong normalisation using the General Schema criterion for second-order computation rules. Rather than the fixed point law, we particularly choose Bekic law for computation, which is a key to obtaining strong normalisation. We also prove the property of "Church-Rosser modulo bisimulation" for the computation rules. Combining these results, we have a remarkable decidability result of the equational theory of cyclic data and fold.Comment: 38 page

    A formally verified compiler back-end

    Get PDF
    This article describes the development and formal verification (proof of semantic preservation) of a compiler back-end from Cminor (a simple imperative intermediate language) to PowerPC assembly code, using the Coq proof assistant both for programming the compiler and for proving its correctness. Such a verified compiler is useful in the context of formal methods applied to the certification of critical software: the verification of the compiler guarantees that the safety properties proved on the source code hold for the executable compiled code as well

    Technology and The North American Forest

    Get PDF
    Cet propose une revue de la littérature concernant l’adoption en Amérique du nord, au cours des 19e et 20e siècle, de technologies forestières européennes. On discutera surtout du traitement des billes de bois, des technologies touchant les moulin à scie et les pâtes et papier, et ce en relation avec trois thèmes importants en histoire des technologies : 1) la nature des changements techniques, 2) l’environnement et les impacts sociaux des technologies et 3) le rôle des valeurs sociales dans le choix des technologies. Adoptant une perspective comparative, on signalera également les différences entre le cas américain et le cas canadien.This paper is a critical review of recent historical literature relating to nineteenth and twentieth-century European-based technology in the North American forest. My discussion is limited to the industrial technologies of logging, sawmilling, pulp and paper milling, and forestry. These technologies will be discussed with reference to three issues in the history of technology: first, the nature of technological change; second, the environmental and social impacts of technology; and finally, the role of social values in determining choices of technology. Throughout, there will be an attempt to compare Canadian and American perspectives, when these diverge

    Recovering Grammar Relationships for the Java Language Specification

    Get PDF
    Grammar convergence is a method that helps discovering relationships between different grammars of the same language or different language versions. The key element of the method is the operational, transformation-based representation of those relationships. Given input grammars for convergence, they are transformed until they are structurally equal. The transformations are composed from primitive operators; properties of these operators and the composed chains provide quantitative and qualitative insight into the relationships between the grammars at hand. We describe a refined method for grammar convergence, and we use it in a major study, where we recover the relationships between all the grammars that occur in the different versions of the Java Language Specification (JLS). The relationships are represented as grammar transformation chains that capture all accidental or intended differences between the JLS grammars. This method is mechanized and driven by nominal and structural differences between pairs of grammars that are subject to asymmetric, binary convergence steps. We present the underlying operator suite for grammar transformation in detail, and we illustrate the suite with many examples of transformations on the JLS grammars. We also describe the extraction effort, which was needed to make the JLS grammars amenable to automated processing. We include substantial metadata about the convergence process for the JLS so that the effort becomes reproducible and transparent

    A Case Study Approach for Assessing Operational and Silvicultural Performance of Whole-Tree Biomass Harvesting in Maine

    Get PDF
    In the Northeastern United States, re-emerging markets for renewable energy are driving interest in increasing the harvest of underutilized biomass material from Maine’s forest. These markets may offer opportunities for forest managers to implement silvicultural treatments that have previously been foregone due to their high cost. However, many operational challenges arise in using current harvesting systems to harvest biomass material profitably while simultaneously achieving silvicultrual objectives. This research uses a case study approach to analyzing some of the possibilities and obstacles in implementing biomass harvesting in Maine. The first three studies investigate a factorial silvicultural and operational case study involving whole-tree biomass harvesting in conjunction with herbicide injection. The first study investigated the use of combined biomass harvesting and herbicide treatment as a means of rehabilitating northern hardwood stands dominated by dense understory thickets of small diameter American beech (Fagus grandifolia Ehrh.) and striped maple (Acer pensylvanicum L.). Prior to being harvested, a portion of beech and striped maple trees were treated using glyphosate stem injection as a means of controlling post harvest regeneration. Efficacy of the herbicide treatment was evaluated the first growing season after harvesting. During the harvest operation, a second study evaluated the productivity and impact of the feller-buncher using two trail spacings to determine if operational efficiency could be increased. A third study was carried out after the harvest to quantify and evaluate the damage inflicted by the operation at each trail spacing. A related case study was then conducted that attempted to develop an organized methodology for analyzing and improving the long-term efficiency of whole-tree harvest operations using statistical process control (SPC) in order to better evaluate the long-term impacts of modifying harvesting systems. The methodology was developed using actual operation data collected on several whole-tree system machines used throughout Maine. Results from the combined herbicide injection and biomass harvest case study indicated that whole-tree harvesting could utilize most of the beech and striped maple component of the stand while also effectively controlling the density of post-harvest beech regeneration. The harvest study found that feller-buncher productivity was not significantly different when operating at either of the two trail spacings; however, a tradeoff was found between efficient bunching and bunching frequency, with the narrower trail spacing using less time per bunch but requiring more bunches to be produced. Trail occupancy levels resulting from use of the narrower trail spacing were considerable, which could pose potential difficulties in future management. However, the frequency and patter of damage to the residual trees caused by the harvest operation was not significantly different between the two trail spacings. The second case study demonstrated that Statistical Process Control could offer a unique perspective on evaluating operational variability and showed great potential as a tool for improving forest harvesting processes. The study revealed several challenges in applying this approach to whole-tree harvesting operations. These challenges are primarily related to how operational data is collected and organized, and how the underlying causes of variation are interpreted
    • …
    corecore