The DOI matches its Crossref record; 2 of the 2 references it cites were found in a registry or an index.
SourcererCC: scaling code clone detection to big-code
Abstract
Despite a decade of active research, there has been a marked lack in clone detection techniques that scale to large repositories for detecting near-miss clones. In this paper, we present a token-based clone detector, SourcererCC, that can detect both exact and near-miss clones from large inter-project repositories using a standard workstation. It exploits an optimized inverted-index to quickly query the potential clones of a given code block. Filtering heuristics based on token ordering are used to significantly reduce the size of the index, the number of code-block comparisons needed to detect the clones, as well as the number of required token-comparisons needed to judge a potential clone. We evaluate the scalability, execution time, recall and precision of SourcererCC, and compare it to four publicly available and state-of-the-art tools. To measure recall, we use two recent benchmarks: (1) a big benchmark of real clones, BigCloneBench, and (2) a Mutation/Injection-based framework of thousands of fine-grained artificial clones. We find SourcererCC has both high recall and precision, and is able to scale to a large inter-project repository (25K projects, 250MLOC) using a standard workstation.
Overview
The claims and statistics of this paper haven’t been checked yet.
Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.
Integrity signals
Registry
Cites
Statistics
Verification
Claims the paper makes
The claims and statistics of this paper haven’t been checked yet.
Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.
Self-check
Percentages, sums and reported differences re-computed from the paper’s own numbers.
The self-check needs the paper’s full text.
Citations
Cites
Understanding bag-of-words model: a statistical framework
Zhang, Y., Jin, R., & Zhou, Z.-H. (2010) · International Journal of Machine Learning and Cybernetics · doi:10.1007/s13042-010-0001-0 · Cited by 1,384
Evaluating clone detection tools with BigCloneBench
Svajlenko, J., & Roy, C. K. (2015) · 2015 IEEE International Conference on Software Maintenance and Evolution (ICSME) · doi:10.1109/icsm.2015.7332459 · Cited by 172
Self-citation
Research works printed but not linked: 37
- 10.1016/j.infsof.2013.01.008 · DOI · Paper page
- Ambient Software Evoluton Group . I JaDataset 2.0. http://secold.org/projects/seclone , January 2013 . Ambient Software Evoluton Group. IJaDataset 2.0. http://secold.org/projects/seclone, January 2013.
- B. Baker . A program for identifying duplicated code . Computing Science and Statistics , pages 24 -- 49 , 1992 . B. Baker. A program for identifying duplicated code. Computing Science and Statistics, pages 24--49, 1992.
- 10.1109/TSE.2007.70725 · DOI · Paper page
- 10.1145/2745802.2745821 · DOI
- 10.1109/ICDE.2006.9 · doi:10.1109/icde.2006.9
- 10.1145/2568225.2568286 · DOI · Paper page
- 10.1109/ICPC.2011.26 · DOI · Paper page
- 10.1145/1985441.1985468 · doi:10.1145/1985441.1985468
- 10.1109/MSR.2009.5069483 · DOI
- 10.1109/CSMR.2009.20 · DOI
- 10.1109/WCRE.2012.45 · doi:10.1109/wcre.2012.45
- 10.5555/2337223.2337322 · doi:10.5555/2337223.2337322 · Paper page
- 10.1109/ICSM.2010.5609665 · DOI
- 10.1109/WCRE.2012.48 · doi:10.1109/wcre.2012.48
- 10.1109/ICSE.2007.30 · DOI · Paper page
- 10.1109/TSE.2002.1019480 · DOI · Paper page
- 10.1109/WCRE.2009.36 · DOI
- 10.1109/WCRE.2011.13 · doi:10.1109/wcre.2011.13
- 10.1109/CSMR.2012.37 · DOI
- 10.1145/1882291.1882317 · doi:10.1145/1882291.1882317
- 10.1109/ICSE.2007.97 · doi:10.1109/icse.2007.97
- 10.1016/j.infsof.2013.01.008 · DOI · Paper page
- 10.1109/ICSTW.2009.18 · DOI · Paper page
- 10.1109/CSMR-WCRE.2014.6747168 · doi:10.1109/csmr-wcre.2014.6747168
- C. K. Roy and J. R. Cordy . A survey on software clone detection research. (TR 2007-541) , 2007 . 115 pp. C. K. Roy and J. R. Cordy. A survey on software clone detection research. (TR 2007-541), 2007. 115 pp.
- 10.1002/smr.v22:3 · doi:10.1002/smr.v22:3
- 10.1016/j.scico.2009.02.007 · DOI · Paper page
- H. Sajnani and C. Lopes . A parallel and efficient approach to large scale code clone detection . In Proceedings of International Workshop on Software Clones , 2013 . H. Sajnani and C. Lopes. A parallel and efficient approach to large scale code clone detection. In Proceedings of International Workshop on Software Clones, 2013.
- 10.1109/ICSME.2014.77 · DOI · Paper page
- 10.5555/2662708.2662714 · doi:10.5555/2662708.2662714
- 10.1002/smr.1662 · DOI
- 10.1109/ICSME.2014.54 · DOI
- 10.5555/2662708.2662710 · doi:10.5555/2662708.2662710
- 10.5555/950792.951349 · doi:10.5555/950792.951349
- 10.1145/2491411.2491420 · DOI · Paper page
- 10.1145/1367497.1367516 · DOI · Paper page
Cited by
An Empirical Study on Learning Bug-Fixing Patches in the Wild via Neural Machine Translation
Tufano, M., Watson, C., Bavota, G., Penta, M. D., White, M., & Poshyvanyk, D. (2019) · ACM Transactions on Software Engineering and Methodology · doi:10.1145/3340544 · Cited by 370
Shaping program repair space with existing patches and similar code
Jiang, J., Xiong, Y., Zhang, H., Gao, Q., & Chen, X. (2018) · Proceedings of the 27th ACM SIGSOFT International Symposium on Software Testing and Analysis · doi:10.1145/3213846.3213871 · Cited by 329
The adverse effects of code duplication in machine learning models of code
Allamanis, M. (2019) · Proceedings of the 2019 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software · doi:10.1145/3359591.3359735 · Cited by 284
A survey on deep learning for software engineering
Yang, Y., Xia, X., Lo, D., & Grundy, J. (2022) · ACM Computing Surveys · doi:10.1145/3505243 · Cited by 223
DéjàVu: a map of code duplicates on GitHub
Lopes, C. V., Maj, P., Martins, P., Saini, V., Yang, D., Zitny, J., Sajnani, H., & Vitek, J. (2017) · Proceedings of the ACM on Programming Languages · doi:10.1145/3133908 · Cited by 183
Self-citationDeep learning similarities from different representations of source code
Tufano, M., Watson, C., Bavota, G., Di Penta, M., White, M., & Poshyvanyk, D. (2018) · Proceedings of the 15th International Conference on Mining Software Repositories · doi:10.1145/3196398.3196431 · Cited by 158
A comparison of code similarity analysers
Ragkhitwetsagul, C., Krinke, J., & Clark, D. (2018) · Empirical Software Engineering · doi:10.1007/s10664-017-9564-7 · Cited by 122
Retrieve and refine: exemplar-based neural comment generation
Wei, B., Li, Y., Li, G., Xia, X., & Jin, Z. (2020) · Proceedings of the 35th IEEE/ACM International Conference on Automated Software Engineering · doi:10.1145/3324884.3416578 · Cited by 69
Active Inductive Logic Programming for Code Search
Sivaraman, A., Zhang, T., Van den Broeck, G., & Kim, M. (2019) · 2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE) · doi:10.1109/icse.2019.00044 · Cited by 34
MARBLE: Mining for Boilerplate Code to Identify API Usability Problems
Nam, D., Horvath, A., Macvean, A., Myers, B., & Vasilescu, B. (2019) · 2019 34th IEEE/ACM International Conference on Automated Software Engineering (ASE) · doi:10.1109/ase.2019.00063 · Cited by 19
AI in Software Engineering at Facebook
Bader, J., Seohyun Kim, S., Sifei Luan, F., Chandra, S., & Meijer, E. (2021) · IEEE Software · doi:10.1109/ms.2021.3061664 · Cited by 16
PaReco: patched clones and missed patches among the divergent variants of a software family
Ramkisoen, P. K., Businge, J., van Bladel, B., Decan, A., Demeyer, S., De Roover, C., & Khomh, F. (2022) · Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering · doi:10.1145/3540250.3549112 · Cited by 10
JEMMA: An extensible Java dataset for ML4Code applications
Karmakar, A., Allamanis, M., & Robbes, R. (2023) · Empirical Software Engineering · doi:10.1007/s10664-022-10275-7 · Cited by 4
Metadata
- Authors
- Sajnani, H., Saini, V., Svajlenko, J., Roy, C. K., & Lopes, C. V.
- Venue
- Proceedings of the 38th International Conference on Software Engineering
- Publisher
- ACM
- Published
- 2016-05-14
- Pages
- 1157-1168
- ISSN
- 0270-5257 (ISSN-L)
- OpenAlex
- W4301168982
- Cited by
- 447
- References
- 2
- FWCI
- 29.35
- Type
- conference paper
- Language
- en
- Open access
- closed
About these checks
Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.
Statistics and arithmetic are recomputed, not judged.
Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.
What counts as a claim ›How we measure confidence ›How we check this ›
Are you an author, or do you see a problem with this page? Request a review
Data sources
Bibliographic data: Semantic Scholar, OpenAlex, Crossref.
Contains information from the Semantic Scholar Academic Graph Datasets, made available under the ODC Attribution License (ODC-BY 1.0).
Semantic Scholar’s data is described in: Kinney, R., et al. (2023). The Semantic Scholar Open Data Platform. arXiv:2301.10140.