The HACMS program: using formal methods to eliminate exploitable bugs

The work

AuthorsKathleen Fisher; John Launchbury; Raymond Richards
Editors
Typearticle
Year2017
Citekeyfisher2017hacms

Where it appeared

Published inPhilosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences
PublisherThe Royal Society
Volume375
Issue2104
Pages20150401

Identifiers

DOI10.1098/rsta.2015.0401
ISSN1364-503X

Abstract

For decades, formal methods have offered the promise of verified software that does not have exploitable bugs. Until recently, however, it has not been possible to verify software of sufficient complexity to be useful. Recently, that situation has changed. SeL4 is an open-source operating system microkernel efficient enough to be used in a wide range of practical applications. Its designers proved it to be fully functionally correct, ensuring the absence of buffer overflows, null pointer exceptions, useafter-free errors, etc., and guaranteeing integrity and confidentiality. The CompCert Verifying C Compiler maps source C programs to provably equivalent assembly language, ensuring the absence of exploitable bugs in the compiler. A number of factors have enabled this revolution, including faster processors, increased automation, more extensive infrastructure, specialized logics and the decision to co-develop code and correctness proofs rather than verify existing artefacts. In this paper, we explore the promise and limitations of current formal-methods techniques. We discuss these issues in the context of DARPA’s HACMS program, which had as its goal

A copy is held

pdf, 633.5 kB. Not published — it may be under copyright. The facts and links here are.

How it got here

How it got hereagent via crossref
Added2026-09-02 16:44 UTC
Approved bya person 2026-09-03 17:29 UTC

Cite it as

@article{fisher2017hacms,
  title        = {The HACMS program: using formal methods to eliminate exploitable bugs},
  author       = {Kathleen Fisher and John Launchbury and Raymond Richards},
  year         = {2017},
  journal      = {Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences},
  publisher    = {The Royal Society},
  volume       = {375},
  number       = {2104},
  pages        = {20150401},
  issn         = {1364-503X},
  doi          = {10.1098/rsta.2015.0401},
}

This record lives at https://refs.drheap.org/fisher2017hacms/ and will keep doing so.