Demo Data from EDBT 2026 / reviewers in the wild / expert
Hanliang Zhang
dblp:342/8953
· DBLP profile ↗
4ranked-venue papers
3as first author
4since 2021 · last 2025
0000-0003-3309-0439ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 3 · 3 first-author · 3 since 2021Theory of computation · 2 · 1 first-author · 2 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
2 papers |
Program synthesis and code generation · 52% Software maintenance and evolution · 20% Program analysis · 20% |
Topics — the 3 heaviest of 5, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Program synthesis and code generation
code translation |
0.9 | 1 | 2025 | Scalable, Validated Code Translation of Entire Projects using Large Language Models · Proc. ACM Program. Lang. 2025 |
Program synthesis and code generation › code translation
LLM-based code translation |
0.9 | 1 | 2025 | Scalable, Validated Code Translation of Entire Projects using Large Language Models · Proc. ACM Program. Lang. 2025 |
Software maintenance and evolution › software reengineering › software modernization › software migration › language migration
c-to-rust translation |
0.7 | 1 | 2023 | Ownership Guided C to Rust Translation · CAV (3) 2023 |
Methods — techniques the papers use, named apart from their topics
type-compatibility checking · 0.9large language model · 0.9feature mapping · 0.9static analysis · 0.7ownership inference · 0.7
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2025 | Automated Translation of Real-World Codebases: How Far Are We?
Cristina David, Hanliang Zhang, Meng Wang 0002 |
SETTA | 2 |
| 2025 | Scalable, Validated Code Translation of Entire Projects using Large Language ModelsabstractLarge language models (LLMs) show promise in code translation due to their ability to generate idiomatic code. However, a significant limitation when using LLMs for code translation is scalability: existing works have shown a drop in translation success rates for code exceeding around 100 lines. We overcome this limitation by developing a modular approach to translation, where we partition the code into small code fragments which can be translated independently and semantically validated (that is, by checking I/O equivalence). When this approach is applied naively, we discover that LLMs are unreliable when translating features of the source language that do not have a direct mapping to the target language, and that the LLM often gets stuck in repair loops when attempting to fix errors. To address these issues, we introduce two key concepts: (1) feature mapping , which integrates predefined translation rules with LLM-based translation to guide the LLM in navigating subtle language differences and producing semantically accurate code; and (2) type-compatibility , which facilitates localized checks at the function signature level to detect errors early, thereby narrowing the scope of potential repairs. We apply our approach to translating real-world Go codebases to Rust, demonstrating that we can consistently generate reliable Rust translations for projects up to 9,700 lines of code and 780 functions, with an average of 73% of functions successfully validated for I/O equivalence, considerably higher than any existing work. Hanliang Zhang, Cristina David, Meng Wang 0002, Brandon Paulsen, Daniel Kroening |
Proc. ACM Program. Lang. | 1 |
| 2023 | Ownership Guided C to Rust TranslationabstractAbstract Dubbed a safer C, Rust is a modern programming language that combines memory safety and low-level control. This interesting combination has made Rust very popular among developers and there is a growing trend of migrating legacy codebases (very often in C) to Rust. In this paper, we present a C to Rust translation approach centred around static ownership analysis. We design a suite of analyses that infer ownership models of C pointers and automatically translate the pointers into safe Rust equivalents. The resulting tool, Crown, scales to real-world codebases (half a million lines of code in less than 10 s) and achieves a high conversion rate. Hanliang Zhang, Cristina David, Yijun Yu 0001, Meng Wang 0002 |
CAV (3) | 1 |
| 2023 | Contract lenses: Reasoning about bidirectional programs via calculationabstractAbstract Bidirectional transformations (BXs) are a mechanism for maintaining consistency between multiple representations of related data. The lens framework, which usually constructs BXs from lens combinators, has become the mainstream approach to BX programming because of its modularity and correctness by construction. However, the involved bidirectional behaviors of lenses make the equational reasoning and optimization of them much harder than unidirectional programs. We propose a novel approach to deriving efficient lenses from clear specifications via program calculation, a correct-by-construction approach to reasoning about functional programs by algebraic laws. To support bidirectional program calculation, we propose contract lenses , which extend conventional lenses with a pair of predicates to enable safe and modular composition of partial lenses. We define several contract-lens combinators capturing common computation patterns including $\textit{fold}, \textit{filter},\textit{map}$ , and $\textit{scan}$ , and develop several bidirectional calculation laws to reason about and optimize contract lenses. We demonstrate the effectiveness of our new calculation framework based on contract lenses with nontrivial examples. Hanliang Zhang, Ruifeng Xie, Meng Wang 0002, Zhenjiang Hu 0002 |
J. Funct. Program. | 1 |