ICSME 2025
Sun 7 - Fri 12 September 2025 Auckland, New Zealand
Tue 9 Sep 2025 11:30 - 12:00 at Room 260-040 - Session 1

Code clones are a persistent challenge in modern software development, leading to higher maintenance costs, increased risk of bugs, and bloated codebases. The rise of AI coding assistants like GitHub Copilot has worsened this issue by accelerating the spread of duplicated, unrefactored code. At the same time, growing neurodiversity within development teams highlights the need for tools that reduce cognitive load and support more accessible interaction styles. This research introduces a new AI-powered extension for Visual Studio Code that detects and refactors code clones in real time. Unlike existing tools that work offline and stop at clone detection, our approach integrates NiCad for near-miss detection, applies refactorability analysis to prioritize (ranks) which clones to fix, and uses retrieval-augmented generation (RAG) to suggest context-aware refactorings. The tool also includes features designed for neurodivergent developers, such as gentle prompts and step-by-step guidance. By addressing redundancy as it occurs and promoting inclusive design, this work fills a key gap in current developer tools. We evaluate the system on Java and Python projects using clone benchmarks, controlled experiments, and user studies.

Palash Ranjan Roy is a Ph.D. student in Computer Science at the University of Saskatchewan. His research lies at the intersection of software engineering and artificial intelligence, focusing on the roles of large language models (LLMs) in code understanding, generation, and clone detection.

Beyond research, Palash is involved in academic leadership and mentorship. He has supervised award-winning undergraduate research projects and served as President of the Graduate Students’ Association at the University of Saskatchewan. His broader interests include trustworthy AI, program analysis, and human-AI collaboration in software development.

Tue 9 Sep

Displayed time zone: Auckland, Wellington change