Demo Data from SIGIR 2026 / reviewers in the wild / expert
Andrew K. Hirsch
dblp:122/2921
· DBLP profile ↗
9ranked-venue papers
5as first author
6since 2021 · last 2025
0000-0003-2518-614XORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 7 · 3 first-author · 6 since 2021Security and privacy · 2 · 2 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 · 88% Concurrent programming · 12% | |
| Network and information security
2 papers |
Systems and software security · 80% Authentication and access control · 20% |
Topics — the 18 heaviest of 18, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Programming languages and type systems
type systems |
1.9 | 3 | 2025 | Choreographic Quick Changes: First-Class Location (Set) Polymorphism · Proc. ACM Program. Lang. 2025 Pirouette: higher-order typed functional choreographies · Proc. ACM Program. Lang. 2022 Giving semantics to program-counter labels via secure effects · Proc. ACM Program. Lang. 2021 |
Programming languages and type systems › concurrent programming languages
choreographic programming |
1.4 | 2 | 2025 | Choreographic Quick Changes: First-Class Location (Set) Polymorphism · Proc. ACM Program. Lang. 2025 Pirouette: higher-order typed functional choreographies · Proc. ACM Program. Lang. 2022 |
Programming languages and type systems › type systems
polymorphism |
0.9 | 1 | 2025 | Choreographic Quick Changes: First-Class Location (Set) Polymorphism · Proc. ACM Program. Lang. 2025 |
Systems and software security › information flow control
declassification |
0.7 | 1 | 2023 | Compositional Security Definitions for Higher-Order Where Declassification · Proc. ACM Program. Lang. 2023 |
Systems and software security
information flow control |
0.7 | 1 | 2023 | Compositional Security Definitions for Higher-Order Where Declassification · Proc. ACM Program. Lang. 2023 |
Programming languages and type systems › type systems
security type systems |
0.7 | 1 | 2023 | Compositional Security Definitions for Higher-Order Where Declassification · Proc. ACM Program. Lang. 2023 |
Concurrent programming › concurrency theory
endpoint projection |
0.6 | 1 | 2022 | Pirouette: higher-order typed functional choreographies · Proc. ACM Program. Lang. 2022 |
Programming languages and type systems
information flow control |
0.5 | 1 | 2021 | Giving semantics to program-counter labels via secure effects · Proc. ACM Program. Lang. 2021 |
Programming languages and type systems › information flow control
noninterference |
0.5 | 1 | 2021 | Giving semantics to program-counter labels via secure effects · Proc. ACM Program. Lang. 2021 |
Concurrent programming › concurrency correctness
deadlock freedom |
0.3 | 1 | 2025 | Choreographic Quick Changes: First-Class Location (Set) Polymorphism · Proc. ACM Program. Lang. 2025 |
Programming languages and type systems › functional programming
higher-order programs |
0.2 | 1 | 2023 | Compositional Security Definitions for Higher-Order Where Declassification · Proc. ACM Program. Lang. 2023 |
Interconnection networks and networks-on-chip › routing algorithms
deadlock-free routing |
0.2 | 1 | 2022 | Pirouette: higher-order typed functional choreographies · Proc. ACM Program. Lang. 2022 |
Authentication and access control
authorization |
0.2 | 1 | 2013 | Belief semantics of authorization logic · CCS 2013 |
Authentication and access control › authorization
authorization logic |
0.2 | 1 | 2013 | Belief semantics of authorization logic · CCS 2013 |
Logic in computer science
semantics |
0.2 | 1 | 2013 | Belief semantics of authorization logic · CCS 2013 |
Programming languages and type systems
language semantics |
0.1 | 1 | 2021 | Giving semantics to program-counter labels via secure effects · Proc. ACM Program. Lang. 2021 |
Programming languages and type systems › language semantics › formal semantics › denotational semantics
monadic semantics |
0.1 | 1 | 2021 | Giving semantics to program-counter labels via secure effects · Proc. ACM Program. Lang. 2021 |
Automated reasoning and model checking › theorem proving › formal theorem proving
proof mechanization |
0.0 | 1 | 2013 | Belief semantics of authorization logic · CCS 2013 |
Methods — techniques the papers use, named apart from their topics
coq verification · 1.1type system · 0.9mechanized proof · 0.9logical relations · 0.7logical relation · 0.7noninterference proof · 0.5monadic semantics · 0.5soundness proof · 0.3kripke semantics · 0.3coq · 0.3
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2025 | Choreographic Quick Changes: First-Class Location (Set) PolymorphismabstractChoreographic programming is a promising new paradigm for programming concurrent systems where a developer writes a single centralized program that compiles to individual programs for each node. Existing choreographic languages, however, lack critical features integral to modern systems, like the ability of one node to dynamically compute who should perform a computation and send that decision to others. This work addresses this gap with λ QC, the first typed choreographic language with first class process names and polymorphism over both types and (sets of) locations. λ QC also improves expressive power over previous work by supporting algebraic and recursive data types as well as multiply-located values. We formalize and mechanically verify our results in Rocq, including the standard choreographic guarantee of deadlock freedom. Ashley Samuelson, Andrew K. Hirsch, Ethan Cecchetti |
Proc. ACM Program. Lang. | 2 |
| 2024 | Alice or Bob?: Process polymorphism in choreographiesabstractAbstract We present PolyChor $\lambda$ , a language for higher-order functional choreographic programming —an emerging paradigm for concurrent programming. In choreographic programming, programmers write the desired cooperative behaviour of a system of processes and then compile it into an implementation for each process, a translation called endpoint projection . Unlike its predecessor, Chor $\lambda$ , PolyChor $\lambda$ has both type and process polymorphism inspired by System F $_\omega$ . That is, PolyChor $\lambda$ is the first (higher-order) functional choreographic language which gives programmers the ability to write generic choreographies and determine the participants at runtime. This novel combination of features also allows PolyChor $\lambda$ processes to communicate distributed values , leading to a new and intuitive way to write delegation. While some of the functional features of PolyChor $\lambda$ give it a weaker correspondence between the semantics of choreographies and their endpoint-projected concurrent systems than some other choreographic languages, we still get the hallmark end result of choreographic programming: projected programmes are deadlock-free by design. Eva Graversen, Andrew K. Hirsch, Fabrizio Montesi |
J. Funct. Program. | 2 |
| 2023 | Semantics for Noninterference with Interaction Trees
Lucas Silver, Paul He 0002, Ethan Cecchetti, Andrew K. Hirsch, Steve Zdancewic |
ECOOP | 4 |
| 2023 | Compositional Security Definitions for Higher-Order Where DeclassificationabstractTo ensure programs do not leak private data, we often want to be able to provide formal guarantees ensuring such data is handled correctly. Often, we cannot keep such data secret entirely; instead programmers specify how private data may bedeclassified. While security definitions for declassification exist, they mostly do not handle higher-order programs. In fact, in the higher-order setting no compositional security definition exists for intensional information-flow properties such aswheredeclassification, which allows declassification in specific parts of a program. We use logical relations to build a model (and thus security definition) of where declassification. The key insight required for our model is that we must stop enforcing indistinguishability once arelevant declassificationhas occurred. We show that the resulting security definition provides more security than the most related previous definition, which is for the lower-order setting. Jan Menz, Andrew K. Hirsch, Deepak Garg 0001 |
Proc. ACM Program. Lang. | 2 |
| 2022 | Pirouette: higher-order typed functional choreographiesabstractWe present Pirouette, a language for typed higher-order functional choreographic programming. Pirouette offers programmers the ability to write a centralized functional program and compile it via endpoint projection into programs for each node in a distributed system. Moreover, Pirouette is defined generically over a (local) language of messages, and lifts guarantees about the message type system to its own. Message type soundness also guarantees deadlock freedom. All of our results are verified in Coq. Andrew K. Hirsch, Deepak Garg 0001 |
Proc. ACM Program. Lang. | 1 |
| 2021 | Giving semantics to program-counter labels via secure effectsabstractType systems designed for information-flow control commonly use a program-counter label to track the sensitivity of the context and rule out data leakage arising from effectful computation in a sensitive context. Currently, type-system designers reason about this label informally except in security proofs, where they use ad-hoc techniques. We develop a framework based on monadic semantics for effects to give semantics to program-counter labels. This framework leads to three results about program-counter labels. First, we develop a new proof technique for noninterference, the core security theorem for information-flow control in effectful languages. Second, we unify notions of security for different types of effects, including state, exceptions, and nontermination. Finally, we formalize the folklore that program-counter labels are a lower bound on effects. We show that, while not universally true, this folklore has a good semantic foundation. Andrew K. Hirsch, Ethan Cecchetti |
Proc. ACM Program. Lang. | 1 |
| 2020 | First-Order Logic for Flow-Limited AuthorizationabstractWe present the Flow-Limited Authorization First-Order Logic (FLAFOL), a logic for reasoning about authorization decisions in the presence of information-flow policies. We formalize the FLAFOL proof system, characterize its proof-theoretic properties, and develop its security guarantees. In particular, FLAFOL is the first logic to provide a non-interference guarantee while supporting all connectives of first-order logic. Furthermore, this guarantee is the first to combine the notions of non-interference from both authorization logic and information-flow systems. All the theorems in this paper are proven in Coq. Andrew K. Hirsch, Pedro H. Azevedo de Amorim, Ethan Cecchetti, Ross Tate, Owen Arden |
CSF | 1 |
| 2018 | Strict and lazy semantics for effects: layering monads and comonadsabstractTwo particularly important classes of effects are those that can be given semantics using a monad and those that can be given semantics using a comonad. Currently, programs with both kinds of effects are usually given semantics using a technique that relies on a distributive law. While it is known that not every pair of a monad and a comonad has a distributive law, it was previously unknown if there were any realistic pairs of effects that could not be given semantics in this manner. This paper answers that question by giving an example of a pair of effects that cannot be given semantics using a distributive law. Our example furthermore is intimately tied to the duality of strictness and laziness. We discuss how to view this duality through the lens of effects. Andrew K. Hirsch, Ross Tate |
Proc. ACM Program. Lang. | 1 |
| 2013 | Belief semantics of authorization logicabstractA formal belief semantics for authorization logics is given. The belief semantics is proved to subsume a standard Kripke semantics. The belief semantics yields a direct representation of principals' beliefs, without resorting to the technical machinery used in Kripke semantics. A proof system is given for the logic; that system is proved sound with respect to the belief and Kripke semantics. The soundness proofs are mechanized in Coq. Andrew K. Hirsch, Michael R. Clarkson |
CCS | 1 |