Email: llmhyy AT gmail DOT com (or, dcsliny AT nus DOT edu DOT sg)
Office: COM2-02-16
Dr. LIN, Yun (林云)
I am a Research Assistant Professor in School of Computing, National University of Singapore. My research work focus on explainable and interactive root cause inference techniques for both traditional and AI programs. My expertise ranges from AI/software debugging (ICSE'17, ASE'18, TSE'19, AAAI'22, IJCAI'22, ISSTA'22), software testing (ESEC/FSE'21, ISSTA'20, ICSE'20, ICSE'18), cybersecurity (USENIX Security'21, USENIX Security'22), code recommendation and analyis (ICSE'14, ICSME'14, FSE'15, FSE'16, ASE'17). You may check my resume, research statement, and teaching statement for more details. My Github address is https://github.com/llmhyy. I am now on job market for tenure-track Assistant Professor.
Active Projects
Tregression (Interactive Trace Comparison Tool)
Tregression stands for trace-based regression bug localization technique. Given a regression bug (i..e, the code was correct yesterday but failed now), our tool can visualize the buggy trace and correct trace, and match the steps between two traces. In our tool, a click on any trace step will show the user (i..e, programmer) (1) the corresponding step on the other trace and (2) a code comparison editor of the two versions of the code. Moreover, we build control and data flow on the trace steps so that user can track the control and data flow on the buggy trace and correct trace to understand the root cause of a regression bug. More details can be checked here.
Evosuite++ (Software Testing Tool)
of this project aims to improve Evosuite from the perspective of gradient recovering, a paramount assumption of the effectiveness of SBST (Search-based Software Testing). The traditional SBST approaches defines the measurement (e.g., branch distance) for evaluating how far a generated test is away from covering a branch. Such a measurement is considered as a loss function (or fitness function) to guide test generation to cover specific branches with various search algorithm e.g., GA (Genetic Algorithm), Hill Climbing, etc. However, more often than not, the landscape of the search space is not continuous, which makes SBST approaches degrade to random testing. The project (Evosuite++) aims to pinpoint when the landscape is not conitinuous and propose various approaches to restore the effectiveness of SBST, e.g., recovering gradients for inteprocedural flag problem and constructing shortcut seeds to facilitate test generation. In this project, we enhance Evosuite in terms of branch distance gradient recovering, object construction, smarter mutation, etc. More details can be checked here.
Phishing Identification with Visual Explanation
In this work, we propose an explainable phishing identification system, Phishpedia, which (1) achieves both high identification accuracy and low runtime overhead, (2) provides causal visual annotation on the phishing webpage screenshot, and (3) does not require training on any phishing samples Phishpedia infers the intended brand from the webpage screenshot of an URL, and reports phishing based on alignment of intended brand domain and the landing domain of the URL. Phishpedia significantly outperforms baseline identification approaches (URLNet, StackModel, PhishCatcher, EMD, PhishZoo, and LogoSENSE) with respect to identification accuracy and runtime overhead. We deployed Phishpedia with emerging new domains fed from CertStream service and discovered 1704 phishing websites (including 1133 new zero-day phishing websites) within one month, significantly outperforming existing solutions. More details can be checked here.
Microbat (Interactive Trace Travelling Tool)
A feedback-based debugger for interactively recommending suspicious step in buggy program execution. It records the trace of the execution of a buggy program and allow developers to provide light-weight feedback on trace steps. Microbat is able to learn, analyze, and reason based on developers' feedback and program information and recommend suspicious step in buggy program. A demo video and more details can be checked here.