My name is Jifeng Wu. I am a Computer Science Master's student at UBC working with Caroline Lemieux in the Software Practices Lab. I am interested in Programming Languages, Software Engineering, and Data Science.

Before that, I obtained my Bachelor of Engineering from the School of Computer Science, Wuhan University. My bachelor's thesis, "Effective Stack Wear Leveling for NVM," was advised by Qingan Li, and I have also done research in graph data mining, as advised by Yuanyuan Zhu. You can see my Wuhan University Student's Transcript here.

In my free time, I enjoy deriving personal interpretations of various concepts in the natural and social sciences, computer programming (I master C++, Python, and Shell, and am learning Rust and OCaml; I am also an avid Unix fan), photography, hiking, cycling, and cooking.

You can find my blog and diary here, my CV here, and feel free to contact me through my social media links:

emaillinkedininstagramgithubfacebooktwitterwechat


Work in Progress

QuAC: Quick Attribute-Centric Type Inference for Python (Under Review for OOPSLA 2024)
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.

Papers

Effective Stack Wear Leveling for NVM
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

EECE 571F Deep Learning with Structure Project "The Impact of Synthetic Data on Image Captioning Models"
Significant improvements in the quality and availability of generative models have led to widespread synthetic data across the Internet. Motivated by previous work on synthetic data from an "in-the-wild" Stable Diffusion model improving accuracy and robustness of image classification, this paper investigates the influence of synthetic data on image captioning, a much more challenging task bridging computer vision and natural language processing, through experiments conducted with the classic "Show and Tell" model.
CPSC 548: Directed Studies Report on Program Synthesis
This directed studies report on program synthesis explores fundamental concepts and principles, implements and compares classic program synthesis algorithms, and provides insights into their strengths, weaknesses, challenges, and future research directions. The experience has equipped me with knowledge and skills applicable to future research, such as working with SMT solvers (constraint solvers) and automating the data extraction and visualization processes.
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.

Conference Experiences

Pre-MICCAI Workshop@UBC

ICFP 2023

  • Role: Mentee, Programming Languages Mentoring Workshop
  • Time: September 4, 2023

The Cornell, Maryland, Max Planck Pre-doctoral Research School 2023

ISSTA/ECOOP 2023

PNW PLSE 2023 Workshop


Functional Programming

Theory

Practice

Research Programming

Machine Learning

Business Strategies

LLVM

Trajectory Data Mining

Community Detection

Fashion

Cooking


Friends