Rethinking Code Similarity: A Logic-Based Framework for Cross-Language Analysis beyond Functional Equivalence
Jican Zhang, Jianeng Zhang, Xin Shen, Lei Xue, Liming Nie, Fengwei Lin, Kefeng Wu, Tao Zhang, Pingxin Du · ACM Transactions on Software Engineering and Methodology · 2025
Cross-language code plagiarism and vulnerability propagation pose significant threats to software integrity, necessitating advanced methods for code similarity analysis. Traditional approaches primarily emphasize functional equivalence, often overlooking deeper structural and algorithmic similarities. Consequently, these methods frequently misclassify code fragments as similar solely based on functional alignment, despite substantial differences in their underlying logic or algorithmic implementation. To address this critical limitation, we propose SimCL, a novel logic-driven cross-language code similarity analysis framework. The core innovation of SimCL lies in employing a unified Control Flow Graph (uCFG) representation, derived from a newly introduced language-agnostic Unified Intermediate Representation (uIR). This unified approach facilitates the precise identification of logical similarities across diverse programming languages, transcending syntactic and superficial functional similarities. Furthermore, we introduce SimGK, a tailored similarity calculation algorithm leveraging graph kernel techniques specifically optimized for accurately comparing code-related uCFGs. To rigorously evaluate SimCL, we constructed two distinctive datasets: the TranDataset, comprising logically and functionally similar cross-language code pairs, and the FuncDataset, consisting of logically similar yet functionally distinct pairs. These datasets address gaps in existing resources by explicitly differentiating between logical and functional dimensions. Comprehensive experimental results indicate that SimCL significantly outperforms existing state-of-the-art approaches in cross-language code similarity detection, demonstrating superior precision, recall, and F1 scores. Thus, SimCL effectively addresses current limitations, substantially enhancing accuracy and reliability in detecting code clones and vulnerability propagation across programming languages.