{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,28]],"date-time":"2026-03-28T17:25:18Z","timestamp":1774718718783,"version":"3.50.1"},"reference-count":36,"publisher":"Frontiers Media SA","license":[{"start":{"date-parts":[[2024,12,10]],"date-time":"2024-12-10T00:00:00Z","timestamp":1733788800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":["frontiersin.org"],"crossmark-restriction":true},"short-container-title":["Front. Comput. Sci."],"abstract":"<jats:p>Detecting code clones remains challenging, particularly for Type-II clones, with modified identifiers, and Type-III ST and MT clones, where up to 30% and 50% of code, respectively, are added or removed from the original clone code. To address this, we introduce <jats:italic>CodeGuard<\/jats:italic>, an innovative technique that employs comprehensive level-by-level abstraction for Type-II clones and a flexible signature matching algorithm for Type-III clone categories. This method requires at least 50% similarity within two corresponding chunks within the same file, ensuring accurate clone identification. Unlike recently proposed methods limited to clone detection, <jats:italic>CodeGuard<\/jats:italic> precisely pinpoints changes within clone files, facilitating effective debugging and thorough code analysis. It is validated through comprehensive evaluations using reputable datasets, <jats:italic>CodeGuard<\/jats:italic> demonstrates superior precision, high recall, robust F1 scores, and outstanding accuracy. This innovative methodology not only sets new performance standards in clone detection but also emphasizes the role <jats:italic>CodeGuard<\/jats:italic>'s can play in modern software development, paving the way for advancements in code quality and maintenance.<\/jats:p>","DOI":"10.3389\/fcomp.2024.1455860","type":"journal-article","created":{"date-parts":[[2024,12,10]],"date-time":"2024-12-10T06:36:21Z","timestamp":1733812581000},"update-policy":"https:\/\/doi.org\/10.3389\/crossmark-policy","source":"Crossref","is-referenced-by-count":1,"title":["CodeGuard: enhancing accuracy in detecting clones within java source code"],"prefix":"10.3389","volume":"6","author":[{"given":"Yasir","family":"Glani","sequence":"first","affiliation":[]},{"given":"Luo","family":"Ping","sequence":"additional","affiliation":[]}],"member":"1965","published-online":{"date-parts":[[2024,12,10]]},"reference":[{"key":"B1","doi-asserted-by":"publisher","first-page":"294","DOI":"10.1002\/spe.2905","article-title":"Sqvdt: A scalable quantitative vulnerability detection technique for source code security assessment","volume":"51","author":"Akram","year":"2021","journal-title":"Software"},{"key":"B2","doi-asserted-by":"publisher","first-page":"299","DOI":"10.1504\/IJICS.2021.116310","article-title":"Droidmd: an efficient and scalable android malware detection approach at source code level","volume":"15","author":"Akram","year":"2021","journal-title":"Int. J. Inf. Comput. Secur"},{"key":"B3","doi-asserted-by":"publisher","first-page":"22","DOI":"10.1002\/spe.2759","article-title":"Ibfet: Index-based features extraction technique for scalable code clone detection at file level granularity","volume":"50","author":"Akram","year":"2020","journal-title":"Software"},{"key":"B4","doi-asserted-by":"crossref","first-page":"402","DOI":"10.1109\/ICST.2019.00049","article-title":"\u201cVcipr: vulnerable code is identifiable when a patch is released (hacker's perspective),\u201d","volume-title":"2019 12th IEEE Conference on Software Testing, Validation and Verification (ICST)","author":"Akram","year":"2019"},{"key":"B5","first-page":"207","article-title":"\u201cMining source code repositories at massive scale using language modeling,\u201d","volume-title":"The 10th Working Conference on Mining Software Repositories","author":"Allamanis","year":"2013"},{"key":"B6","doi-asserted-by":"publisher","first-page":"162989","DOI":"10.1109\/ACCESS.2020.3016943","article-title":"Enhancing notation-based code cloning method with an external-based identifier model","volume":"8","author":"Chau","year":"2020","journal-title":"IEEE Access"},{"key":"B7","doi-asserted-by":"publisher","first-page":"942","DOI":"10.1007\/s11390-015-1573-7","article-title":"Detecting android malware using clone detection","volume":"30","author":"Chen","year":"2015","journal-title":"J. Comput. Sci. Technol"},{"key":"B8","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1109\/EMES.2015.7158423","article-title":"\u201cHaskell clone detection using pattern comparing algorithm,\u201d","volume-title":"2015 13th International Conference on Engineering of Modern Electric Systems (EMES)","author":"Chodarev","year":"2015"},{"key":"B9","doi-asserted-by":"crossref","first-page":"109","DOI":"10.1109\/ICSM.1999.792593","article-title":"\u201cA language independent approach for detecting duplicated code,\u201d","volume-title":"Proceedings IEEE International Conference on Software Maintenance-1999 (ICSM'99).'Software Maintenance for Business Change'(Cat. No. 99CB36360)","author":"Ducasse","year":"1999"},{"key":"B10","doi-asserted-by":"crossref","first-page":"47","DOI":"10.1109\/ACCC58361.2022.00015","article-title":"\u201cAyat: a lightweight and efficient code clone detection technique,\u201d","volume-title":"2022 3rd Asia Conference on Computers and Communications (ACCC)","author":"Giani","year":"2022"},{"key":"B11","doi-asserted-by":"crossref","first-page":"17","DOI":"10.1109\/SEAI59139.2023.10217577","article-title":"\u201cAyatdroid: a lightweight code cloning technique using different static features,\u201d","volume-title":"2023 IEEE 3rd International Conference on Software Engineering and Artificial Intelligence (SEAI)","author":"Glani","year":"2023"},{"key":"B12","doi-asserted-by":"crossref","first-page":"19","DOI":"10.1109\/ACCC58361.2022.00010","article-title":"\u201cAash: a lightweight and efficient static iot malware detection technique at source code level,\u201d","volume-title":"2022 3rd Asia Conference on Computers and Communications (ACCC)","author":"Glani","year":"2022"},{"key":"B13","doi-asserted-by":"crossref","first-page":"185","DOI":"10.1007\/3-540-36209-6_17","article-title":"\u201cOn software maintenance process improvement based on code clone analysis,\u201d","volume-title":"Product Focused Software Process Improvement: 4th International Conference, PROFES 2002 Rovaniemi, Finland","author":"Higo","year":"2002"},{"key":"B14","doi-asserted-by":"crossref","first-page":"485","DOI":"10.1109\/ICSE.2009.5070547","article-title":"\u201cDo code clones matter?\u201d","volume-title":"2009 IEEE 31st International Conference on Software Engineering","author":"Juergens","year":"2009"},{"key":"B15","doi-asserted-by":"publisher","first-page":"61","DOI":"10.1002\/smr.327","article-title":"Supporting the analysis of clones in software systems","volume":"18","author":"Kapser","year":"2006","journal-title":"J. Softw. Mainten. Evol"},{"key":"B16","doi-asserted-by":"crossref","first-page":"595","DOI":"10.1109\/SP.2017.62","article-title":"\u201cVuddy: a scalable approach for vulnerable code clone discovery,\u201d","volume-title":"2017 IEEE symposium on security and privacy (SP)","author":"Kim","year":"2017"},{"key":"B17","first-page":"1","article-title":"\u201cOne pass preprocessing for token-based source code clone detection,\u201d","volume-title":"2014 IEEE 6th International Conference on Awareness Science and Technology (iCAST)","author":"Li","year":"2014"},{"key":"B18","doi-asserted-by":"crossref","first-page":"511","DOI":"10.1109\/TrustCom.2016.0104","article-title":"\u201cSuidroid: an efficient hardening-resilient approach to android app clone detection,\u201d","volume-title":"2016 IEEE Trustcom\/BigDataSE\/ISPA","author":"Lyu","year":"2016"},{"key":"B19","doi-asserted-by":"crossref","first-page":"747","DOI":"10.1109\/APSEC.2017.97","article-title":"\u201cInterface driven code clone detection,\u201d","volume-title":"2017 24th Asia-Pacific Software Engineering Conference (APSEC)","author":"Misu","year":"2017"},{"key":"B20","doi-asserted-by":"publisher","first-page":"251","DOI":"10.1007\/BF01840446","article-title":"An o (nd) difference algorithm and its variations","volume":"1","author":"Myers","year":"1986","journal-title":"Algorithmica"},{"key":"B21","doi-asserted-by":"crossref","first-page":"17","DOI":"10.1109\/SANER.2016.55","article-title":"\u201cTowards detection and analysis of interlanguage clones for multilingual web applications,\u201d","volume-title":"2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER)","author":"Nakamura","year":"2016"},{"key":"B22","doi-asserted-by":"publisher","first-page":"11841","DOI":"10.1109\/ACCESS.2017.2707539","article-title":"A comparison among arima, bp-nn, and moga-nn for software clone evolution prediction","volume":"5","author":"Pati","year":"2017","journal-title":"IEEE Access"},{"key":"B23","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1109\/IWSC.2017.7880502","article-title":"\u201cUsing compilation\/decompilation to enhance clone detection,\u201d","volume-title":"2017 IEEE 11th International Workshop on Software Clones (IWSC)","author":"Ragkhitwetsagul","year":"2017"},{"key":"B24","doi-asserted-by":"publisher","first-page":"718","DOI":"10.1016\/j.procs.2018.05.080","article-title":"Code clones: detection and management","volume":"132","author":"Saini","year":"2018","journal-title":"Procedia Comput. Sci"},{"key":"B25","doi-asserted-by":"publisher","DOI":"10.1145\/2884781.2884877","article-title":"\u201cSourcerercc: scaling code clone detection to big-code,\u201d","author":"Sajnani","year":"2016","journal-title":"Proceedings of the 38th International Conference on Software Engineering"},{"key":"B26","first-page":"192","article-title":"\u201cTo enhance the code clone detection algorithm by using hybrid approach for detection of code clones,\u201d","volume-title":"2017 International Conference on Intelligent Computing and Control Systems (ICICCS)","author":"Singh","year":"2017"},{"key":"B27","doi-asserted-by":"crossref","first-page":"293","DOI":"10.1109\/TrustCom50675.2020.00049","article-title":"\u201cProgram slice based vulnerable code clone detection,\u201d","volume-title":"2020 IEEE 19th International Conference on Trust, Security and Privacy in Computing and Communications (TrustCom)","author":"Song","year":"2020"},{"key":"B28","unstructured":"Startin\n              R.\n            \n          \n          XXHash, designed by Yann Collet.\n          \n          2019"},{"key":"B29","doi-asserted-by":"crossref","first-page":"131","DOI":"10.1109\/ICSM.2015.7332459","article-title":"\u201cEvaluating clone detection tools with bigclonebench,\u201d","volume-title":"2015 IEEE International Conference on Software Maintenance and Evolution (ICSME)","author":"Svajlenko","year":"2015"},{"key":"B30","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1109\/IWSC.2017.7880501","article-title":"\u201cDetecting and analyzing code clones in hdl,\u201d","volume-title":"2017 IEEE 11th International Workshop on Software Clones (IWSC)","author":"Uemura","year":"2017"},{"key":"B31","doi-asserted-by":"crossref","first-page":"100","DOI":"10.1109\/APSEC.2017.16","article-title":"\u201cCcsharp: an efficient three-phase code clone detector using modified pdgs,\u201d","volume-title":"2017 24th Asia-Pacific Software Engineering Conference (APSEC)","author":"Wang","year":"2017"},{"key":"B32","doi-asserted-by":"publisher","DOI":"10.1145\/3180155.3180179","article-title":"\u201cCcaligner: a token-based large-gap clone detector,\u201d","author":"Wang","year":"2018","journal-title":"Proceedings of the 40th International Conference on Software Engineering"},{"key":"B33","doi-asserted-by":"crossref","first-page":"286","DOI":"10.1109\/COMPSAC.2018.00045","article-title":"\u201cStructural function based code clone detection using a new hybrid technique,\u201d","volume-title":"2018 IEEE 42nd Annual Computer Software and Applications Conference (COMPSAC)","author":"Yang","year":"2018"},{"key":"B34","doi-asserted-by":"crossref","first-page":"317","DOI":"10.1109\/COMPSAC.2017.104","article-title":"\u201cDetecting java code clones with multi-granularities based on bytecode,\u201d","volume-title":"2017 IEEE 41st Annual Computer Software and Applications Conference (COMPSAC)","author":"Yu","year":"2017"},{"key":"B35","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1109\/IWSC.2017.7880510","article-title":"\u201cA technique to detect multi-grained code clones,\u201d","volume-title":"2017 IEEE 11th International Workshop on Software Clones (IWSC)","author":"Yuki","year":"2017"},{"key":"B36","doi-asserted-by":"publisher","first-page":"111796","DOI":"10.1016\/j.jss.2023.111796","article-title":"A systematic literature review on source code similarity measurement and clone detection: techniques, applications, and challenges","volume":"204","author":"Zakeri-Nasrabadi","year":"2023","journal-title":"J. Syst. Softw"}],"container-title":["Frontiers in Computer Science"],"original-title":[],"link":[{"URL":"https:\/\/www.frontiersin.org\/articles\/10.3389\/fcomp.2024.1455860\/full","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,12,10]],"date-time":"2024-12-10T06:36:36Z","timestamp":1733812596000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.frontiersin.org\/articles\/10.3389\/fcomp.2024.1455860\/full"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024,12,10]]},"references-count":36,"alternative-id":["10.3389\/fcomp.2024.1455860"],"URL":"https:\/\/doi.org\/10.3389\/fcomp.2024.1455860","relation":{},"ISSN":["2624-9898"],"issn-type":[{"value":"2624-9898","type":"electronic"}],"subject":[],"published":{"date-parts":[[2024,12,10]]},"article-number":"1455860"}}