EDBT 2026 Demo / reviewers in the wild / expert
Stephen Magill
dblp:30/5360
· DBLP profile ↗
13ranked-venue papers
5as first author
0since 2021 · last 2019
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 8 · 4 first-authorSecurity and privacy · 4 · 1 first-authorTheory of computation · 4 · 1 first-authorArtificial intelligence and machine learning · 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 |
Program verification · 52% Program synthesis and code generation · 32% Software maintenance and evolution · 6% | |
| Network and information security
1 paper |
Systems and software security · 100% | |
| Artificial intelligence
1 paper |
Trustworthy machine learning · 100% |
Topics — the 13 heaviest of 15, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Program synthesis and code generation
inductive program synthesis |
0.4 | 1 | 2019 | An inductive synthesis framework for verifiable reinforcement learning · PLDI 2019 |
Program verification
neural network verification |
0.4 | 1 | 2019 | An inductive synthesis framework for verifiable reinforcement learning · PLDI 2019 |
Program synthesis and code generation
syntax-guided synthesis |
0.4 | 1 | 2019 | An inductive synthesis framework for verifiable reinforcement learning · PLDI 2019 |
Program verification › constraint-based verification
constrained horn clauses |
0.3 | 1 | 2018 | A data-driven CHC solver · PLDI 2018 |
Software maintenance and evolution
dynamic software updating |
0.1 | 1 | 2012 | Automating object transformations for dynamic software updating · OOPSLA 2012 |
Machine learning › Trustworthy machine learning › AI safety
safety assurance |
0.1 | 1 | 2019 | An inductive synthesis framework for verifiable reinforcement learning · PLDI 2019 |
Programming languages and type systems
heap-manipulating programs |
0.1 | 1 | 2010 | Automatic numeric abstractions for heap-manipulating programs · POPL 2010 |
Program verification
safety verification |
0.1 | 1 | 2010 | Automatic numeric abstractions for heap-manipulating programs · POPL 2010 |
Program verification
termination analysis |
0.1 | 1 | 2010 | Automatic numeric abstractions for heap-manipulating programs · POPL 2010 |
Program verification
invariant generation |
0.1 | 1 | 2018 | A data-driven CHC solver · PLDI 2018 |
Program verification › pointer program verification
heap reasoning |
0.1 | 1 | 2008 | THOR: A Tool for Reasoning about Shape and Arithmetic · CAV 2008 |
Program analysis › static analysis › pointer analysis
shape analysis |
0.1 | 1 | 2008 | THOR: A Tool for Reasoning about Shape and Arithmetic · CAV 2008 |
Software testing
regression testing |
0.0 | 1 | 2012 | Automating object transformations for dynamic software updating · OOPSLA 2012 |
Methods — techniques the papers use, named apart from their topics
counterexample-guided inductive synthesis · 0.8inductive invariants · 0.4inductive invariant · 0.4blackbox verification · 0.4black-box verification · 0.4predicate abstraction · 0.3machine learning · 0.3CEGAR · 0.3test execution · 0.1synthesis · 0.1object matching · 0.1abstract interpretation · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2019 | An inductive synthesis framework for verifiable reinforcement learningabstractDespite the tremendous advances that have been made in the last decade on developing useful machine-learning applications, their wider adoption has been hindered by the lack of strong assurance guarantees that can be made about their behavior. In this paper, we consider how formal verification techniques developed for traditional software systems can be repurposed for verification of reinforcement learning-enabled ones, a particularly important class of machine learning systems. Rather than enforcing safety by examining and altering the structure of a complex neural network implementation, our technique uses blackbox methods to synthesizes deterministic programs, simpler, more interpretable, approximations of the network that can nonetheless guarantee desired safety properties are preserved, even when the network is deployed in unanticipated or previously unobserved environments. Our methodology frames the problem of neural network verification in terms of a counterexample and syntax-guided inductive synthesis procedure over these programs. The synthesis procedure searches for both a deterministic program and an inductive invariant over an infinite state transition system that represents a specification of an application's control logic. Additional specifications defining environment-based constraints can also be provided to further refine the search space. Synthesized programs deployed in conjunction with a neural network implementation dynamically enforce safety conditions by monitoring and preventing potentially unsafe actions proposed by neural policies. Experimental results over a wide range of cyber-physical applications demonstrate that software-inspired formal verification techniques can be used to realize trustworthy reinforcement learning systems with low overhead. He Zhu 0001, Zikang Xiong, Stephen Magill, Suresh Jagannathan |
PLDI | 3 |
| 2018 | Continuous Formal Verification of Amazon s2n
Andrey Chudnov, Nathan Collins, Byron Cook, Joey Dodds, Brian Huffman, Colm MacCárthaigh, Stephen Magill, Eric Mertens, Eric Mullen, Serdar Tasiran, Aaron Tomb, Eddy Westbrook |
CAV (2) | 7 |
| 2018 | A data-driven CHC solverabstractWe present a data-driven technique to solve Constrained Horn Clauses (CHCs) that encode verification conditions of programs containing unconstrained loops and recursions. Our CHC solver neither constrains the search space from which a predicate's components are inferred (e.g., by constraining the number of variables or the values of coefficients used to specify an invariant), nor fixes the shape of the predicate itself (e.g., by bounding the number and kind of logical connectives). Instead, our approach is based on a novel machine learning-inspired tool chain that synthesizes CHC solutions in terms of arbitrary Boolean combinations of unrestricted atomic predicates. A CEGAR-based verification loop inside the solver progressively samples representative positive and negative data from recursive CHCs, which is fed to the machine learning tool chain. Our solver is implemented as an LLVM pass in the SeaHorn verification framework and has been used to successfully verify a large number of nontrivial and challenging C programs from the literature and well-known benchmark suites (e.g., SV-COMP). He Zhu 0001, Stephen Magill, Suresh Jagannathan |
PLDI | 2 |
| 2013 | Dynamic enforcement of knowledge-based security policies using probabilistic abstract interpretationabstractThis paper explores the idea of knowledge-based security policies, which are used to decide whether to answer queries over secret data based on an estimation of the querier's (possibly increased) knowledge given the results. Limiting knowledge is the goal of existing information release policies that employ mechanisms such as noising, anonymization, and redaction. Knowledge-based policies are more general: they increase flexibility by not fixing the means to restrict information flow. We enforce a knowledge-based policy by explicitly tracking a model of a querier's belief about secret data, represented as a probability distribution, and denying any query that could increase knowledge above a given threshold. We implement query analysis and belief tracking via abstract interpretation, which allows us to trade off precision and performance through the use of abstraction. We have developed an approach to augment standard abstract domains to include probabilities, and thus define distributions. We focus on developing probabilistic polyhedra in particular, to support numeric programs. While probabilistic abstract interpretation has been considered before, our domain is the first whose design supports sound conditioning, which is required to ensure that estimates of a querier's knowledge are accurate. Experiments with our implementation show that several useful queries can be handled efficiently, particularly compared to exact (i.e., sound) inference involving sampling. We also show that, for our benchmarks, restricting constraints to octagons or intervals, rather than full polyhedra, can dramatically improve performance while incurring little to no loss in precision. Piotr Mardziel, Stephen Magill, Michael Hicks 0001, Mudhakar Srivatsa |
J. Comput. Secur. | 2 |
| 2012 | Automating object transformations for dynamic software updatingabstractDynamic software updating (DSU) systems eliminate costly downtime by dynamically fixing bugs and adding features to executing programs. Given a static code patch, most DSU systems construct runtime code changes automatically. However, a dynamic update must also specify how to change the running program's execution state, e.g., the stack and heap, to make it compatible with the new code. Constructing such state transformations correctly and automatically remains an open problem. This paper presents a solution called Targeted Object Synthesis (TOS). TOS first executes the same tests on the old and new program versions separately, observing the program heap state at a few corresponding points. Given two corresponding heap states, TOS matches objects in the two versions using key fields that uniquely identify objects and correlate old and new-version objects. Given example object pairs, TOS then synthesizes the simplest-possible function that transforms an old-version object to its new-version counterpart. We show that TOS is effective on updates to four open-source server programs for which it generates non-trivial transformation functions that use conditionals, operate on collections, and fix memory leaks. These transformations help programmers understand their changes and apply dynamic software updates. Stephen Magill, Michael Hicks 0001, Suriya Subramanian, Kathryn S. McKinley |
OOPSLA | 1 |
| 2011 | Dynamic Enforcement of Knowledge-Based Security PoliciesabstractThis paper explores the idea of knowledge-based security policies, which are used to decide whether to answer queries over secret data based on an estimation of the querier's (possibly increased) knowledge given the results. Limiting knowledge is the goal of existing information release policies that employ mechanisms such as noising, anonymization, and redaction. Knowledge-based policies are more general: they increase flexibility by not fixing the means to restrict information flow. We enforce a knowledge-based policy by explicitly tracking a model of a querier's belief about secret data, represented as a probability distribution, and denying any query that could increase knowledge above a given threshold. We implement query analysis and belief tracking via abstract interpretation using a novel probabilistic polyhedral domain, whose design permits trading off precision with performance while ensuring estimates of a querier's knowledge are sound. Experiments with our implementation show that several useful queries can be handled efficiently, and performance scales far better than would more standard implementations of probabilistic computation based on sampling. Piotr Mardziel, Stephen Magill, Michael Hicks 0001, Mudhakar Srivatsa |
CSF | 2 |
| 2010 | Automatic numeric abstractions for heap-manipulating programsabstractWe present a logic for relating heap-manipulating programs to numeric abstractions. These numeric abstractions are expressed as simple imperative programs over integer variables and have the property that termination and safety of the numeric program ensures termination and safety of the original, heap-manipulating program. We have implemented an automated version of this abstraction process and present experimental results for programs involving a variety of data structures. Stephen Magill, Ming-Hsien Tsai 0001, Peter Lee 0001, Yih-Kuen Tsay |
POPL | 1 |
| 2009 | Finding heap-bounds for hardware synthesisabstractDynamically allocated and manipulated data structures cannot be translated into hardware unless there is an upper bound on the amount of memory the program uses during all executions. This bound can depend on the generic parameters to the program, i.e., program inputs that are instantiated at synthesis time. We propose a constraint based method for the discovery of memory usage bounds, which leads to the first-known C-to-gates hardware synthesis supporting programs with non-trivial use of dynamically allocated memory, e.g., linked lists maintained with malloc and free. We illustrate the practicality of our tool on a range of examples. Byron Cook, Ashutosh Gupta 0001, Stephen Magill, Andrey Rybalchenko, Jiri Simsa, Satnam Singh, Viktor Vafeiadis |
FMCAD | 3 |
| 2008 | THOR: A Tool for Reasoning about Shape and Arithmetic
Stephen Magill, Ming-Hsien Tsai 0001, Peter Lee 0001, Yih-Kuen Tsay |
CAV | 1 |
| 2007 | Arithmetic Strengthening for Shape Analysis
Stephen Magill, Josh Berdine, Edmund M. Clarke, Byron Cook |
SAS | 1 |
| 2004 | The Inverse Method for the Logic of Bunched Implications
Kevin Donnelly, Tyler Gibson, Neelakantan R. Krishnaswami, Stephen Magill |
LPAR | 4 |
| 2002 | Implementation and Verification of Programmable Security
Stephen Magill, Bradley Skaggs, Mauricio Papa, John Hale |
DBSec | 1 |
| 2000 | Simulation and Analysis of Cryptographic Protocols
Mauricio Papa, Oliver Bremer, Stephen Magill, John Hale, Sujeet Shenoi |
DBSec | 3 |