Demo Data from SIGIR 2026 / reviewers in the wild / expert
Boyao Ding
dblp:348/0765
· DBLP profile ↗
4ranked-venue papers
2as first author
4since 2021 · last 2026
0009-0009-4208-7961ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 4 · 2 first-author · 4 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
1 paper |
Program analysis · 91% Runtime systems and virtual machines · 9% |
Topics — the 4 heaviest of 4, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Program analysis › static analysis › pointer analysis
escape analysis |
0.8 | 1 | 2024 | MEA2: A Lightweight Field-Sensitive Escape Analysis with Points-to Calculation for Golang · Proc. ACM Program. Lang. 2024 |
Program analysis › static analysis
pointer analysis |
0.8 | 1 | 2024 | MEA2: A Lightweight Field-Sensitive Escape Analysis with Points-to Calculation for Golang · Proc. ACM Program. Lang. 2024 |
Program analysis
static analysis |
0.8 | 1 | 2024 | MEA2: A Lightweight Field-Sensitive Escape Analysis with Points-to Calculation for Golang · Proc. ACM Program. Lang. 2024 |
Runtime systems and virtual machines
garbage collection |
0.2 | 1 | 2024 | MEA2: A Lightweight Field-Sensitive Escape Analysis with Points-to Calculation for Golang · Proc. ACM Program. Lang. 2024 |
Methods — techniques the papers use, named apart from their topics
interprocedural analysis · 0.8function summaries · 0.8field-sensitive analysis · 0.8
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | An empirical study of CGO usage in Go projects - Distribution, purposes, patterns and critical issues
Jinbao Chen, Boyao Ding, Yu Zhang 0086, Qingwei Li, Fugen Tang |
J. Syst. Softw. | 2 |
| 2025 | GoFree: Reducing Garbage Collection via Compiler-Inserted FreeingabstractIn a memory-managed programming language, programmers allocate memory by creating new objects, but programmers never free memory. A garbage collector (GC) periodically reclaims memory used by unreachable objects. As an optimization based on escape analysis, some memory can be freed explicitly by instructions inserted by the compiler. This optimization reduces the cost of garbage collection, without changing the programming model. We designed and implemented this explicit freeing optimization for the Go language. We devised a new escape analysis that is both powerful and fast (𝑂(𝑁^2) time). Our escape analysis identifies short-lived heap objects that can be safely explicitly deallocated. We also implemented a freeing primitive that is safe for use in concurrent environments. We evaluated our system, GoFree, on 6 open-source Go programs. GoFree did not observably slow down compilation. At run time, GoFree deallocated on average 14% of allocated heap memory. It reduced GC frequency by 7%, GC time by 13%, wall-clock time by 2%, and heap size by 4%. We open-source GoFree. Yu Zhang 0086, Michael D. Ernst, Jinbao Chen, Boyao Ding |
CGO | 5 |
| 2024 | MEA2: A Lightweight Field-Sensitive Escape Analysis with Points-to Calculation for GolangabstractEscape analysis plays a crucial role in garbage-collected languages as it enables the allocation of non-escaping variables on the stack by identifying the dynamic lifetimes of objects and pointers. This helps in reducing heap allocations and alleviating garbage collection pressure. However, Go, as a garbage-collected language, employs a fast yet conservative escape analysis, which is field-insensitive and omits point-to-set calculation to expedite compilation. This results in more variables being allocated on the heap. Empirical statistics reveal that field access and indirect memory access are prevalent in real-world Go programs, suggesting potential opportunities for escape analysis to enhance program performance. In this paper, we propose MEA 2 , an escape analysis framework atop GoLLVM (an LLVM-based Go compiler), which combines field sensitivity and points-to analysis. Moreover, a novel generic function summary representation is designed to facilitate fast inter-procedural analysis. We evaluated it by using MEA 2 to perform stack allocation in 12 wildly-use open-source projects. The results show that, compared to Go’s escape analysis, MEA 2 can reduce heap allocation sites by 7.9 % on average (up to 25.7 % ) while reducing the dynamic memory allocation size by 11.6 % on average (up to 35.5 % ). All this is achieved while keeping the time overhead of escape analysis within 1 % of the compilation process. Boyao Ding, Qingwei Li, Yu Zhang 0086, Fugen Tang, Jinbao Chen |
Proc. ACM Program. Lang. | 1 |
| 2023 | CGORewritter: A better way to use C library in GabstractCGO is a foreign function interface mechanism that enables the creation of Go packages that call C code. It provides a way to reuse legacy C code or high-performance C libraries. However, it is tedious and error-prone to manually write the bindings of C libraries in Go. To make better use of CGO to realize the use of C libraries in Go, we propose CGORewritter in this paper. For a given Go library and corresponding C library, the internal code of the Go API function can be rewritten while keeping the Go API unchanged, and the C API function can be called through CGO in a semi-automatic way so that the application layer program can upgrade without any change. We use this method to rewrite the go/crypto with the OpenSSL library. Experimental results show that the rewritten code maintains full functionality and can be used by application code without modification. Besides, the rewritten code gains a 0.97-3.07× speedup. Boyao Ding, Yu Zhang 0086, Jinbao Chen, Mingzhe Hu, Qingwei Li |
SANER | 1 |