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

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