CV
Education
- Phd Student - Software Engineering (2024-)
- Concordia University, Canada
- Master Student - Computer Science (2019-2022)
- Bachelor Student of Engineering(B.Eng) - Software Engineering (2015-2019)
Experience
- Java Engineer - Enterprise Intelligence Division (2022-2024)
- Intern - Cainiao NetWork (2021.05-2021.08)
- Researcher - UCL & WHU (2018.01-2018.11)
Projects
- Agentawre Framework for Refactoring – LLMs, Refactoring, RefactoringMiner, Langgraph – Sept. 2024 - Mar. 2025
- Proposed an end-to-end LLM agent-based solution for automated method-level refactoring.
- Using Contextual RAG, Multi-Agent Workflow, and Self-Reflexion to enhance the effectiveness of the approach.
- One short paper was accepted by the ICSE 2025 Student Research Competition MUARF: Leveraging Multi-Agent Workflows for Automated Code Refactoring.
- One full paper was submitted to one conference and is under review.
- Study of Higher-order Functions – Scalameta, SemanticDB, Weka, AST Parser – Sept. 2019 – Oct. 2021
- Usage analysis and test optimization of higher-order functions in Scala programs
- Two papers were published. One paper that was published on Empirical Software Engineering, the other was published on Journal of Computer Science and technology
- Learned about machine learning and testing in Scala and how to use tools like Weka, Scalameta, Matlab, SemanticDB
- Clone detection on large Scala Codebases – Clone detection, AutoEncoder – Jan. 2018 – Nov. 2018
- Part of the work with UCL
- Proposed an automated tool whose job is to detect code clones in the Scala programs. This tool first extracts features, such as identifier, Abstract Syntax Tree, Control Flow Graph, and bytecode to represent code segments, it then leverages deep learning model (AutoEncoder) to detect identical or similar code segments.
- The tool was adopted by Morgan Stanley and implemented into their trading system
Languages
- Mandarin Chinese (Native)
- English (IELTS 6.5)
Technical Skills
- Proficient in most prompt engineering techniques used in LLMs, with practical experience in leveraging LLMs for software engineering tasks.
- Solid Java programming abilities, able to tackle problems using a variety of design patterns and data structures
- Competent in additional programming languages
- Solid prior experience with distributed systems
Communication Skills
- Team-worker with strong team sense
- Always ready to acquire new knowledge
- Rapidly absorbing new information and enthused about cutting-edge technologies
- Well-organized and self-disciplined