2017
DOI: 10.1145/3093333.3009867
|View full text |Cite
|
Sign up to set email alerts
|

LMS-Verify: abstraction without regret for verified systems programming

Abstract: Performance critical software is almost always developed in C, as programmers do not trust high-level languages to deliver the same reliable performance. This is bad because low-level code in unsafe languages attracts security vulnerabilities and because development is far less productive, with PL advances mostly lost on programmers operating under tight performance constraints. Highlevel languages provide memory safety out of the box, but they are deemed too slow and unpredictable for serious system software.… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
4
0

Year Published

2019
2019
2020
2020

Publication Types

Select...
1
1

Relationship

0
2

Authors

Journals

citations
Cited by 2 publications
(4 citation statements)
references
References 82 publications
0
4
0
Order By: Relevance
“…A key element that enables this is the level of abstraction of the NF spec and a technique to bridge the spec to the implementation. (2) We verify the entire software stack, reducing the trusted computing base (TCB) to the hardware, the Clang and GCC compilers, a small piece of OS startup code, and our verification toolchain. A key element that enables this is a domain-specific operating system we built and a mechanism that verifies just those parts of the stack that are required by the NF in question.…”
Section: Vignat Left Three Questions Openmentioning
confidence: 99%
See 3 more Smart Citations
“…A key element that enables this is the level of abstraction of the NF spec and a technique to bridge the spec to the implementation. (2) We verify the entire software stack, reducing the trusted computing base (TCB) to the hardware, the Clang and GCC compilers, a small piece of OS startup code, and our verification toolchain. A key element that enables this is a domain-specific operating system we built and a mechanism that verifies just those parts of the stack that are required by the NF in question.…”
Section: Vignat Left Three Questions Openmentioning
confidence: 99%
“…libVig also provides primitives for reading system time and parsing packet headers. With some further engineering, verified crypto primitives [51] and verified regexp parsing primitives [2] can be added to complete the library. As shown in §6.4, it is reasonable to expect that such an expanded version of libVig would be sufficient for building most NFs.…”
Section: Specification Vs Implementationmentioning
confidence: 99%
See 2 more Smart Citations