I’m working with Andreas Zeller in the CISPA Helmholtz Center for Information Security, discovering new ways of solving software engineering (SE) problems (program analysis, testing, debugging, fuzzing, etc.) via formal methods (FM) and programming language (PL) theories. One topic I’m now working on is adding grammar-based refinement types to existing languages (such mypy, a static type checking framework for Python), so that many issues related to invalid formats and string values can be detected. See this short paper and poster for an introduction.
I received my bachelor and master (adviser Fei He) both in Tsinghua University, where my research focus was on program synthesis and software merging. I worked with Derek Dreyer for a while on the verification of C programs using RefinedC. I had experience across PL, SE, and FV – and I’m open to any entertaining and potentially useful topics related to software. I enjoy cocktails, an art of mixing various components in a balanced and innovative way, just like inventing fancy features for a programming language.
Education
- Bachelor in Computer Science & Technology, Tsinghua University, 2017
- Master of Software Engineering, Tsinghua University, 2020
Teaching Assistant
At Tsinghua University:
- 30240382 Principles of Compilation, 2017 Fall
- 30240243 Operating Systems, 2018 Spring
- 30240382 Principles of Compilation, 2018 Fall
- 34100352 Functional Programming, 2019 Spring
- 44100484 Modeling and Verification of Software Systems I, 2019 Spring
- 30240382 Principles of Compilation, 2019 Fall
- 44100603 Software Analysis and Verification, 2020 Spring
At Saarland University:
- Automated Debugging, 2022 Fall
Publications
- Fengmin Zhu, Xingyu Xie, Dongyu Feng, Na Meng, Fei He. On the Methodology of Three-Way Structured Merge in Version Control Systems: Top-Down, Bottom-Up, or Both. Journal of Systems Architecture, 2023. (Extended version of our SETTA'22 paper) DOI PDF
- Fengmin Zhu, Jiangyi Liu, Fei He. Automated Ambiguity Detection in Layout-Sensitive Grammars. OOPSLA'23. DOI preprint website talk
- Fengmin Zhu, Xingyu Xie, Dongyu Feng, Na Meng, Fei He. Mastery: Shifted-Code-Aware Structured Merging. SETTA'22 (best paper award). DOI preprint repo talk slide
- Fengmin Zhu, Fei He. EqFix: Fixing LaTeX Equation Errors by Examples. SETTA'22. DOI extended version repo talk slide
- Fengmin Zhu, Michael Sammler, Rodolphe Lepigre, Derek Dreyer, Deepak Garg. BFF: Foundational and Automated Verification of Bitfield-Manipulating Programs. OOPSLA'22. DOI website talk slide
- Fengmin Zhu, Fei He. Conflict Resolution for Structured Merge via Version Space Algebra. OOPSLA'18. DOI website video slide
- Fengmin Zhu, Fei He, Qianshan Yu. Enhancing Precision of Structured Merge by Proper Tree Matching. ICSE'19 Poster. DOI
Interested Research Topics
PL-related:
- Subtyping, with intersection/union types
- Design and implementation of object-oriented languages and proof assistants
- Search-based/constraint-solving-based/type-directed synthesis
- Formal verification via a combination of manual and automated approaches
- Theory and tooling of layout-sensitive grammars
SE-related:
- Structured diffing and merging of software
- Representation and construction of structured data/inputs
- Automated repair of compilation/semantic errors
- The next-generation debugging methods and tools
Selected Projects/Tools
- Decaf project: A simple education-purpose programming language for compiler courses
- LL1-Parser-Gen: An LL(1) parser generator in principle. (Used in the compilation course)
- Mastery: A more reasonable and neat three-way structured merge tool (now just for Java).
- ThuThesis-Starter: A starter template for new users of ThuThesis.
- Sudoku-BMC: A sudoku solver based upon NuSMV bounded model checker. (course project)
- LustreAST: A small tool to translate between the Lustre language and its AST representation. (course project)
- mydb: A simple one-user single-thread database. (course project)
Selected Cocktails
Negroni is one of my favorite cocktails and I tried plenty of variants. The traditional Dry Martini and its twists are also what I love. I have a telegram channel on cocktail making, though some of the comments are in Chinese.
Hobby “Research” Topics
- The theory and practice of body building
- The technology, engineering and history of urban rail transit
- The similarity and connection of different natural languages
- The scientific aspects of evaluating drinks (e.g. coffee, craft beer, whisky, cocktails and mocktails) and foods
- fengmin.zhu
at
cispadot
de - @deprecated paulzhu
at
mpi-swsdot
org
List of Talks
Most of the talks were given in Chinese, but the materials were in English.
Tunight Talks
Tunight is a traditional event held by TUNA.
- TikZ 画“图”指南 Materials Video
- Code is Cheap, Show Me the Proof Materials Video
- Object-Oriented Programming in Scala Video
- Parsing from Scratch Slide
- Maybe, it’s a Monad! Slide