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

Zhengyao Lin

dblp:290/4042 · DBLP profile ↗
← Back
9ranked-venue papers
4as first author
9since 2021 · last 2026
0000-0001-5475-5765ORCID · verified

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

Software engineering, systems software and programming languages · 6 · 3 first-author · 6 since 2021Security and privacy · 2 · 1 first-author · 2 since 2021Theory of computation · 2 · 2 since 2021Artificial intelligence and machine learning · 1 · 1 since 2021Systems, architecture and hardware · 1 · 1 since 2021

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 · 51% Compilers and program optimization · 30% Programming languages and type systems · 16%
Network and information security
2 papers
Systems and software security · 50% Cryptographic protocols and secure computation · 50%
Theoretical computer science
2 papers
Automated reasoning and model checking · 63% Logic in computer science · 37%
Computer architecture, parallel and distributed computing, and storage systems
1 paper
Reconfigurable computing and FPGAs · 100%

Topics — the 18 heaviest of 19, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Compilers and program optimization › verified compilation
translation validation
1.322024
FlowCert: Translation Validation for Asynchronous Dataflow via Dynamic Fractional Permissions · Proc. ACM Program. Lang. 2024
Language-parametric compiler validation with application to LLVM · ASPLOS 2021
Cryptographic protocols and secure computation › key management › public key infrastructure
certificate validation
0.912025
Towards Practical, End-to-End Formally Verified X.509 Certificate Validators with Verdict · USENIX Security Symposium 2025
Systems and software security
memory safety
0.912025
Vest: Verified, Secure, High-Performance Parsing and Serialization for Rust · USENIX Security Symposium 2025
Reconfigurable computing and FPGAs
coarse-grained reconfigurable architecture
0.812024
FlowCert: Translation Validation for Asynchronous Dataflow via Dynamic Fractional Permissions · Proc. ACM Program. Lang. 2024
Program verification
deductive verification
0.712023
Generating Proof Certificates for a Language-Agnostic Deductive Program Verifier · Proc. ACM Program. Lang. 2023
Automated reasoning and model checking
automated reasoning
0.612022
Synthesizing axiomatizations using logic learning · Proc. ACM Program. Lang. 2022
Logic in computer science
modal logic
0.612022
Synthesizing axiomatizations using logic learning · Proc. ACM Program. Lang. 2022
Programming languages and type systems › program equivalence
bisimulation
0.512021
Language-parametric compiler validation with application to LLVM · ASPLOS 2021
Compilers and program optimization
compiler validation
0.512021
Language-parametric compiler validation with application to LLVM · ASPLOS 2021
Programming languages and type systems
language semantics
0.512021
Towards a Trustworthy Semantics-Based Language Framework via Proof Generation · CAV (2) 2021
Program verification › equivalence checking
program equivalence checking
0.512021
Language-parametric compiler validation with application to LLVM · ASPLOS 2021
Program verification
proof generation
0.512021
Towards a Trustworthy Semantics-Based Language Framework via Proof Generation · CAV (2) 2021
Program verification › system verification
end-to-end verification
0.312025
Towards Practical, End-to-End Formally Verified X.509 Certificate Validators with Verdict · USENIX Security Symposium 2025
Concurrent programming › concurrency bug detection
data race detection
0.212024
FlowCert: Translation Validation for Asynchronous Dataflow via Dynamic Fractional Permissions · Proc. ACM Program. Lang. 2024
Automated reasoning and model checking › theorem proving
proof certification
0.212023
Generating Proof Certificates for a Language-Agnostic Deductive Program Verifier · Proc. ACM Program. Lang. 2023
Automated reasoning and model checking › theorem proving
proof checking
0.212023
Generating Proof Certificates for a Language-Agnostic Deductive Program Verifier · Proc. ACM Program. Lang. 2023
Compilers and program optimization › code generation
instruction selection
0.112021
Language-parametric compiler validation with application to LLVM · ASPLOS 2021
Program verification › mechanized verification
proof checking
0.112021
Towards a Trustworthy Semantics-Based Language Framework via Proof Generation · CAV (2) 2021

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

translation validation · 1.5dynamic fractional permissions · 1.5rewriting logic · 1.3reachability logic · 1.3proof certificate generation · 1.3dataflow graph analysis · 0.8data flow graph analysis · 0.8synthesis · 0.6logic learning · 0.6proof generation · 0.5proof checking · 0.5language-parametric equivalence checking · 0.5cut-bisimulation · 0.5
YearPublicationVenuePosition
2026 Let It Flow: A Formally Verified Compilation Framework for Asynchronous Dataflow
abstract
Dataflow architectures have gained renewed interest due to their balance between energy efficiency and performance. In (spatial) dataflow architectures, a program is represented as a set of entirely distributed and dynamically scheduled dataflow operators that communicate through asynchronous channels, which greatly improves data locality and parallelism. However, compiling to dataflow architectures remains an error-prone process, due to the difficulty of maintaining determinacy while enabling pipelining . Determinacy means that the result of a dataflow program is deterministic and independent of the schedule of operator execution, and pipelining is an important optimization in spatial dataflow that enables parallelism across loop iterations. In this work, we present Wavelet, the first effort to formally verify a compiler for asynchronous dataflow. We use a mix of techniques to achieve this goal. Our frontend uses a novel capability type system with fences to synchronize conflicting memory accesses and enable pipelining . We then verify a Lean formalization of two core compiler passes that translate elaborated programs from the type checker to dataflow graphs, proving important properties of forward simulation and determinacy . Notably, our formalization semantically propagates the soundness guarantees of the frontend type system, ensuring modularity between simulation and determinacy proofs. In our evaluation, we show that dataflow graphs compiled by Wavelet have comparable quality to those produced by unverified dataflow compilers from RipTide and LLVM CIRCT.
Zhengyao Lin, Milijana Surbatovich
Proc. ACM Program. Lang.1
2025 Cazamariposas: Automated Instability Debugging in SMT-Based Program Verification
abstract
Abstract Program verification languages such as Dafny and F $$ ^\star $$ ⋆ often rely heavily on Satisfiability Modulo Theories (SMT) solvers for proof automation. However, SMT-based verification suffers from instability, where semantically irrelevant changes in the source program can cause spurious proof failures. While existing mitigation techniques emphasize preemptive measures, we propose a complementary approach that focuses on diagnosing and repairing specific instances of instability-induced failures. Our key technique is a novel differential analysis to pinpoint problematic quantified formulas in an unstable query. We implement this technique in Cazamariposas, a tool that automatically identifies such quantified formulas and suggests fixes. We evaluate Cazamariposas on multiple large-scale systems verification projects written in three different program verification languages. Our results demonstrate Cazamariposas ’ effectiveness as an instability debugger. In the majority of cases, Cazamariposas successfully isolates the issue to a single problematic quantifier, while providing a stabilizing fix.
Yi Zhou 0025, Zhengyao Lin, Marijn Heule, Bryan Parno
CADE3
2025 Vest: Verified, Secure, High-Performance Parsing and Serialization for Rust
Pratap Singh, Zhengyao Lin, Jay Bosamiya, Joshua Gancher, Milijana Surbatovich, Bryan Parno
USENIX Security Symposium3
2025 Towards Practical, End-to-End Formally Verified X.509 Certificate Validators with Verdict
Zhengyao Lin, Michael McLoughlin, Pratap Singh, Rory Brennan-Jones, Paul Hitchcox, Joshua Gancher, Bryan Parno
USENIX Security Symposium1
2024 FlowCert: Translation Validation for Asynchronous Dataflow via Dynamic Fractional Permissions
abstract
Coarse-grained reconfigurable arrays (CGRAs) have gained attention in recent years due to their promising power efficiency compared to traditional von Neumann architectures. To program these architectures using ordinary languages such as C, a dataflow compiler must transform the original sequential, imperative program into an equivalent dataflow graph, composed of dataflow operators running in parallel. This transformation is challenging since the asynchronous nature of dataflow graphs allows out-of-order execution of operators, leading to behaviors not present in the original imperative programs. Weaddress this challenge by developing a translation validation technique for dataflow compilers to ensure that the dataflow program has the same behavior as the original imperative program on all possible inputs and schedules of execution. We apply this method to a state-of-the-art dataflow compiler targeting the RipTide CGRAarchitecture. Our tool uncovers 8 compiler bugs where the compiler outputs incorrect dataflow graphs, including a data race that is otherwise hard to discover via testing. After repairing these bugs, our tool verifies the correct compilation of all programs in the RipTide benchmark suite.
Zhengyao Lin, Joshua Gancher, Bryan Parno
Proc. ACM Program. Lang.1
2023 Generating Proof Certificates for a Language-Agnostic Deductive Program Verifier
abstract
Previous work on rewriting and reachability logic establishes a vision for a language-agnostic program verifier, which takes three inputs: a program, its formal specification, and the formal semantics of the programming language in which the program is written. The verifier then uses a language-agnostic verification algorithm to prove the program correct with respect to the specification and the formal language semantics. Such a complex verifier can easily have bugs. This paper proposes a method to certify the correctness of each successful verification run by generating a proof certificate. The proof certificate can be checked by a small proof checker. The preliminary experiments apply the method to generate proof certificates for program verification in an imperative language, a functional language, and an assembly language, showing that the proposed method is language-agnostic.
Zhengyao Lin, Xiaohong Chen 0002, Minh-Thai Trinh, Grigore Rosu
Proc. ACM Program. Lang.1
2022 Synthesizing axiomatizations using logic learning
abstract
Axioms and inference rules form the foundation of deductive systems and are crucial in the study of reasoning with logics over structures. Historically, axiomatizations have been discovered manually with much expertise and effort. In this paper we show the feasibility of using synthesis techniques to discover axiomatizations for different classes of structures, and in some contexts, automatically prove their completeness. For evaluation, we apply our technique to find axioms for (1) classes of frames in modal logic characterized in first-order logic and (2) the class of language models with regular operations.
Paul Krogmeier, Zhengyao Lin, Adithya Murali, P. Madhusudan
Proc. ACM Program. Lang.2
2021 Language-parametric compiler validation with application to LLVM
abstract
We propose a new design for a Translation Validation (TV) system geared towards practical use with modern optimizing compilers, such as LLVM. Unlike existing TV systems, which are custom-tailored for a particular sequence of transformations and a specific, common language for input and output programs, our design clearly separates the transformation-specific components from the rest of the system, and generalizes the transformation-independent components. Specifically, we present Keq, the first program equivalence checker that is parametric to the input and output language semantics and has no dependence on the transformation between the input and output programs. The Keq algorithm is based on a rigorous formalization, namely cut-bisimulation, and is proven correct. We have prototyped a TV system for the Instruction Selection pass of LLVM, being able to automatically prove equivalence for translations from LLVM IR to the MachineIR used in compiling to x86-64. This transformation uses different input and output languages, and as such has not been previously addressed by the state of the art. An experimental evaluation shows that Keq successfully proves correct the translation of over 90% of 4732 supported functions in GCC from SPEC 2006.
Theodoros Kasampalis, Daejun Park 0001, Zhengyao Lin, Vikram S. Adve, Grigore Rosu
ASPLOS3
2021 Towards a Trustworthy Semantics-Based Language Framework via Proof Generation
abstract
Abstract We pursue the vision of anideal language framework, where programming language designers only need to define the formalsyntaxandsemanticsof their languages, and all language tools are automatically generated by the framework. Due to the complexity of such a language framework, it is a big challenge to ensure its trustworthiness and to establish the correctness of the autogenerated language tools. In this paper, we propose an innovative approach based onproof generation. The key idea is to generate proof objects as correctness certificates for each individual task that the language tools conduct, on a case-by-case basis, and use a trustworthy proof checker to check the proof objects. This way, we avoid formally verifying the entire framework, which is practically impossible, and thus can make the language framework bothpracticalandtrustworthy. As a first step, we formalize program execution as mathematical proofs and generate their complete proof objects. The experimental result shows that the performance of our proof object generation and proof checking is very promising.
Xiaohong Chen 0002, Zhengyao Lin, Minh-Thai Trinh, Grigore Rosu
CAV (2)2