scholarly journals Compositional optimizations for CertiCoq

2021 ◽  
Vol 5 (ICFP) ◽  
pp. 1-30
Author(s):  
Zoe Paraskevopoulou ◽  
John M. Li ◽  
Andrew W. Appel

Compositional compiler verification is a difficult problem that focuses on separate compilation of program components with possibly different verified compilers. Logical relations are widely used in proving correctness of program transformations in higher-order languages; however, they do not scale to compositional verification of multi-pass compilers due to their lack of transitivity. The only known technique to apply to compositional verification of multi-pass compilers for higher-order languages is parametric inter-language simulations (PILS), which is however significantly more complicated than traditional proof techniques for compiler correctness. In this paper, we present a novel verification framework for lightweight compositional compiler correctness . We demonstrate that by imposing the additional restriction that program components are compiled by pipelines that go through the same sequence of intermediate representations , logical relation proofs can be transitively composed in order to derive an end-to-end compositional specification for multi-pass compiler pipelines. Unlike traditional logical-relation frameworks, our framework supports divergence preservation—even when transformations reduce the number of program steps. We achieve this by parameterizing our logical relations with a pair of relational invariants . We apply this technique to verify a multi-pass, optimizing middle-end pipeline for CertiCoq, a compiler from Gallina (Coq’s specification language) to C. The pipeline optimizes and closure-converts an untyped functional intermediate language (ANF or CPS) to a subset of that language without nested functions, which can be easily code-generated to low-level languages. Notably, our pipeline performs more complex closure-allocation optimizations than the state of the art in verified compilation. Using our novel verification framework, we prove an end-to-end theorem for our pipeline that covers both termination and divergence and applies to whole-program and separate compilation, even when different modules are compiled with different optimizations. Our results are mechanized in the Coq proof assistant.

2012 ◽  
Vol 22 (4-5) ◽  
pp. 477-528 ◽  
Author(s):  
DEREK DREYER ◽  
GEORG NEIS ◽  
LARS BIRKEDAL

AbstractReasoning about program equivalence is one of the oldest problems in semantics. In recent years, useful techniques have been developed, based on bisimulations and logical relations, for reasoning about equivalence in the setting of increasingly realistic languages—languages nearly as complex as ML or Haskell. Much of the recent work in this direction has considered the interesting representation independence principles enabled by the use of local state, but it is also important to understand the principles that powerful features like higher-order state and control effects disable. This latter topic has been broached extensively within the framework of game semantics, resulting in what Abramsky dubbed the “semantic cube”: fully abstract game-semantic characterizations of various axes in the design space of ML-like languages. But when it comes to reasoning about many actual examples, game semantics does not yet supply a useful technique for proving equivalences.In this paper, we marry the aspirations of the semantic cube to the powerful proof method of step-indexed Kripke logical relations. Building on recent work of Ahmed et al. (2009), we define the first fully abstract logical relation for an ML-like language with recursive types, abstract types, general references and call/cc. We then show how, under orthogonal restrictions to the expressive power of our language—namely, the restriction to first-order state and/or the removal of call/cc—we can enhance the proving power of our possible-worlds model in correspondingly orthogonal ways, and we demonstrate this proving power on a range of interesting examples. Central to our story is the use of state transition systems to model the way in which properties of local state evolve over time.


Author(s):  
Mahdi Moradian

Abstract The dumbbell-shaped longitudinal slot antennas are employed as a replacement for the round-ended longitudinal slot antennas. Each dumbbell-shaped slot is excited by an iris and a septum that have offsets from the waveguide centerlines. All the slots are also cut along the waveguide centerlines. It is demonstrated that the resonant length of the proposed dumbbell-shaped slot antennas is much smaller than the round-ended longitudinal slot antennas. Hence, the end-to-end spacings between the adjacent radiating slots as well as the end-to-end spacings between the coupling and the radiating slots increased noticeably in comparison with the arrays consist of the round-ended longitudinal slot antennas. This fact indicates that one can neglect the mutual coupling between the neighboring slots that are associated with the exciting higher-order modes at the slot positions. To better demonstrate the effectiveness of the proposed dumbbell-shaped slot antennas, a planar array antenna consists of the proposed dumbbell-shaped slot antennas have been designed, implemented, and tested. The measurement and the simulation results confirm the effectiveness of the proposed slot antennas.


EduKimia ◽  
2020 ◽  
Vol 2 (2) ◽  
pp. 91-95
Author(s):  
Andromeda Andromeda ◽  
Zonalia Fitriza ◽  
Faizah Qurrata 'Aini

Basic Competence (BC) is a minimum students’ achievement after learning process. Most of the BC in the 2017 revised Indonesian curriculum requires students to have higher order thinking skills (HOTS), therefore teachers have to prepare assessment instruments referring HOTS. However, there are still many teachers who misperceive HOTS and think that HOTS is a difficult problem. This causes the teacher’s understanding of HOTS questions to be low. This study aims to describe chemistry teachers’ competence in evaluating HOTS of students. 19 teachers from 14 Senior High Schools was examined using structured essay test to figure out their ability and problems in compiling HOTS assessment instrument. The data collected was analysed using Miles Huberman methods starting with data reduction, data display and conclusion. Through this evaluation, it is known that only 10.53% of teachers comprehended HOTS and were able to apply it in evaluation, 57,89% of them understood the HOTS but weren’t able to apply in evaluation while 31,58% others didn’t know the comprehensive HOTS evaluation. This fact will certainly disrupt the planning, implementation and assessment of learning. Furthermore, the instrument compiled to assess higher order thinking skills based on BC does not measure expected abilities.


Author(s):  
Gilles Barthe ◽  
Raphaëlle Crubillé ◽  
Ugo Dal Lago ◽  
Francesco Gavazzo

AbstractLogical relations are one among the most powerful techniques in the theory of programming languages, and have been used extensively for proving properties of a variety of higher-order calculi. However, there are properties that cannot be immediately proved by means of logical relations, for instance program continuity and differentiability in higher-order languages extended with real-valued functions. Informally, the problem stems from the fact that these properties are naturally expressed on terms of non-ground type (or, equivalently, on open terms of base type), and there is no apparent good definition for a base case (i.e. for closed terms of ground types). To overcome this issue, we study a generalization of the concept of a logical relation, called open logical relation, and prove that it can be fruitfully applied in several contexts in which the property of interest is about expressions of first-order type. Our setting is a simply-typed $$\lambda $$ λ -calculus enriched with real numbers and real-valued first-order functions from a given set, such as the one of continuous or differentiable functions. We first prove a containment theorem stating that for any collection of real-valued first-order functions including projection functions and closed under function composition, any well-typed term of first-order type denotes a function belonging to that collection. Then, we show by way of open logical relations the correctness of the core of a recently published algorithm for forward automatic differentiation. Finally, we define a refinement-based type system for local continuity in an extension of our calculus with conditionals, and prove the soundness of the type system using open logical relations.


Geophysics ◽  
1984 ◽  
Vol 49 (12) ◽  
pp. 2196-2197
Author(s):  
Toshifumi Matsuoka ◽  
Tad J. Ulrych

Recently Rosenblatt (1980) and Lii and Rosenblatt (1982) developed a phase estimation method for nonminimum phase MA processes by using the bispectrum which contains the required phase information of the wavelet. The computation of the bispectrum is, consequently, of importance in geophysical signal processing, particularly in the difficult problem of wavelet estimation.


2008 ◽  
Vol 18 (5-6) ◽  
pp. 865-911 ◽  
Author(s):  
ALEKSANDAR NANEVSKI ◽  
GREG MORRISETT ◽  
LARS BIRKEDAL

AbstractWe consider the problem of reconciling a dependently typed functional language with imperative features such as mutable higher-order state, pointer aliasing, and nontermination. We propose Hoare type theory (HTT), which incorporates Hoare-style specifications into types, making it possible to statically track and enforce correct use of side effects.The main feature of HTT is the Hoare type {P}x:A{Q} specifying computations with preconditionPand postconditionQthat return a result of typeA. Hoare types can be nested, combined with other types, and abstracted, leading to a smooth integration with higher-order functions and type polymorphism.We further show that in the presence of type polymorphism, it becomes possible to interpret the Hoare types in the “small footprint” manner, as advocated by separation logic, whereby specifications tightly describe the state required by the computation.We establish that HTT is sound and compositional, in the sense that separate verifications of individual program components suffice to ensure the correctness of the composite program.


2020 ◽  
Vol 26 (5) ◽  
pp. 250-255
Author(s):  
Kihun Kim ◽  
Cheonum Park ◽  
Changki Lee ◽  
Hyunki Kim

2017 ◽  
Vol 6 (2) ◽  
pp. 121 ◽  
Author(s):  
Damianus D Samo

The purpose of this study is to explore pre-service mathematics teachers' conception of higher-order thinking in Bloom's Taxonomy, to explore pre-service mathematics teachers' ability in categorizing six cognitive levels of Bloom's Taxonomy as lower-order thinking and higher-order thinking, and pre-service mathematics teachers' ability in identifying some questionable items as lower-order and higher-order thinking. The higher-order thinking is the type of non-algorithm thinking which include analytical, evaluative and creative thinking that involves metacognition. This research is a descriptive quantitative research. The data were analyzed and visualized by percentages and diagrams. The participants are 50 Third-Year Students of Mathematics Education Department at Universitas Nusa Cendana. The results showed: (1) pre-service mathematics teachers' conception of lower-order and higher-order thinking more emphasis on the different between the easy and difficult problem, calculation problem and verification problem, conceptual and contextual, and elementary and high-level problem; (2) pre-service mathematics teachers categorized six cognitive levels at the lower-order and higher-order thinking level correctly except at the applying level, preservice mathematics teachers placed it at the higher-order thinking level; (3) pre-service mathematics teacher tend to made the wrong identification of the test questions that were included in the lower-order and higher-order thinking. One of the recommendations is pre-service mathematics teachers should be familiarized of higher-order thinking questions start from their first-year of study in University. 


Sign in / Sign up

Export Citation Format

Share Document