I am a computer science researcher focusing on making systems more verifiable, efficient, and accessible by bridging programming languages, formal methods, software engineering, and compilers.

I obtained my Master's of Science in Computer Science from UBC working with Caroline Lemieux. My Master's thesis "QuAC: Quick Attribute-Centric Type Inference for Python" (OOPSLA'24) implemented QuAC, a novel Python type inference tool that leverages attribute sets and information retrieval techniques to predict types.

Before that, I obtained my Bachelor of Engineering from the School of Computer Science, Wuhan University under the guidance of Qingan Li. My Bachelor's thesis "Effective Stack Wear Leveling for NVM" (TCAD'23) proposed Loop2Recursion, a compiler-assisted stack wear leveling technique implemented as an LLVM pass for increasing the lifespan of NVM by converting wear-heavy loops into recursive functions. I have also conducted research in graph and trajectory data mining, advised by Yuanyuan Zhu.

Outside research, I enjoy blogging, contributing to open-source projects, and mentoring students.

Blog | Email | Facebook | GitHub | Instagram | LinkedIn | PyPI | Resume | WeChat | X

Utilities: Webcam Viewer


Papers

QuAC: Quick Attribute-Centric Type Inference for Python (Master's Thesis)
We implemented QuAC, a novel type inference tool for Python that collects attribute sets for Python expressions and uses information retrieval techniques to predict classes. Compared to baseline methods, QuAC efficiently handles rare non-builtin types and container type parameters and improves performance by an order of magnitude.
Effective Stack Wear Leveling for NVM (Bachelor's Thesis)
We increase the lifespan of non-volatile memory with limited write durability by implementing an LLVM pass that can convert wear-heavy loops in programs into recursive functions.
  • Published in: IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems (2023)
  • Authors: Jifeng Wu, Wei Li, Libing Wu, Mengting Yuan, Chun Jason Xue, Jingling Xue, Qingan Li
  • Mentor: Prof. Qingan Li
  • Time: August 2021 - August 2022
  • Paper
  • GitHub Repository

Essays

Community Detection Using Social Relations and Trajectories
Community detection is an essential task in social network analysis, but many friends on social networks are not close to one another in the real world. We introduce a novel approach that utilizes user trajectories to identify cohesive groups of users who frequently hang out together and presents algorithms for efficiently calculating spatiotemporal similarity between trajectories and community detection.

Friends