CSSG: Measuring Code Similarity with Semantic Graphs
This addresses the limitation of existing code similarity metrics for developers and researchers by providing a more effective semantics-aware approach.
The paper tackles the problem of measuring code similarity by proposing CSSG, a metric that uses program dependence graphs to model semantic relationships, which consistently outperforms existing metrics on the CodeContests+ dataset in distinguishing similar code.
Existing code similarity metrics, such as BLEU, CodeBLEU, and TSED, largely rely on surface-level string overlap or abstract syntax tree structures, and often fail to capture deeper semantic relationships between programs.We propose CSSG (Code Similarity using Semantic Graphs), a novel metric that leverages program dependence graphs to explicitly model control dependencies and variable interactions, providing a semantics-aware representation of code.Experiments on the CodeContests+ dataset show that CSSG consistently outperforms existing metrics in distinguishing more similar code from less similar code under both monolingual and cross-lingual settings, demonstrating that dependency-aware graph representations offer a more effective alternative to surface-level or syntax-based similarity measures.