Research

My research interests include software engineering, programming language, and systems.

I am now doing research about code transformation and automated program repair with Jiajun Jiang and professor Yingfei Xiong.

In the summer of 2018, I visited Carnegie Mellon University as a research intern. I was very fortunate to work with Shurui Zhou and professor Christian Kästner. Our work has been published on SANER 2019.

Publication

L. RenS. ZhouC. Kästner, and A. WąsowskiIdentifying Redundancies in Fork-based Development. In Proceedings of the 27th IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER), 2019. [ .pdfbib ]

Fork-based development is popular and easy to use, but makes it difficult to maintain an overview of the whole community when the number of forks increases, which leads to redundant development where multiple developers are solving the same problem in parallel without being aware of each other. Redundant development wastes effort for both maintainers and developers. In this paper, we designed an approach to identify redundant code changes in forks as early as possible by extracting clues indicating similarities between code changes, and building a machine learning model to predict redundancies. We evaluated the effectiveness from both the maintainer’s and the developer’s perspectives. The result shows that we achieve 57%-83% precision for detecting duplicate code changes from maintainer’s perspective, and we could save developers’ effort of 1.9-3.0 commits on average. Also, we show that our approach significantly outperforms existing state-of-art.

L. RenS. Zhou, and C. KästnerPoster: Forks Insight: Providing an Overview of GitHub Forks. In Proceedings of the Companion of the International Conference on Software Engineering (ICSE), pages 179–180, New York, NY: ACM Press, 2018. Poster. [ .pdfdoibib ]

Fork-based development allows developers to start development
from existing software repository by copying the code files. However, when the number of forks grows, contributions are not always visible to others, unless an explicit merge-back attempt is
made. To solve this problem, we implemented Forks Insight (www.
forks-insight.com) to help developers get an overview of forks on
GitHub. The current release version focuses on simple analytics for the high level overview which is lightweight, scalable and practical. It has a user-friendly interactive web interface with features like searching and tagging.

Side Project

DIDO

DIDO is a duplicate issues detector for GitHub repositories. Similar feature has already shipped into GitHub. See the story here.