Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data.

Brett Boston

dblp:169/6792 · DBLP profile ↗
← Back
3ranked-venue papers
3as first author
1since 2021 · last 2021
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 3 · 3 first-author · 1 since 2021Theory of computation · 1 · 1 first-author · 1 since 2021

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
3 papers
Program verification · 79% Programming languages and type systems · 21%
Network and information security
1 paper
Cryptographic primitives and cryptanalysis · 77% Systems and software security · 23%
Computer architecture, parallel and distributed computing, and storage systems
2 papers
Hardware reliability and fault tolerance · 60% Emerging computing paradigms · 40%

Topics — the 6 heaviest of 7, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Cryptographic primitives and cryptanalysis › cryptographic implementation
cryptographic implementation verification
0.512021
Verified Cryptographic Code for Everybody · CAV (1) 2021
Program verification › security property verification
verified cryptographic implementation
0.512021
Verified Cryptographic Code for Everybody · CAV (1) 2021
Program verification
SMT-based verification
0.312018
Leto: verifying application-specific hardware fault tolerance with programmable execution models · Proc. ACM Program. Lang. 2018
Programming languages and type systems
type inference
0.212015
Probability type inference for flexible approximate programming · OOPSLA 2015
Emerging computing paradigms
approximate computing
0.212015
Probability type inference for flexible approximate programming · OOPSLA 2015
Systems and software security
memory safety
0.112021
Verified Cryptographic Code for Everybody · CAV (1) 2021

Methods — techniques the papers use, named apart from their topics

machine-assisted proof · 1.0bounded cryptographic verification · 1.0SMT solving · 0.7solver-aided type inference · 0.4dynamic tracking · 0.4code specialization · 0.4
YearPublicationVenuePosition
2021 Verified Cryptographic Code for Everybody
abstract
Abstract We have completed machine-assisted proofs of two highly-optimized cryptographic primitives, AES-256-GCM and SHA-384. We have verified that the implementations of these primitives, written in a mix of C and x86 assembly, are memory safe and functionally correct, by which we mean input-output equivalent to their algorithmic specifications. Our proofs were completed using SAW, a bounded cryptographic verification tool which we have extended to handle embedded x86. The code we have verified comes from AWS LibCrypto. This code is identical to BoringSSL and very similar to OpenSSL, from which it ultimately derives. We believe we are the first to formally verify these implementations, which protect the security of nearly everybody on the internet.
Brett Boston, Samuel Breese, Joey Dodds, Mike Dodds, Brian Huffman, Adam Petcher, Andrei Stefanescu
CAV (1)1
2018 Leto: verifying application-specific hardware fault tolerance with programmable execution models
abstract
Researchers have recently designed a number of application-specific fault tolerance mechanisms that enable applications to either be naturally resilient to errors or include additional detection and correction steps that can bring the overall execution of an application back into an envelope for which an acceptable execution is eventually guaranteed. A major challenge to building an application that leverages these mechanisms, however, is to verify that the implementation satisfies the basic invariants that these mechanisms require---given a model of how faults may manifest during the application's execution. To this end we present Leto, an SMT-based automatic verification system that enables developers to verify their applications with respect to an execution model specification. Namely, Leto enables software and platform developers to programmatically specify the execution semantics of the underlying hardware system as well as verify assertions about the behavior of the application's resulting execution. In this paper, we present the Leto programming language and its corresponding verification system. We also demonstrate Leto on several applications that leverage application-specific fault tolerance
Brett Boston, Zoe Gong, Michael Carbin
Proc. ACM Program. Lang.1
2015 Probability type inference for flexible approximate programming
abstract
In approximate computing, programs gain efficiency by allowing occasional errors. Controlling the probabilistic effects of this approximation remains a key challenge. We propose a new approach where programmers use a type system to communicate high-level constraints on the degree of approximation. A combination of type inference, code specialization, and optional dynamic tracking makes the system expressive and convenient. The core type system captures the probability that each operation exhibits an error and bounds the probability that each expression deviates from its correct value. Solver-aided type inference lets the programmer specify the correctness probability on only some variables—program outputs, for example—and automatically fills in other types to meet these specifications. An optional dynamic type helps cope with complex run-time behavior where static approaches are insufficient. Together, these features interact to yield a high degree of programmer control while offering a strong soundness guarantee. We use existing approximate-computing benchmarks to show how our language, DECAF, maintains a low annotation burden. Our constraint-based approach can encode hardware details, such as finite degrees of reliability, so we also use DECAF to examine implications for approximate hardware design. We find that multi-level architectures can offer advantages over simpler two-level machines and that solver-aided optimization improves efficiency.
Brett Boston, Adrian Sampson, Dan Grossman, Luis Ceze
OOPSLA1