Investigating Code Reuse in Software Redesign: A Case Study
Xiaowen Zhang, Huaien Zhang, Shin Hwei Tan

TL;DR
This paper studies code reuse challenges in software redesign, proposing semantic alignment heuristics and clone detection strategies, validated through case studies on open-source projects, achieving significant clone reduction and community contributions.
Contribution
It introduces semantic reuse patterns, clone detection enhancements, and empirical validation in a real-world case study of software redesign.
Findings
Bidirectional reuse is necessary due to non-linear migration.
Semantic alignment heuristics improve clone detection precision.
Approach reduces irrelevant clones by up to 99% and increases detection precision to 86%.
Abstract
Software redesign preserves functionality while improving quality attributes, but manual reuse of code and tests is costly and error-prone, especially in crossrepository redesigns. Focusing on static analyzers where cross-repo redesign needs often arise, we conduct a bidirectional study of the ongoing Soot/SootUp redesign case using an action research methodology that combines empirical investigation with validated open-source contributions. Our study reveals: (1) non-linear migration which necessitates bidirectional reuse, (2) deferred reuse via TODOs, (3) neglected test porting, and (4) residual bug propagation during migrations. We identify tracking corresponding code and tests as the key challenge, and address it by retrofitting clone detection to derive code mappings between original and redesigned projects. Guided by semantic reuse patterns derived in our study, we propose…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
