VLDB 2026 Research / reviewers in the wild / expert
Paul He 0002
dblp:202/2044-2
· DBLP profile ↗
9ranked-venue papers
1as first author
6since 2021 · last 2026
0000-0002-6305-4335ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 7 · 1 first-author · 4 since 2021Human-computer interaction and ubiquitous computing · 2 · 2 since 2021Theory of computation · 1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | The Process of Collaboratively Creating a Global Computing Education Terminology Resource with GenAI-in-the-LoopabstractEducational terminology in computing remains fragmented across geographic regions and educational traditions. Identical terms may refer to different concepts in different regions, while equivalent concepts are often termed differently in different traditions, creating barriers to the exchange of pedagogical practices. A globally shared terminology resource will help bridge this inconsistency in usage. This working group will explore the use of generative AI (GenAI) to support the aggregation, validation, and curation of terminology from diverse sources. Generative AI will serve in a directed co-development role while domain experts will still retain responsibility for the final product. The working group will evaluate the benefits and limitations of this GenAI-in-the-loop approach with particular attention to accuracy, bias, and coverage. Amruth N. Kumar, Michael J. Oudshoorn, Mohammed Seyam, Mor Friebroon Yesharim, Rukiye Altin, Leonard Peter Binamungu, Karen L. Bradshaw, Carlos Cabrera, Nils Dyck, Malayam Parambath Gilesh, Paul He 0002, Andreea Molnar, Jonathan Mwaura, Liviana Tudor |
ITiCSE (2) | 11 |
| 2026 | Effects of Mastery-Inspired Checkpoint Quizzes in a Large Introductory CS Course: A Mixed Methods StudyabstractStudents may learn at different paces due to differences in prior programming experience (PPE), physical or mental health challenges, and economic or lifestyle barriers (e.g., employment or caregiving responsibilities). Additionally, increasing use of AI tools for homework can contribute to inaccurate self-assessment and poor preparation for supervised tests. Motivated by these challenges, we introduced bi-weekly low-stakes checkpoint quizzes in a large (~500-student) introductory CS course. Inspired by alternative grading paradigms such as mastery learning (ML), each quiz could be attempted multiple times without penalty, offering students frequent feedback and opportunities for iterative improvement. Our mixed-methods study investigated the impact of these quizzes on performance, self-assessment, stress levels, and overall experience, using performance and survey data (N=456). Results showed that though retake opportunities allowed students to improve quiz performance, frequent retake attempts were associated with lower final exam outcomes, suggesting continued struggle on novel problems. Despite limited performance benefits, survey data revealed strong affective outcomes based on overwhelmingly positive student sentiment: students reported high Likert-scale ratings for learning/engagement and stress reduction value (though subgroup differences by gender, PPE, English fluency, and retake frequency suggest room to improve equity outcomes), and the majority of open-ended responses described the quizzes as helpful for improving self-assessment, reducing stress, and supporting meaningful learning. Overall, our implementation allowed students to experience some benefits of ML while retaining enough structure to prevent procrastination, illustrating how ML?inspired assessment can be incorporated into courses without a full course redesign. Sadia Sharmin, Paul He 0002 |
ITiCSE (1) | 2 |
| 2025 | Choice trees: Representing and reasoning about nondeterministic, recursive, and impure programs in RocqabstractAbstract This paper introduces Choice Trees (CTrees), a monad for modeling nondeterministic, recursive, and impure programs in Rocq . Inspired by Xia et al .’s ((2019) Proc. ACM Program. Lang. 4 (POPL)) ITrees, this novel data structure embeds computations into coinductive trees with three kinds of nodes: external events, internal steps, and delayed branching. This structure allows us to provide shallow embedding of denotational models with nondeterministic choice in the style of ccs , while recovering an inductive LTS view of the computation. CTrees leverage a vast collection of bisimulation and refinement tools well-studied on LTSs, with respect to which we establish a rich equational theory. We connect CTrees to the ITrees infrastructure by showing how a monad morphism embedding the former into the latter permits using CTrees to implement nondeterministic effects. We demonstrate the utility of CTrees by using them to model concurrency semantics in two case studies: ccs and cooperative multithreading. Nicolas Chappe, Paul He 0002, Ludovic Henrio, Eleftherios Ioannidis, Yannick Zakowski, Steve Zdancewic |
J. Funct. Program. | 2 |
| 2023 | Semantics for Noninterference with Interaction Trees
Lucas Silver, Paul He 0002, Ethan Cecchetti, Andrew K. Hirsch, Steve Zdancewic |
ECOOP | 2 |
| 2023 | Choice Trees: Representing Nondeterministic, Recursive, and Impure Programs in CoqabstractThis paper introduces ctrees, a monad for modeling nondeterministic, recursive, and impure programs in Coq. Inspired by Xia et al.'s itrees, this novel data structure embeds computations into coinductive trees with three kind of nodes: external events, and two variants of nondeterministic branching. This apparent redundancy allows us to provide shallow embedding of denotational models with internal choice in the style of CCS, while recovering an inductive LTS view of the computation. ctrees inherit a vast collection of bisimulation and refinement tools, with respect to which we establish a rich equational theory. We connect ctrees to the itree infrastructure by showing how a monad morphism embedding the former into the latter permits to use ctrees to implement nondeterministic effects. We demonstrate the utility of ctrees by using them to model concurrency semantics in two case studies: CCS and cooperative multithreading. Nicolas Chappe, Paul He 0002, Ludovic Henrio, Yannick Zakowski, Steve Zdancewic |
Proc. ACM Program. Lang. | 2 |
| 2021 | A type system for extracting functional specifications from memory-safe imperative programsabstractVerifying imperative programs is hard. A key difficulty is that the specification of what an imperative program does is often intertwined with details about pointers and imperative state. Although there are a number of powerful separation logics that allow the details of imperative state to be captured and managed, these details are complicated and reasoning about them requires significant time and expertise. In this paper, we take a different approach: a memory-safe type system that, as part of type-checking, extracts functional specifications from imperative programs. This disentangles imperative state, which is handled by the type system, from functional specifications, which can be verified without reference to pointers. A key difficulty is that sometimes memory safety depends crucially on the functional specification of a program; e.g., an array index is only memory-safe if the index is in bounds. To handle this case, our specification extraction inserts dynamic checks into the specification. Verification then requires the additional proof that none of these checks fail. However, these checks are in a purely functional language, and so this proof also requires no reasoning about pointers. Paul He 0002, Eddy Westbrook, Brent Carmer, Chris Phifer, Valentin Robert, Karl Smeltzer, Andrei Stefanescu, Aaron Tomb, Adam Wick, Matthew Yacavone, Steve Zdancewic |
Proc. ACM Program. Lang. | 1 |
| 2020 | An equational theory for weak bisimulation via generalized parameterized coinductionabstractCoinductive reasoning about infinitary structures such as streams is widely applicable. However, practical frameworks for developing coinductive proofs and finding reasoning principles that help structure such proofs remain a challenge, especially in the context of machine-checked formalization. Yannick Zakowski, Paul He 0002, Chung-Kil Hur, Steve Zdancewic |
CPP | 2 |
| 2020 | Interaction trees: representing recursive and impure programs in CoqabstractInteraction trees (ITrees) are a general-purpose data structure for representing the behaviors of recursive programs that interact with their environments. A coinductive variant of “free monads,” ITrees are built out of uninterpreted events and their continuations. They support compositional construction of interpreters from event handlers , which give meaning to events by defining their semantics as monadic actions. ITrees are expressive enough to represent impure and potentially nonterminating, mutually recursive computations, while admitting a rich equational theory of equivalence up to weak bisimulation. In contrast to other approaches such as relationally specified operational semantics, ITrees are executable via code extraction, making them suitable for debugging, testing, and implementing software artifacts that are amenable to formal verification. We have implemented ITrees and their associated theory as a Coq library, mechanizing classic domain- and category-theoretic results about program semantics, iteration, monadic structures, and equational reasoning. Although the internals of the library rely heavily on coinductive proofs, the interface hides these details so that clients can use and reason about ITrees without explicit use of Coq’s coinduction tactics. To showcase the utility of our theory, we prove the termination-sensitive correctness of a compiler from a simple imperative source language to an assembly-like target whose meanings are given in an ITree-based denotational semantics. Unlike previous results using operational techniques, our bisimulation proof follows straightforwardly by structural induction and elementary rewriting via an equational theory of combinators for control-flow graphs. Li-yao Xia, Yannick Zakowski, Paul He 0002, Chung-Kil Hur, Gregory Malecha, Benjamin C. Pierce, Steve Zdancewic |
Proc. ACM Program. Lang. | 3 |
| 2017 | A simple soundness proof for dependent object typesabstractDependent Object Types (DOT) is intended to be a core calculus for modelling Scala. Its distinguishing feature is abstract type members, fields in objects that hold types rather than values. Proving soundness of DOT has been surprisingly challenging, and existing proofs are complicated, and reason about multiple concepts at the same time (e.g. types, values, evaluation). To serve as a core calculus for Scala, DOT should be easy to experiment with and extend, and therefore its soundness proof needs to be easy to modify. This paper presents a simple and modular proof strategy for reasoning in DOT. The strategy separates reasoning about types from other concerns. It is centred around a theorem that connects the full DOT type system to a restricted variant in which the challenges and paradoxes caused by abstract type members are eliminated. Almost all reasoning in the proof is done in the intuitive world of this restricted type system. Once we have the necessary results about types, we observe that the other aspects of DOT are mostly standard and can be incorporated into a soundness proof using familiar techniques known from other calculi. Marianna Rapoport, Ifaz Kabir, Paul He 0002, Ondrej Lhoták |
Proc. ACM Program. Lang. | 3 |