The DOI matches its Crossref record; 8 of the 8 references it cites were found in a registry or an index.
Deep learning code fragments for code clone detection
Abstract
Code clone detection is an important problem for software maintenance and evolution. Many approaches consider either structure or identifiers, but none of the existing detection techniques model both sources of information. These techniques also depend on generic, handcrafted features to represent code fragments. We introduce learning-based detection techniques where everything for representing terms and fragments in source code is mined from the repository. Our code analysis supports a framework, which relies on deep learning, for automatically linking patterns mined at the lexical level with patterns mined at the syntactic level. We evaluated our novel learning-based approach for code clone detection with respect to feasibility from the point of view of software maintainers. We sampled and manually evaluated 398 file- and 480 method-level pairs across eight real-world Java systems; 93% of the file- and method-level samples were evaluated to be true positives. Among the true positives, we found pairs mapping to all four clone types. We compared our approach to a traditional structure-oriented technique and found that our learning-based approach detected clones that were either undetected or suboptimally reported by the prominent tool Deckard. Our results affirm that our learning-based approach is suitable for clone detection and a tenable technique for researchers.
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
LeCun, Y., Bengio, Y., & Hinton, G. (2015) · Nature · doi:10.1038/nature14539 · Cited by 84,126
The Elements of Statistical Learning
Hastie, T., Friedman, J., & Tibshirani, R. (2001) · Springer Series in Statistics · doi:10.1007/978-0-387-21606-5 · Cited by 24,162
Recurrent neural network based language model
Mikolov, T., Karafiát, M., Burget, L., Černocký, J., & Khudanpur, S. (2010) · Interspeech 2010 · doi:10.21437/interspeech.2010-343 · Cited by 5,390
Guidelines for conducting and reporting case study research in software engineering
Runeson, P., & Höst, M. (2009) · Empirical Software Engineering · doi:10.1007/s10664-008-9102-8 · Cited by 3,862
Practical Recommendations for Gradient-Based Training of Deep Architectures
Bengio, Y. (2012) · Lecture Notes in Computer Science · doi:10.1007/978-3-642-35289-8_26 · Cited by 2,259
GPLAG: detection of software plagiarism by program dependence graph analysis
Liu, C., Chen, C., Han, J., & Yu, P. S. (2006) · Proceedings of the 12th ACM SIGKDD international conference on Knowledge discovery and data mining · doi:10.1145/1150402.1150522 · Cited by 422
Tu, Z., Su, Z., & Devanbu, P. (2014) · Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering · doi:10.1145/2635868.2635875 · Cited by 238 · cited 1×
“They are also limited by the amount of context they consider [75], yet the novel approach of casting applications in terms of “naturalness” in SE contexts has spawned many applications of this technology to new problems.”
BackgroundEvaluating 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
Research works printed but not linked: 80
- 10.5555/1018434.1021568 · doi:10.5555/1018434.1021568
- 10.1145/1882291.1882315 · DOI
- 10.1109/TSE.2006.28 · DOI · Paper page
- 10.1007/s10664-008-9076-6 · DOI · Paper page
- 10.1007/s10664-011-9195-3 · DOI · Paper page
- 10.1145/1081706.1081737 · DOI · Paper page
- C. Roy and J. Cordy . A survey on software clone detection research. Technical report , Queen’s University , 2007 . C. Roy and J. Cordy. A survey on software clone detection research. Technical report, Queen’s University, 2007.
- N. Davey , P. Barson , S. Field , R. Frank , and D. Tansley . The development of a software clone detector. IJAST, 1(3/4) , 1995 . N. Davey, P. Barson, S. Field, R. Frank, and D. Tansley. The development of a software clone detector. IJAST, 1(3/4), 1995.
- A. Walenstein and A. Lakhotia . The software similarity problem in malware analysis . Dagstuhl Seminar Proceedings , 2007 . A. Walenstein and A. Lakhotia. The software similarity problem in malware analysis. Dagstuhl Seminar Proceedings, 2007.
- 10.1109/SCAM.2010.19 · DOI
- 10.1145/1287624.1287634 · DOI
- Lucia D. Lo L. Jiang and A. Budi. Active refinement of clone anomaly reports. ICSE’12. Lucia D. Lo L. Jiang and A. Budi. Active refinement of clone anomaly reports. ICSE’12.
- 10.1145/2351676.2351701 · DOI
- 10.1145/2420950.2421004 · DOI
- 10.1145/2610384.2610394 · DOI
- 10.1145/2635868.2635926 · DOI
- 10.1016/j.scico.2009.02.007 · DOI · Paper page
- 10.1109/WPC.2005.14 · DOI
- 10.1109/ICPC.2006.51 · DOI
- Y. Bengio , A. Courville , and P. Vincent . Unsupervised feature learning and deep learning: A review and new perspectives. CoRR, abs/1206.5538 , 2012 . Y. Bengio, A. Courville, and P. Vincent. Unsupervised feature learning and deep learning: A review and new perspectives. CoRR, abs/1206.5538, 2012. · arXiv
- B. Baker . A program for identifying duplicated code . In Computer Science and Statistics , 1992 . B. Baker. A program for identifying duplicated code. In Computer Science and Statistics, 1992.
- 10.1006/jcss.1996.0003 · DOI · Paper page
- 10.1109/TSE.2002.1019480 · DOI · Paper page
- 10.1002/spe.4380210706 · DOI · Paper page
- 10.1109/WCRE.2006.18 · DOI · Paper page
- 10.1109/ICSE.2007.30 · DOI · Paper page
- A. Gionis P. Indyk and R. Motwani. Similarity search in high dimensions via hashing. VLDB’99. A. Gionis P. Indyk and R. Motwani. Similarity search in high dimensions via hashing. VLDB’99.
- 10.1145/1368088.1368132 · DOI · Paper page
- 10.1145/2568225.2568286 · DOI · Paper page
- 10.1145/24039.24041 · DOI · Paper page
- 10.1109/MCI.2010.938364 · DOI · Paper page
- 10.1007/978-3-642-00593-0_31 · DOI
- 10.1109/ICSE.2009.5070528 · doi:10.1109/icse.2009.5070528
- 10.1109/TSE.2011.90 · DOI
- 10.1145/1882291.1882317 · doi:10.1145/1882291.1882317
- 10.1145/1985793.1985835 · DOI
- F. Hermans B. Sedee M. Pinzger and A. van Deursen. Data clone detection and visualization in spreadsheets. ICSE’13. F. Hermans B. Sedee M. Pinzger and A. van Deursen. Data clone detection and visualization in spreadsheets. ICSE’13.
- 10.1145/1572272.1572283 · DOI
- D. Jurafsky and J. Martin . Speech and Language Processing. 2 ed ., 2009 . D. Jurafsky and J. Martin. Speech and Language Processing. 2 ed., 2009.
- A. Hindle E. Barr Z. Su M. Gabel and P. Devanbu. On the naturalness of software. ICSE’12. A. Hindle E. Barr Z. Su M. Gabel and P. Devanbu. On the naturalness of software. ICSE’12.
- C. Franks Z. Tu P. Devanbu and V. Hellendoorn. Cacheca: A cache language model based code suggestion tool. ICSE’15. C. Franks Z. Tu P. Devanbu and V. Hellendoorn. Cacheca: A cache language model based code suggestion tool. ICSE’15.
- 10.1109/ICST.2013.11 · DOI
- D. Movshovitz-Attias and W. Cohen. Natural language models for predicting programming comments. ACL’13. D. Movshovitz-Attias and W. Cohen. Natural language models for predicting programming comments. ACL’13.
- 10.1145/2597073.2597102 · DOI
- 10.1145/2568225.2568242 · DOI
- 10.1145/2635868.2635883 · DOI · Paper page
- 10.1145/2491411.2494584 · DOI
- 10.1145/2591062.2591072 · DOI
- 10.1145/2642937.2643010 · DOI
- 10.1145/2594291.2594321 · DOI · Paper page
- B. Ray , V. Hellendoorn , Z. Tu , C. Nguyen , S. Godhane , A. Bacchelli , and P. Devanbu . On the “naturalness ” of buggy code. CoRR , abs/1506.01159, 2015 . B. Ray, V. Hellendoorn, Z. Tu, C. Nguyen, S. Godhane, A. Bacchelli, and P. Devanbu. On the “naturalness” of buggy code. CoRR, abs/1506.01159, 2015. · arXiv
- 10.1145/2786805.2786849 · DOI · Paper page
- R. Rosenfeld . Two decades of statistical language modeling: Where do we go from here? 88(8) , 2000 . R. Rosenfeld. Two decades of statistical language modeling: Where do we go from here? 88(8), 2000.
- A. Mnih and Y. Teh. A fast and simple algorithm for training neural probabilistic language models. ICML’12. A. Mnih and Y. Teh. A fast and simple algorithm for training neural probabilistic language models. ICML’12.
- Y. Bengio , R. Ducharme , P. Vincent , and C. Janvin . A neural probabilistic language model. JMLR, 3 , 2003 . Y. Bengio, R. Ducharme, P. Vincent, and C. Janvin. A neural probabilistic language model. JMLR, 3, 2003.
- F. Morin and Y. Bengio. Hierarchical probabilistic neural network language model. AISTATS’05. F. Morin and Y. Bengio. Hierarchical probabilistic neural network language model. AISTATS’05.
- 10.3115/1220575.1220601 · DOI
- 10.1561/2200000006 · DOI · Paper page
- T. Mikolov S. Kombrink L. Burget J. Cernock´ y and S. Khudanpur. Extensions of recurrent neural network language model. ICASSP’11. T. Mikolov S. Kombrink L. Burget J. Cernock´ y and S. Khudanpur. Extensions of recurrent neural network language model. ICASSP’11.
- R. Socher J. Pennington E. Huang A. Ng and C. Manning. Semi-supervised recursive autoencoders for predicting sentiment distributions. EMNLP’11. R. Socher J. Pennington E. Huang A. Ng and C. Manning. Semi-supervised recursive autoencoders for predicting sentiment distributions. EMNLP’11.
- R. Socher A. Perelygin J. Wu J. Chuang C. Manning A. Ng and C. Potts. Recursive deep models for semantic compositionality over a sentiment treebank. EMNLP’13. R. Socher A. Perelygin J. Wu J. Chuang C. Manning A. Ng and C. Potts. Recursive deep models for semantic compositionality over a sentiment treebank. EMNLP’13.
- J. Goodman . Classes for fast maximum entropy training. CoRR , cs.CL/0108006 , 2001 . J. Goodman. Classes for fast maximum entropy training. CoRR, cs.CL/0108006, 2001. · arXiv
- 10.1145/1273496.1273577 · DOI · Paper page
- Y. Shi , W. Zhang , J. Liu , and M. Johnson . Rnn language model with word clustering and class-based output layer. EURASIP , 1 , 2013 . Y. Shi, W. Zhang, J. Liu, and M. Johnson. Rnn language model with word clustering and class-based output layer. EURASIP, 1, 2013.
- I. Sutskever J. Martens and G. Hinton. Generating text with recurrent neural networks. ICML’11. I. Sutskever J. Martens and G. Hinton. Generating text with recurrent neural networks. ICML’11.
- I. Sutskever J. Martens G. Dahl and G. Hinton. On the importance of initialization and momentum in deep learning. ICML’13. I. Sutskever J. Martens G. Dahl and G. Hinton. On the importance of initialization and momentum in deep learning. ICML’13.
- M. Hermans and B. Schrauwen. Training and analysing deep recurrent neural networks. NIPS’13. M. Hermans and B. Schrauwen. Training and analysing deep recurrent neural networks. NIPS’13.
- R. Pascanu , C. Gulcehre , K. Cho , and Y. Bengio . How to construct deep recurrent neural networks. CoRR, abs/1312.6026 , 2013 . R. Pascanu, C. Gulcehre, K. Cho, and Y. Bengio. How to construct deep recurrent neural networks. CoRR, abs/1312.6026, 2013. · arXiv
- P. Werbos . Backpropagation through time: what it does and how to do it. 78(10) , 1990 . P. Werbos. Backpropagation through time: what it does and how to do it. 78(10), 1990.
- A. Aho , M. Lam , R. Sethi , and J. Ullman . Compilers: Principles, Techniques, and Tools. 2 ed ., 2006 . A. Aho, M. Lam, R. Sethi, and J. Ullman. Compilers: Principles, Techniques, and Tools. 2 ed., 2006.
- T. Cormen , C. Leiserson , R. Rivest , and C. Stein . Introduction to Algorithms. 3 ed ., 2009 . T. Cormen, C. Leiserson, R. Rivest, and C. Stein. Introduction to Algorithms. 3 ed., 2009.
- S. Deerwester S. Dumais G. Furnas T. Landauer and R. Harshman. Indexing by latent semantic analysis. JASIS 41(6). S. Deerwester S. Dumais G. Furnas T. Landauer and R. Harshman. Indexing by latent semantic analysis. JASIS 41(6). · DOI
- 10.5555/330775 · doi:10.5555/330775
- R. Koschke . Survey of research on software clones . Dagstuhl Seminar Proceedings , 2007 . R. Koschke. Survey of research on software clones. Dagstuhl Seminar Proceedings, 2007.
- 10.1145/1985404.1985416 · doi:10.1145/1985404.1985416
- 10.1145/2491411.2491420 · DOI · Paper page
- 10.1109/ICSME.2014.77 · DOI · Paper page
- 10.1109/ICSM.2011.6080795 · DOI
- 10.1016/j.ijar.2008.11.006 · DOI · Paper page
- 10.1007/978-0-387-84858-7 · DOI · Paper page
Cited by
CodeXGLUE: A Machine Learning Benchmark Dataset for Code Understanding and Generation
Lu, S., Guo, D., Ren, S., Huang, J., Svyatkovskiy, A., Blanco, A., Clement, C., Drain, D., Jiang, D., Tang, D., et al. (2021) · arXiv · doi:10.48550/arxiv.2102.04664 · Cited by 536
Self-citationGraphCodeBERT: Pre-training Code Representations with Data Flow
Guo, D., Ren, S., Lu, S., Feng, Z., Tang, D., Liu, S., Zhou, L., Duan, N., Svyatkovskiy, A., Fu, S., et al. (2020) · arXiv · doi:10.48550/arxiv.2009.08366 · Cited by 480
Self-citationAn 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
Self-citationAre deep neural networks the best choice for modeling source code?
Hellendoorn, V. J., & Devanbu, P. (2017) · Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering · doi:10.1145/3106237.3106290 · Cited by 292
Retrieval-based neural source code summarization
Zhang, J., Wang, X., Zhang, H., Sun, H., & Liu, X. (2020) · Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering · doi:10.1145/3377811.3380383 · Cited by 275
Automated Repair of Programs from Large Language Models
Fan, Z., Gao, X., Mirchev, M., Roychoudhury, A., & Tan, S. H. (2023) · 2023 IEEE/ACM 45th International Conference on Software Engineering (ICSE) · doi:10.1109/icse48619.2023.00128 · Cited by 256
Big code != big vocabulary: open-vocabulary models for source code
Karampatsis, R.-M., Babii, H., Robbes, R., Sutton, C., & Janes, A. (2020) · Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering · doi:10.1145/3377811.3380342 · Cited by 182
Deep 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
Self-citationA Systematic Literature Review on the Use of Deep Learning in Software Engineering Research
Watson, C., Cooper, N., Palacio, D. N., Moran, K., & Poshyvanyk, D. (2022) · ACM Transactions on Software Engineering and Methodology · doi:10.1145/3485275 · Cited by 137
Self-citationContrastive Code Representation Learning
Jain, P., Jain, A., Zhang, T., Abbeel, P., Gonzalez, J. E., & Stoica, I. (2020) · arXiv · doi:10.48550/arxiv.2007.04973 · Cited by 129
Contrastive Code Representation Learning
Jain, P., Jain, A., Zhang, T., Abbeel, P., Gonzalez, J., & Stoica, I. (2021) · Proceedings of the 2021 Conference on Empirical Methods in Natural Language Processing · doi:10.18653/v1/2021.emnlp-main.482 · Cited by 129
Perfection Not Required? Human-AI Partnerships in Code Translation
Weisz, J. D., Muller, M., Houde, S., Richards, J., Ross, S. I., Martinez, F., Agarwal, M., & Talamadupula, K. (2021) · 26th International Conference on Intelligent User Interfaces · doi:10.1145/3397481.3450656 · Cited by 129
NatGen: generative pre-training by “naturalizing” source code
Chakraborty, S., Ahmed, T., Ding, Y., Devanbu, P. T., & Ray, B. (2022) · Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering · doi:10.1145/3540250.3549162 · Cited by 105
Green AI: do deep learning frameworks have different costs?
Georgiou, S., Kechagia, M., Sharma, T., Sarro, F., & Zou, Y. (2022) · Proceedings of the 44th International Conference on Software Engineering · doi:10.1145/3510003.3510221 · Cited by 102
Fuzzing deep-learning libraries via automated relational API inference
Deng, Y., Yang, C., Wei, A., & Zhang, L. (2022) · Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering · doi:10.1145/3540250.3549085 · Cited by 86
A Survey of Machine Learning for Big Code and Naturalness
Allamanis, M., Barr, E. T., Devanbu, P., & Sutton, C. (2019) · ACM Computing Surveys · doi:10.1145/3212695 · Cited by 150
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
Diet code is healthy: simplifying programs for pre-trained models of code
Zhang, Z., Zhang, H., Shen, B., & Gu, X. (2022) · Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering · doi:10.1145/3540250.3549094 · Cited by 41
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
Benchmarking Causal Study to Interpret Large Language Models for Source Code
Rodriguez-Cardenas, D., Palacio, D. N., Khati, D., Burke, H., & Poshyvanyk, D. (2023) · 2023 IEEE International Conference on Software Maintenance and Evolution (ICSME) · doi:10.1109/icsme58846.2023.00040 · Cited by 14
Self-citationA 2030 Roadmap for Software Engineering
Pezzè, M., Abrahão, S., Penzenstadler, B., Poshyvanyk, D., Roychoudhury, A., & Yue, T. (2025) · ACM Transactions on Software Engineering and Methodology · doi:10.1145/3731559 · Cited by 13
Self-citationDetecting Automatic Software Plagiarism via Token Sequence Normalization
Sağlam, T., Brödel, M., Schmid, L., & Hahner, S. (2024) · Proceedings of the IEEE/ACM 46th International Conference on Software Engineering · doi:10.1145/3597503.3639192 · Cited by 9
Metadata
- Authors
- White, M., Tufano, M., Vendome, C., & Poshyvanyk, D.
- Venue
- Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering
- Publisher
- ACM
- Published
- 2016-08-25
- Pages
- 87-98
- OpenAlex
- W2511803001
- Cited by
- 558
- References
- 8
- FWCI
- 42.74
- 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.