Loading [a11y]/accessibility-menu.js
Graph-of-Code: Semantic Clone Detection Using Graph Fingerprints | IEEE Journals & Magazine | IEEE Xplore

Graph-of-Code: Semantic Clone Detection Using Graph Fingerprints


Abstract:

The code clone detection issue has been researched using a number of explicit factors based on the tokens and contents and found effective results. However, exposing code...Show More

Abstract:

The code clone detection issue has been researched using a number of explicit factors based on the tokens and contents and found effective results. However, exposing code contents may be an impractical option because of privacy and security factors. Moreover, the lack of scalability of past methods is an important challenge. The code flow states can be inferred by code structure and implicitly represented using empirical graphs. The assumption is that modelling of the code clone detection problem can be achieved without the content of the codes being revealed. Here, a Graph-of-Code concept for the code clone detection problem is introduced, which represents codes into graphs. While Graph-of-Code provides structural properties and quantification of its characteristics, it can exclude code contents or tokens to identify the clone type. The aim is to evaluate the impact of graph-of-code structural properties on the performance of code clone detection. This work employs a feature extraction-based approach for unlabelled graphs. The approach generates a “Graph Fingerprint” which represents different topological feature levels. The results of code clone detection indicate that code structure has a significant role in detecting clone types. We found different GoC-models outperform others. The models achieve between 96% to 99% in detecting code clones based on recall, precision, and F1-Score. The GoC approach is capable in detecting code clones with scalable dataset and with preserving codes privacy.
Published in: IEEE Transactions on Software Engineering ( Volume: 49, Issue: 8, August 2023)
Page(s): 3972 - 3988
Date of Publication: 16 May 2023

ISSN Information:


Contact IEEE to Subscribe

References

References is not available for this document.