Verified Software Toolchain

被引:0
|
作者
Appel, Andrew W. [1 ]
机构
[1] Princeton Univ, Princeton, NJ 08544 USA
来源
基金
美国国家科学基金会;
关键词
MODEL;
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The software toolchain includes static analyzers to check assertions about programs; optimizing compilers to translate programs to machine language; operating systems and libraries to supply context for programs. Our Verified Software Too/chain verifies with machine-checked proofs that the assertions claimed at the top of the toolchain really hold in the machine-language program, running in the operating-system context, on a weakly-consistent-shared-memory machine. Our verification approach is modular, in that proofs about operating systems or concurrency libraries are oblivious of the programming language or machine language, proofs about compilers are oblivious of the program logic used to verify static analyzers, and so on. The approach is scalable, in that each component is verified in the semantic idiom most natural for that component. Finally, the verification is foundational: the trusted base for proofs of observable properties of the machine-language program includes only the operational semantics of the machine language, not the source language, the compiler, the program logic, or any other part of the toolchain even when these proofs are carried out by source-level static analyzers. In this paper I explain some semantic techniques for building a verified toolchain.
引用
收藏
页码:1 / 17
页数:17
相关论文
共 50 条
  • [1] SMACK Software Verification Toolchain
    Carter, Montgomery
    He, Shaobo
    Whitaker, Jonathan
    Rakamaric, Zvonimir
    Emmi, Michael
    [J]. 2016 IEEE/ACM 38TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING COMPANION (ICSE-C), 2016, : 589 - 592
  • [2] TOTALLY VERIFIED SYSTEMS - LINKING VERIFIED SOFTWARE TO VERIFIED HARDWARE
    JOYCE, JJ
    [J]. LECTURE NOTES IN COMPUTER SCIENCE, 1990, 408 : 177 - 201
  • [3] Maintaining Verified Software
    Leslie-Hurd, Joe
    [J]. ACM SIGPLAN NOTICES, 2013, 48 (12) : 71 - 80
  • [4] Verified Software Units
    Beringer, Lennart
    [J]. PROGRAMMING LANGUAGES AND SYSTEMS, ESOP 2021, 2021, 12648 : 118 - 147
  • [5] Maintaining verified software
    Leslie-Hurd, Joe
    [J]. ACM SIGPLAN Notices, 2014, 48 (12): : 71 - 80
  • [6] Faber: A Hardware/SoftWare Toolchain for Image Registration
    D'Arnese, Eleonora
    Conficconi, Davide
    Sozzo, Emanuele Del
    Fusco, Luigi
    Sciuto, Donatella
    Santambrogio, Marco Domenico
    [J]. IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 2023, 34 (01) : 291 - 303
  • [7] ToucHMore Toolchain and System Software for Energy and Variability Customisation
    Audsley, Neil C.
    Gray, Ian
    Acquaviva, Andrea
    Haines, Ralph
    [J]. 2012 IEEE INTERNATIONAL HIGH LEVEL DESIGN VALIDATION AND TEST WORKSHOP (HLDVT), 2012, : 148 - 155
  • [8] Verified software grand challenge
    Woodcock, Jim
    [J]. FM 2006: FORMAL METHODS, PROCEEDINGS, 2006, 4085 : 617 - 617
  • [9] A Software Toolchain for Variability Awareness on Heterogenous Multicore Platforms
    Nittala, Ramakrishna
    Acquaviva, Andrea
    Macii, Enrico
    [J]. IEEE TRANSACTIONS ON EMERGING TOPICS IN COMPUTING, 2017, 5 (01) : 95 - 107
  • [10] HardOps: utilising the software development toolchain for hardware design
    Stirling, Julian
    Bumke, Kaspar
    Collins, Joel
    Dhokia, Vimal
    Bowman, Richard
    [J]. INTERNATIONAL JOURNAL OF COMPUTER INTEGRATED MANUFACTURING, 2022, 35 (12) : 1297 - 1309