skip to main content
10.1145/3578527.3581769acmotherconferencesArticle/Chapter ViewAbstractPublication PagesisecConference Proceedingsconference-collections
keynote

Proof-oriented programming for high-assurance systems

Published: 23 February 2023 Publication History

Abstract

Proof-oriented programming is a paradigm where programs are designed and developed along with mathematical proofs of their correctness and security. In recent years, proof-oriented programming has reached a point where not only several high-assurance software components have been developed using it, but these components have also been deployed in production systems. In this talk, I will provide an overview of this paradigm in the context of F*, a proof-oriented programming language developed at Microsoft Research. I will briefly discuss several critical software components, developed from scratch in F*. These components are already deployed in production systems such as Windows Hyper-V, the Linux kernel, Firefox, and mbedTLS. As a complementary methodology for retrofitting strong, formal guarantees on existing legacy services, I will present the Zeta framework. Zeta works by running a small, proven correct monitor in a trusted execution environment validating responses from the service. The key idea is that we only need to develop the monitor using proof-oriented programming once-and-for-all, while the large legacy service remains untrusted. I will illustrate Zeta by sketching an example of how we can make a concurrent, high-performance, key-value store "zero trust" and argue that this step incurs modest software engineering effort and modest runtime overheads.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
ISEC '23: Proceedings of the 16th Innovations in Software Engineering Conference
February 2023
193 pages
ISBN:9798400700644
DOI:10.1145/3578527
Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the Owner/Author.

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 23 February 2023

Check for updates

Author Tags

  1. Program Analysis
  2. Programming Language

Qualifiers

  • Keynote
  • Research
  • Refereed limited

Conference

ISEC 2023

Acceptance Rates

Overall Acceptance Rate 76 of 315 submissions, 24%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 39
    Total Downloads
  • Downloads (Last 12 months)12
  • Downloads (Last 6 weeks)6
Reflects downloads up to 05 Mar 2025

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

HTML Format

View this article in HTML Format.

HTML Format

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media