cv
To download the pdf format of my resume, click the icon.
Education
-
2024.08 - Present New Orleans, LA, US
PhD
Tulane University
Computer Science
- CMPS 6370 Data Visualization
- CMPS 6662 Human-Computer Interaction
-
2022.09 - 2024.06 Irvine, CA, US
Master
University of California, Irvine
Software Engineering
- SWE 211 Software Engineering
- SWE 212 Analysis Programming Language
- SWE 214 Software Analysis
- SWE 215 Dynamic Analysis, Testing, Debugging
- STATS 201 Stat Meth Data I
-
2018.08 - 2022.05 Columbus, OH, US
Bachelor
The Ohio State University
Computer Science and Engineering
- CSE 3231 Software Engineering
- CSE 3232 Software Requirement Analysis
- CSE 5236 Mobile Application Development
Publications
-
2026.05 Breaking Strong Encapsulation: A Comprehensive Study of Java Module Abuse
IEEE/ACM
Conducted the first empirical study on Breaking Strong Encapsulation (BSE) in Java Platform Module System (JPMS). Collected and analyzed 4,079 GitHub issues to identify symptoms, abuse sources, and solutions. Our findings reveal a tension between module developers enforcing encapsulation and users attempting to break it, highlighting the need for effective mitigation strategies.
-
2021.09 A New Vehicle Distance Measure Method Based on the License Plate with Image Edge Detection and Color Recognition in the Complex Environment
IEEE
This paper presents a method for detecting license plates and measuring the distance between vehicles using image processing techniques. It employs edge detection and color recognition, along with least square method error correction, to achieve a mean square error of 0.0428, significantly lower than the baseline.
Skills
| Programming Languages | |
| Java | |
| Python | |
| JavaScript | |
| C++ | |
| C# | |
| SQL |
| Software Engineering | |
| Static Analysis | |
| Software Architecture | |
| Module Systems | |
| Reflection Analysis | |
| Compile-time Analysis | |
| Code Quality | |
| Software Testing |
| Data Analysis & Visualization | |
| Trace Data Visualization | |
| Interactive Dashboards | |
| Jupyter Notebooks | |
| Data Analysis | |
| Visual Analytics |
| Research & Analysis | |
| Empirical Studies | |
| Qualitative Research | |
| Data Collection | |
| Statistical Analysis | |
| Academic Writing |
| Development Tools | |
| Git | |
| Jekyll | |
| AWS | |
| Spring Boot | |
| Database Management | |
| Mobile Development |
Languages
| Mandarin | |
| Native speaker |
| English | |
| Fluent |
Interests
| Software Engineering Research | |
| Static Analysis | |
| Software Architecture | |
| Module Systems | |
| Code Quality | |
| Software Debugging |
| Data Visualization | |
| Trace Data Visualization | |
| Interactive Dashboards | |
| Visual Analytics | |
| Jupyter Notebooks |
| Empirical Software Engineering | |
| Empirical Studies | |
| Software Metrics | |
| Research Methodology | |
| Data Analysis |
Projects
- 2023.12 - 2024.05
BEAD - Breaking Encapsulation Abuse Detector
Developed an automatic detection tool leveraging static analysis to identify encapsulation abuse instances in Java projects. BEAD scans JDK source code to extract module details and analyzes Java programs to extract abuse information from reflection and compile-time invocations. The tool reports abuse instances based on combined module and package information, helping developers address Breaking Strong Encapsulation (BSE) issues in Java Platform Module System (JPMS).
- Java
- Static Analysis
- Module Systems
- Reflection Analysis
- Compile-time Analysis
- 2023.12 - 2024.05
Breaking Strong Encapsulation (BSE): A comprehensive Study of Java Module Abuse
Conducted an empirical study on identifying and characterizing the Breaking Strong Encapsulation(BSE) threats in Java Platform Module System(JPMS). Collected a comprehensive dataset containing 4,079 GitHub issues from various perspectives, including symptoms, abuse sources, desired functionalities, and solutions. Highlighted the need for both practitioners and researchers to develop effective strategies to mitigate BSE problems.
- Java Platform Module System
- Software Architecture
- Software Engineering
- 2023.04 - 2023.12
Empirical Study of Software Architectural Modularization in Java Systems
Conducted ecosystem-aware analysis within architectural decay in modules and evolution of Java modular frameworks. Rejuvenated module decay by using DARCY, an automatic architectural inconsistency detection approach, to perform a comparative study on over-exposure problems existing in Java frameworks.
- Java Platform Module System
- Static Analysis
- Software Architecture
- 2023.01 - 2023.03
Empirical Study of Dark Patterns Impacts on Blind Mobile Users
Conducted an empirical study with 135 Android apps and recorded 459 dark patterns existing on those Mobile apps. Categorized detected dark patterns into five types: nagging, obstruction, sneaking, interface interferences, and forced action. Analyzed Google TalkBack's mechanics and evaluated the detection issues of dark patterns from the code level. Classified dark patterns into three levels based on the impacts of blind users.
- Software Accessibility
- Mobile Software
- Human-Computer Interaction
- Software Design
- 2022.01 - 2022.05
Project Lily - New Architecture & Technology Stack fo Every Voice Engaged(EVE) Company
Implement EVE's new architecture and technology stack under Spring Boot framework and Twilio within AWS service to host microservices for features like invitation, registration, and reminder emails.
- Microservice Implementation
- Back-end Development
- 2021.05 - 2021.06
A New Vehicle Distance Measure Method Based on the License Plate with Image Edge Detection and Color Recognition in the Complex Environment
Conducted a study on developing a method to optimize existing license plate detection and vehicle distance measurement. Combined edge detection and color detection techniques for the plate detection optimization. Employed the least square method and error correction to measure the distance between vehicles, and sampled results randomly to correct errors. Paper published on EIECS 2021
- License Plate Detection
- Vehicle Distance Measurement
- Digital Image Processing