Xiaowen Hu (胡晓文)PDF version
Hong Konggithub.com/XiaowenHu96 · [email protected]

I design and implement programming languages and program analyses, with a background spanning domain-specific language design, static and dynamic program analysis, and compiler engineering. I currently work on production language runtimes and virtual machines at the Compiler Lab of Huawei’s Hong Kong Research Center.

Experience

Senior Engineer, Compiler Lab, Huawei Hong Kong Research CenterNov 2024 – Present

Projects

Core Maintainer of the Soufflé Programming Language(C++) 2017–2022
Research Project on Ethereum Virtual Machine(Golang) 2021–2023
Internship at Cryptape(Rust) 2022

Education

Ph.D. in Computer Science2021–2024

Supervisor: Professor Bernhard Scholz
Thesis: High-Performance Virtual Machine Design for Domain-Specific Languages
The University of Sydney

B.S. in Computer Science (First-class Honours)2016–2021

The University of Sydney

Publications

  1. Hu, Xiaowen, David Zhao, Herbert Jordan, and Bernhard Scholz. An Efficient Interpreter for Datalog by De-Specializing Relations. In Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation, PLDI 2021, pages 681–695, 2021. ACM.

    We introduce a novel design and implementation of a tree interpreter for the state-of-the-art Datalog engine, Soufflé. Through de-specialization, a light-weight IR, and low-level optimization, we equip the interpreter runtime with highly efficient static data structures and obtain excellent performance improvement.
  2. Hu, Xiaowen, Joshua Karp, David Zhao, Abdul Zreika, Xi Wu, and Bernhard Scholz. The Choice Construct in the Soufflé Language. In Programming Languages and Systems, pages 163–181, Springer, 2021.

    We add a new language feature called choice to modern Datalog. Choice enforces a functional dependency on a relation, giving users a non-deterministic way to express worklist algorithms such as computing spanning trees and performing list scheduling.
  3. Samuel Arch, Hu, Xiaowen, David Zhao, Pavle Subotić, and Bernhard Scholz. Building a Join Optimizer for Soufflé. In Logic-Based Program Synthesis and Transformation, LOPSTR 2022, pages 83–102, Springer.

    We develop a join optimizer for Soufflé that automatically computes high-quality join orders using a feedback-directed strategy. On complex real-world applications including DOOP, DDISASM, and VPC, it surpasses un-tuned join orders by a geometric-mean speedup of 12.07×.
  4. Hu, Xiaowen, Bernd Burgstaller, and Bernhard Scholz. EVMTracer: Dynamic Analysis of the Parallelization and Redundancy Potential in the Ethereum Virtual Machine. IEEE Access, 11:47159–47178, 2023.

    We introduce EVMTracer, an offline EVM tracer that builds Runtime Data Dependence Graphs from executed transactions. Studying all blocks up to the 12-millionth on Ethereum mainnet, we find a potential 1.90× speedup from concurrent execution and that 34.97% of SLOAD instructions are redundant.
  5. Hu, Xiaowen, David Zhao, and Bernhard Scholz. Synthesizing Efficient Super-Instruction Sets for the Ethereum Virtual Machine. In Proceedings of the 16th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages, VMIL ’24, pages 54–64, 2024. ACM.

    We present a novel approach for the automated synthesis of super-instructions, combining offline dictionary-based compression with greedy heuristics to address overlap between candidates. A meta-compiler for the EVM generates a new interpreter incorporating them, yielding an 8.45% speedup for the interpreter component.

Teaching

Tutor of System Programming in C, The University of Sydney2021–2022
Tutor of Introduction to Programming, The University of Sydney2021

Activities

Committee Member2023

OOPSLA’23 External Review Committee
OOPSLA’23 Artifact Evaluation Committee
ECOOP’23 External Review Committee
ECOOP’23 Artifact Evaluation Committee

Committee Member2021

OOPSLA’21 Artifact Evaluation Committee
PLDI’21 Artifact Evaluation Committee

Honours

High Honour Roll2021
First-Class Honours2021

Supervisor: Professor Bernhard Scholz
Thesis: An Efficient Interpreter for Soufflé.

Dean’s List2018