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

Gordon Stewart 0001

dblp:35/1742-1 · DBLP profile ↗
← Back
16ranked-venue papers
8as first author
1since 2021 · last 2023
0000-0003-0244-2980ORCID · verified

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

Software engineering, systems software and programming languages · 9 · 6 first-author · 1 since 2021Systems, architecture and hardware · 3 · 1 first-authorComputer networks · 3 · 2 first-authorTheory of computation · 2 · 2 first-authorArtificial intelligence and machine learning · 1Security and privacy · 1Graphics, computer vision, multimedia, augmented reality and games · 1

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
6 papers
Compilers and program optimization · 56% Program verification · 35% Programming languages and type systems · 9%
Computer networks
4 papers
Physical-layer communications · 95% Wireless networking · 5%
Artificial intelligence
2 papers
Probabilistic and Bayesian machine learning · 64% Learning theory · 36%
Theoretical computer science
2 papers
Automated reasoning and model checking · 35% Algorithmic game theory and mechanism design · 32% Distributed computing theory · 32%
Network and information security
1 paper
Systems and software security · 100%

Topics — the 20 heaviest of 23, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Compilers and program optimization
verified compilation
0.922023
Formally Verified Samplers from Probabilistic Programs with Loops and Conditioning · Proc. ACM Program. Lang. 2023
Compositional CompCert · POPL 2015
Physical-layer communications
software-defined radio
0.842015
Demo: Implementation of Real-time WiFi Receiver in Ziria, Language for Rapid Prototyping of Wireless PHY · MobiCom 2015
Ziria: A DSL for Wireless Systems Programming · ASPLOS 2015
Ziria: language for rapid prototyping of wireless PHY · SIGCOMM 2014
Machine learning › Probabilistic and Bayesian machine learning
probabilistic programming
0.712023
Formally Verified Samplers from Probabilistic Programs with Loops and Conditioning · Proc. ACM Program. Lang. 2023
Program verification › probabilistic verification
probabilistic program verification
0.712023
Formally Verified Samplers from Probabilistic Programs with Loops and Conditioning · Proc. ACM Program. Lang. 2023
Machine learning › Learning theory
generalization bounds
0.412019
Certifying the True Error: Machine Learning in Coq with Verified Generalization Guarantees · AAAI 2019
Program verification › formal proof
mechanized proof
0.412019
Certifying the True Error: Machine Learning in Coq with Verified Generalization Guarantees · AAAI 2019
Systems and software security
information flow control
0.312018
GARUDA: Designing Energy-Efficient Hardware Monitors From High-Level Policies for Secure Information Flow · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2018
Systems and software security › program analysis
runtime monitoring
0.312018
GARUDA: Designing Energy-Efficient Hardware Monitors From High-Level Policies for Secure Information Flow · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2018
Algorithmic game theory and mechanism design › equilibrium computation
coarse correlated equilibrium
0.312017
Brief Announcement: Certified Multiplicative Weights Update: Verified Learning Without Regret · PODC 2017
Distributed computing theory
distributed algorithms
0.312017
Brief Announcement: Certified Multiplicative Weights Update: Verified Learning Without Regret · PODC 2017
Compilers and program optimization
domain-specific compilation
0.322015
Ziria: language for rapid prototyping of wireless PHY · SIGCOMM 2014
Demo: Implementation of Real-time WiFi Receiver in Ziria, Language for Rapid Prototyping of Wireless PHY · MobiCom 2015
Compilers and program optimization › compiler correctness
compositional compiler correctness
0.212015
Compositional CompCert · POPL 2015
Compilers and program optimization › compiler toolchain
separate compilation
0.212015
Compositional CompCert · POPL 2015
Automated reasoning and model checking › theorem proving
interactive theorem proving
0.222019
Certifying the True Error: Machine Learning in Coq with Verified Generalization Guarantees · AAAI 2019
Brief Announcement: Certified Multiplicative Weights Update: Verified Learning Without Regret · PODC 2017
Programming languages and type systems
type systems
0.212023
Formally Verified Samplers from Probabilistic Programs with Loops and Conditioning · Proc. ACM Program. Lang. 2023
Automated reasoning and model checking
theorem proving
0.112019
Certifying the True Error: Machine Learning in Coq with Verified Generalization Guarantees · AAAI 2019
Energy-efficient computing
power management
0.112018
GARUDA: Designing Energy-Efficient Hardware Monitors From High-Level Policies for Secure Information Flow · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2018
Programming languages and type systems
domain-specific languages
0.112015
Ziria: A DSL for Wireless Systems Programming · ASPLOS 2015
Physical-layer communications › physical layer
LTE physical layer
0.112014
Ziria: language for rapid prototyping of wireless PHY · SIGCOMM 2014
Wireless networking › wireless network protocols
wireless protocol design
0.112014
Poster: Ziria: language for rapid prototyping of wireless PHY · MobiCom 2014

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

coq · 1.4weakest pre-expectation semantics · 1.3random bit model · 1.3coinductive interaction trees · 1.3mechanized proof · 1.1extraction · 1.1domain-specific language · 1.0optimizing compiler · 0.8verilog generation · 0.7taint tracking · 0.7high-level policy compilation · 0.7multiplicative weights update · 0.3interactive theorem proving · 0.3proof assistant · 0.2
YearPublicationVenuePosition
2023 Formally Verified Samplers from Probabilistic Programs with Loops and Conditioning
abstract
We present Zar: a formally verified compiler pipeline from discrete probabilistic programs with unbounded loops in the conditional probabilistic guarded command language (cpGCL) to proved-correct executable samplers in the random bit model. We exploit the key idea that all discrete probability distributions can be reduced to unbiased coin-flipping schemes. The compiler pipeline first translates cpGCL programs into choice-fix trees, an intermediate representation suitable for reduction of biased probabilistic choices. Choice-fix trees are then translated to coinductive interaction trees for execution within the random bit model. The correctness of the composed translations establishes the sampling equidistribution theorem: compiled samplers are correct wrt. the conditional weakest pre-expectation semantics of cpGCL source programs. Zar is implemented and fully verified in the Coq proof assistant. We extract verified samplers to OCaml and Python and empirically validate them on a number of illustrative examples.
Alexander Bagnall, Gordon Stewart 0001, Anindya Banerjee 0001
Proc. ACM Program. Lang.2
2019 Certifying the True Error: Machine Learning in Coq with Verified Generalization Guarantees
abstract
We present MLCERT, a novel system for doing practical mechanized proof of the generalization of learning procedures, bounding expected error in terms of training or test error. MLCERT is mechanized in that we prove generalization bounds inside the theorem prover Coq; thus the bounds are machine checked by Coq’s proof checker. MLCERT is practical in that we extract learning procedures defined in Coq to executable code; thus procedures with proved generalization bounds can be trained and deployed in real systems. MLCERT is well documented and open source; thus we expect it to be usable even by those without Coq expertise. To validate MLCERT, which is compatible with external tools such as TensorFlow, we use it to prove generalization bounds on neural networks trained using TensorFlow on the extended MNIST data set.
Alexander Bagnall, Gordon Stewart 0001
AAAI2
2018 Verified Learning Without Regret - From Algorithmic Game Theory to Distributed Systems with Mechanized Complexity Guarantees
abstract
Multiplicative Weights (MW) is a simple yet powerful algorithm for learning linear classifiers, for ensemble learning à la boosting, for approximately solving linear and semidefinite systems, for computing approximate solutions to multicommodity flow problems, and for online convex optimization, among other applications. Recent work in algorithmic game theory, which applies a computational perspective to the design and analysis of systems with mutually competitive actors, has shown that no-regret algorithms like MW naturally drive games toward approximate Coarse Correlated Equilibria (CCEs), and that for certain games, approximate CCEs have bounded cost with respect to the optimal states of such systems. In this paper, we put such results to practice by building distributed systems such as routers and load balancers with performance and convergence guarantees mechanically verified in Coq. The main contributions on which our results rest are (1) the first mechanically verified implementation of Multiplicative Weights (specifically, we show that our MW is no regret) and (2) a language-based formulation, in the form of a DSL, of the class of games satisfying Roughgarden smoothness, a broad characterization of those games whose approximate CCEs have cost bounded with respect to optimal. Composing (1) with (2) within Coq yields a new strategy for building distributed systems with mechanically verified complexity guarantees on the time to convergence to near-optimal system configurations.
Samuel Merten, Alexander Bagnall, Gordon Stewart 0001
ESOP3
2018 Snårkl: Somewhat Practical, Pretty Much Declarative Verifiable Computing in Haskell
Gordon Stewart 0001, Samuel Merten, Logan Leland
PADL1
2018 GARUDA: Designing Energy-Efficient Hardware Monitors From High-Level Policies for Secure Information Flow
abstract
Runtime monitors detect vulnerabilities in embedded systems by running alongside untrusted software in order to detect violations of security policies as they occur, ideally with minimal overhead. Prior work has demonstrated language support for largely static security policies implemented using lattices and tag-based monitors. However, compiling high-level policies to modular hardware monitors that can implement a wide variety of security policies with minimal power has not been previously proposed. In this paper, we present a high-level security policy language, GARUDA, together with a compiler from GARUDA to Verilog, that enables the modular construction and composition of security hardware runtime monitors for a variety of security policies, including software fault isolation, secure control flow, and dynamic information flow via taint tracking. Unlike prior approaches in which the hardware monitors check all instructions, our hardware monitors are activated on-demand by the security policies which reduces the energy consumption. We perform experiments on Sniper, a full system multicore simulator, to evaluate the energy and performance tradeoffs of the security policies we have implemented so far. The policies are tested across a range of Splash-2 benchmarks.
Seaghan Sefton, Taiman Siddiqui, Nathaniel St. Amour, Gordon Stewart 0001, Avinash Karanth
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.4
2017 Brief Announcement: Certified Multiplicative Weights Update: Verified Learning Without Regret
abstract
The Multiplicative Weights Update method (MWU) is a simple yet powerful algorithm for learning linear classifiers, for ensemble learning a la boosting, for approximately solving linear and semidefinite systems, for computing approximate solutions to multicommodity flow problems, and for online convex optimization, among other applications. In this brief announcement, we apply techniques from interactive theorem proving to define and prove correct the first formally verified implementation of MWU (specifically, we show that our MWU is no regret). Our primary application -- and one justification of the relevance of our work to the PODC community -- is to verified multi-agent systems, such as distributed multi-agent network flow and load balancing games, for which verified MWU provides a convenient method for distributed computation of approximate Coarse Correlated Equilibria.
Alexander Bagnall, Samuel Merten, Gordon Stewart 0001
PODC3
2015 Ziria: A DSL for Wireless Systems Programming
abstract
Software-defined radio (SDR) brings the flexibility of software to wireless protocol design, promising an ideal platform for innovation and rapid protocol deployment. However, implementing modern wireless protocols on existing SDR platforms often requires careful hand-tuning of low-level code, which can undermine the advantages of software. Ziria is a new domain-specific language (DSL) that offers programming abstractions suitable for wireless physical (PHY) layer tasks while emphasizing the pipeline reconfiguration aspects of PHY programming. The Ziria compiler implements a rich set of specialized optimizations, such as lookup table generation and pipeline fusion. We also offer a novel -- due to pipeline reconfiguration -- algorithm to optimize the data widths of computations in Ziria pipelines. We demonstrate the programming flexibility of Ziria and the performance of the generated code through a detailed evaluation of a line-rate Ziria WiFi 802.11a/g implementation that is on par and in many cases outperforms a hand-tuned state-of-the-art C++ implementation on commodity CPUs.
Gordon Stewart 0001, Mahanth Gowda, Geoffrey Mainland, Bozidar Radunovic, Dimitrios Vytiniotis, Cristina Luengo Agullo
ASPLOS1
2015 Demo: Implementation of Real-time WiFi Receiver in Ziria, Language for Rapid Prototyping of Wireless PHY
abstract
Software-defined radios (SDR) have the potential to bring major innovation in wireless networking design. However, their impact so far has been limited due to complex programming tools. Most of the existing tools are either too slow to achieve the full line speeds of contemporary wireless PHYs or are too complex to master. In this demo we present our novel SDR programming environment called Ziria. Ziria consists of a novel programming language and an optimizing compiler. The compiler is able to synthesize very efficient SDR code from high-level PHY descriptions written in Ziria language. To illustrate its potential, we present the design of an LTE-like PHY layer in Ziria. We run it on the Sora SDR platform and demonstrate on a test-bed that it is able to operate in real-time.
Gordon Stewart 0001, Mahanth Gowda, Geoffrey Mainland, Bozidar Radunovic, Dimitrios Vytiniotis
MobiCom1
2015 Compositional CompCert
abstract
This paper reports on the development of Compositional CompCert, the first verified separate compiler for C.
Gordon Stewart 0001, Lennart Beringer, Santiago Cuéllar, Andrew W. Appel
POPL1
2014 Portable Software Fault Isolation
abstract
We present a new technique for architecture portable software fault isolation (SFI), together with a prototype implementation in the Coq proof assistant. Unlike traditional SFI, which relies on analysis of assembly-level programs, we analyze and rewrite programs in a compiler intermediate language, the Cminor language of the Comp Cert C compiler. But like traditional SFI, the compiler remains outside of the trusted computing base. By composing our program transformer with the verified back-end of Comp Cert and leveraging Comp Cert's formally proved preservation of the behavior of safe programs, we can obtain binary modules that satisfy the SFI memory safety policy for any of Comp Cert's supported architectures (currently: Power PC, ARM, and x86-32). This allows the same SFI analysis to be used across multiple architectures, greatly simplifying the most difficult part of deploying trustworthy SFI systems.
Joshua A. Kroll, Gordon Stewart 0001, Andrew W. Appel
CSF2
2014 Verified Compilation for Shared-Memory C
Lennart Beringer, Gordon Stewart 0001, Robert Dockins, Andrew W. Appel
ESOP2
2014 Poster: Ziria: language for rapid prototyping of wireless PHY
abstract
Software-defined radio (SDR) brings the flexibility of software to the domain of wireless protocol design, promising an ideal platform both for research and innovation and rapid deployment of new protocols on existing hardware. However, existing SDR programming platforms require either careful hand-tuning of low-level code, negating many of the advantages of software, or are too slow to be useful in the real world.
Mahanth Gowda, Gordon Stewart 0001, Geoffrey Mainland, Bozidar Radunovic, Dimitrios Vytiniotis, Doug Patterson
MobiCom2
2014 Ziria: language for rapid prototyping of wireless PHY
abstract
Software-defined radios (SDR) have the potential to bring major innovation in wireless networking design. However, their impact so far has been limited due to complex programming tools. Most of the existing tools are either too slow to achieve the full line speeds of contemporary wireless PHYs or are too complex to master. In this demo we present our novel SDR programming environment called Ziria. Ziria consists of a novel programming language and an optimizing compiler. The compiler is able to synthesize very efficient SDR code from high-level PHY descriptions written in Ziria language. To illustrate its potential, we present the design of an LTE-like PHY layer in Ziria. We run it on the Sora SDR platform and demonstrate on a test-bed that it is able to operate in real-time.
Gordon Stewart 0001, Mahanth Gowda, Geoffrey Mainland, Bozidar Radunovic, Dimitrios Vytiniotis, Doug Patterson
SIGCOMM1
2013 Computational Verification of Network Programs in Coq
Gordon Stewart 0001
CPP1
2013 Dependent types for enforcement of information flow and erasure policies in heterogeneous data structures
abstract
We consider verification of information flow and erasure properties in programs with heterogeneous heap-based data structures, in the presence of procedures with local state. A heterogeneous data structure, such as a hash table implementing a medical record database, may store both secret and public data simultaneously. In contrast, extant work primarily focuses on homogeneous data structures which store data of a uniform security level. Heterogeneity, however, does not come for free. For example, standard implementations of hash tables do not support heterogeneity, and may leak sensitive information easily owing to hash collisions. In this paper we identify unique representation as a sufficient condition for a heterogeneous data structure to be leak-free, while simultaneously supporting abstraction and modularity in verification. As a case study, we implement and verify a novel uniquely-represented variant of heterogeneous hash tables. Furthermore, we demonstrate modular reasoning by showing how specifications of the hash table methods can be used in a client application; we thereby obtain abstract and concise formal proofs of erasure. We formalize our work in Relational Hoare Type Theory (RHTT), an expressive, higher-order imperative language and program logic embedded in the Coq proof assistant.
Gordon Stewart 0001, Anindya Banerjee 0001, Aleksandar Nanevski
PPDP1
2012 Verified heap theorem prover by paramodulation
abstract
We present VeriStar, a verified theorem prover for a decidable subset of separation logic. Together with VeriSmall [3], a proved-sound Smallfoot-style program analysis for C minor, VeriStar demonstrates that fully machine-checked static analyses equipped with efficient theorem provers are now within the reach of formal methods. As a pair, VeriStar and VeriSmall represent the first application of the Verified Software Toolchain [4], a tightly integrated collection of machine-verified program logics and compilers giving foundational correctness guarantees.
Gordon Stewart 0001, Lennart Beringer, Andrew W. Appel
ICFP1