Compositional optimizations for CertiCoq

نویسندگان

چکیده

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

برای دانلود باید عضویت طلایی داشته باشید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

CertiCoq: A verified compiler for Coq

CertiCoq is a mechanically verified, optimizing compiler for Coq that bridges the gap between certified high-level programs and their translation to machine language. We outline its design as well as the main foundational and engineering challenges involved in building and certifying a compiler for Coq in Coq.

متن کامل

Optimizations for NTRU

In this note we describe a variety of methods that may be used to increase the speed and efficiency of the NTRU public key cryptosystem. 1991 Mathematics Subject Classification: 94A60, 11T71. 1. An Overview of NTRU The NTRU Public Key Cryptosystem is based on ring theory and relies for its security on the difficulty of solving certain lattice problems. In this section we will briefly review the...

متن کامل

Optimizations for Parallel

This paper presents algorithms for reducing the communication overhead for parallel C programs that use dynamically-allocated data structures. The framework consists of an analysis phase called possible-placement analysis, and a transformation phase called communication selection. The fundamental idea of possible-placement analysis is to nd all possible points for insertion of remote memory ope...

متن کامل

Locality Optimizations for Parallel Machines

This paper focuses on the problem of locality optimizations for high-performance uniprocessor and multiprocessor systems. It shows that the problems of minimizing interprocessor communication and optimizing cache locality can be formulated in a similar manner. It outlines the algorithms to optimize for the various levels of the memory hierarchy simultaneously.

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

ژورنال

عنوان ژورنال: Proceedings of the ACM on programming languages

سال: 2021

ISSN: ['2475-1421']

DOI: https://doi.org/10.1145/3473591