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. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Matt Brown

dblp:155/8133 · DBLP profile ↗
← Back
7ranked-venue papers
6as first author
2since 2021 · last 2023
—ORCID · conflict

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

Software engineering, systems software and programming languages · 4 · 4 first-authorComputer networks · 2 · 1 first-author · 2 since 2021Graphics, computer vision, multimedia, augmented reality and games · 1 · 1 first-author

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
4 papers
Programming languages and type systems · 81% Program analysis · 10% Compilers and program optimization · 9%
Computer networks
2 papers
Network management and operations · 100%

Topics — the 11 heaviest of 14, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Network management and operations
configuration verification
1.222023
Lessons from the evolution of the Batfish configuration analysis tool · SIGCOMM 2023
Campion: debugging router configuration differences · SIGCOMM 2021
Programming languages and type systems › lambda calculus
typed lambda calculus
0.832017
Typed self-evaluation via intensional type functions · POPL 2017
Breaking through the normalization barrier: a self-interpreter for f-omega · POPL 2016
Self-Representation in Girard's System U · POPL 2015
Network management and operations › network configuration
network configuration analysis
0.712023
Lessons from the evolution of the Batfish configuration analysis tool · SIGCOMM 2023
Programming languages and type systems › lambda calculus › typed lambda calculus
system f-omega
0.522017
Typed self-evaluation via intensional type functions · POPL 2017
Breaking through the normalization barrier: a self-interpreter for f-omega · POPL 2016
Compilers and program optimization
partial evaluation
0.312018
Jones-optimal partial evaluation by specialization-safe normalization · Proc. ACM Program. Lang. 2018
Programming languages and type systems › type systems
recursive types
0.312017
Typed self-evaluation via intensional type functions · POPL 2017
Program analysis
program representation
0.212016
Breaking through the normalization barrier: a self-interpreter for f-omega · POPL 2016
Programming languages and type systems › type system metatheory
strong normalization
0.212016
Breaking through the normalization barrier: a self-interpreter for f-omega · POPL 2016
Programming languages and type systems › type systems
polymorphism
0.212015
Self-Representation in Girard's System U · POPL 2015
Network management and operations › fault management
fault diagnosis
0.112021
Campion: debugging router configuration differences · SIGCOMM 2021
Program analysis
static analysis
0.112018
Jones-optimal partial evaluation by specialization-safe normalization · Proc. ACM Program. Lang. 2018

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

datalog · 0.7binary decision diagram · 0.7structural equivalence checking · 0.5modular analysis · 0.5continuation-passing style transformation · 0.5type checking · 0.3futamura projections · 0.3type equality proofs · 0.3
YearPublicationVenuePosition
2023 Lessons from the evolution of the Batfish configuration analysis tool
abstract
Batfish is a tool to analyze network configurations and forwarding. It has evolved from a research prototype to an industrial-strength product, guided by scalability, fidelity, and usability challenges encountered when analyzing complex, real-world networks. We share key lessons from this evolution, including how Datalog had significant limitations when generating and analyzing forwarding state and how binary decision diagrams (BDDs) proved highly versatile. We also describe our new techniques for addressing real-world challenges, which increase Batfish performance by three orders of magnitude and enable high-fidelity analysis of networks with thousands of nodes within minutes.
Matt Brown, Ari Fogel, Daniel Halperin, Victor Heorhiadi, Ratul Mahajan, Todd D. Millstein
SIGCOMM1
2021 Campion: debugging router configuration differences
abstract
We present a new approach for debugging two router configurations that are intended to be behaviorally equivalent. Existing router verification techniques cannot identify all differences or localize those differences to relevant configuration lines. Our approach addresses these limitations through a _modular_ analysis, which separately analyzes pairs of corresponding configuration components. It handles all router components that affect routing and forwarding, including configuration for BGP, OSPF, static routes, route maps and ACLs. Further, for many configuration components our modular approach enables simple _structural equivalence_ checks to be used without additional loss of precision versus modular semantic checks, aiding both efficiency and error localization. We implemented this approach in the tool Campion and applied it to debugging pairs of backup routers from different manufacturers and validating replacement of critical routers. Campion analyzed 30 proposed router replacements in a production cloud network and proactively detected four configuration bugs, including a route reflector bug that could have caused a severe outage. Campion also found multiple differences between backup routers from different vendors in a university network. These were undetected for three years, and depended on subtle semantic differences that the operators said they were "highly unlikely" to detect by "just eyeballing the configs."
Alan Tang, Siva Kesava Reddy K., Ryan Beckett, Ennan Zhai, Matt Brown, Todd D. Millstein, Yuval Tamir, George Varghese
SIGCOMM5
2019 Multi-Modal Detection Fusion on a Mobile UGV for Wide-Area, Long-Range Surveillance
abstract
We introduce a self-contained, mobile surveillance system designed to remotely detect and track people in real time, at long ranges, and over a wide field of view in cluttered urban and natural settings. The system is integrated with an unmanned ground vehicle, which hosts an array of four IR and four high-resolution RGB cameras, navigational sensors, and onboard processing computers. High-confidence, low-false-alarm-rate person tracks are produced by fusing motion detections and single-frame CNN person detections between co-registered RGB and IR video streams. Processing speeds are increased by using semantic scene segmentation and a tiered inference scheme to focus processing on the most salient regions of the 43° × 7.8° composite field of view. The system autonomously produces alerts of human presence and movement within the field of view, which are disseminated over a radio network and remotely viewed on a tablet computer. We present an ablation study quantifying the benefits that multi-sensor, multi-detector fusion brings to the problem of detecting people in challenging outdoor environments with shadows, occlusions, clutter, and variable weather conditions.
Matt Brown, Keith Fieldhouse, Eran Swears, Paul Tunison, Adam Romlein, Anthony Hoogs
WACV1
2018 Jones-optimal partial evaluation by specialization-safe normalization
abstract
We present partial evaluation by specialization-safe normalization, a novel partial evaluation technique that is Jones-optimal, that can be self-applied to achieve the Futamura projections and that can be type-checked to ensure it always generates code with the correct type. Jones-optimality is the gold-standard for nontrivial partial evaluation and guarantees that a specializer can remove an entire layer of interpretation. We achieve Jones-optimality by using a novel affine-variable static analysis that directs specialization-safe normalization to always decrease a program’s runtime. We demonstrate the robustness of our approach by showing Jones-optimality in a variety of settings. We have formally proved that our partial evaluator is Jones-optimal for call-by-value reduction, and we have experimentally shown that it is Jones-optimal for call-by-value, normal-order, and memoized normal-order. Each of our experiments tests Jones-optimality with three different self-interpreters. We implemented our partial evaluator in F ω µ i , a recent language for typed self-applicable meta-programming. It is the first Jones-optimal and self-applicable partial evaluator whose type guarantees that it always generates type-correct code.
Matt Brown, Jens Palsberg
Proc. ACM Program. Lang.1
2017 Typed self-evaluation via intensional type functions
abstract
Many popular languages have a self-interpreter, that is, an interpreter for the language written in itself. So far, work on polymorphically-typed self-interpreters has concentrated on self-recognizers that merely recover a program from its representation. A larger and until now unsolved challenge is to implement a polymorphically-typed self-evaluator that evaluates the represented program and produces a representation of the result. We present Fωμi, the first λ-calculus that supports a polymorphically-typed self-evaluator. Our calculus extends Fω with recursive types and intensional type functions and has decidable type checking. Our key innovation is a novel implementation of type equality proofs that enables us to define a versatile representation of programs. Our results establish a new category of languages that can support polymorphically-typed self-evaluators.
Matt Brown, Jens Palsberg
POPL1
2016 Breaking through the normalization barrier: a self-interpreter for f-omega
abstract
According to conventional wisdom, a self-interpreter for a strongly normalizing lambda-calculus is impossible. We call this the normalization barrier. The normalization barrier stems from a theorem in computability theory that says that a total universal function for the total computable functions is impossible. In this paper we break through the normalization barrier and define a self-interpreter for System F_omega, a strongly normalizing lambda-calculus. After a careful analysis of the classical theorem, we show that static type checking in F_omega can exclude the proof's diagonalization gadget, leaving open the possibility for a self-interpreter. Along with the self-interpreter, we program four other operations in F_omega, including a continuation-passing style transformation. Our operations rely on a new approach to program representation that may be useful in theorem provers and compilers.
Matt Brown, Jens Palsberg
POPL1
2015 Self-Representation in Girard's System U
abstract
In 1991, Pfenning and Lee studied whether System F could support a typed self-interpreter. They concluded that typed self-representation for System F "seems to be impossible", but were able to represent System F in Fω. Further, they found that the representation of Fω requires kind polymorphism, which is outside Fω. In 2009, Rendel, Ostermann and Hofer conjectured that the representation of kind-polymorphic terms would require another, higher form of polymorphism. Is this a case of infinite regress? We show that it is not and present a typed self-representation for Girard's System U, the first for a λ-calculus with decidable type checking. System U extends System Fω with kind polymorphic terms and types. We show that kind polymorphic types (i.e. types that depend on kinds) are sufficient to "tie the knot" -- they enable representations of kind polymorphic terms without introducing another form of polymorphism. Our self-representation supports operations that iterate over a term, each of which can be applied to a representation of itself. We present three typed self-applicable operations: a self-interpreter that recovers a term from its representation, a predicate that tests the intensional structure of a term, and a typed continuation-passing-style (CPS) transformation -- the first typed self-applicable CPS transformation. Our techniques could have applications from verifiably type-preserving metaprograms, to growable typed languages, to more efficient self-interpreters.
Matt Brown, Jens Palsberg
POPL1