{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,7]],"date-time":"2026-07-07T17:11:07Z","timestamp":1783444267575,"version":"3.54.6"},"reference-count":69,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2021,7,19]],"date-time":"2021-07-19T00:00:00Z","timestamp":1626652800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/501100003725","name":"National Research Foundation of Korea","doi-asserted-by":"publisher","award":["NRF-2016K1A1A2912757"],"award-info":[{"award-number":["NRF-2016K1A1A2912757"]}],"id":[{"id":"10.13039\/501100003725","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Priv. Secur."],"published-print":{"date-parts":[[2021,11,30]]},"abstract":"<jats:p>Successful software authorship de-anonymization has both software forensics applications and privacy implications. However, the process requires an efficient extraction of authorship attributes. The extraction of such attributes is very challenging, due to various software code formats from executable binaries with different toolchain provenance to source code with different programming languages. Moreover, the quality of attributes is bounded by the availability of software samples to a certain number of samples per author and a specific size for software samples. To this end, this work proposes a deep Learning-based approach for software authorship attribution, that facilitates large-scale, format-independent, language-oblivious, and obfuscation-resilient software authorship identification. This proposed approach incorporates the process of learning deep authorship attribution using a recurrent neural network, and ensemble random forest classifier for scalability to de-anonymize programmers. Comprehensive experiments are conducted to evaluate the proposed approach over the entire Google Code Jam (GCJ) dataset across all years (from 2008 to 2016) and over real-world code samples from 1,987 public repositories on GitHub. The results of our work show high accuracy despite requiring a smaller number of samples per author. Experimenting with source-code, our approach allows us to identify 8,903 GCJ authors, the largest-scale dataset used by far, with an accuracy of 92.3%. Using the real-world dataset, we achieved an identification accuracy of 94.38% for 745 C programmers on GitHub. Moreover, the proposed approach is resilient to language-specifics, and thus it can identify authors of four programming languages (e.g., C, C++, Java, and Python), and authors writing in mixed languages (e.g., Java\/C++, Python\/C++). Finally, our system is resistant to sophisticated obfuscation (e.g., using C Tigress) with an accuracy of 93.42% for a set of 120 authors. Experimenting with executable binaries, our approach achieves 95.74% for identifying 1,500 programmers of software binaries. Similar results were obtained when software binaries are generated with different compilation options, optimization levels, and removing of symbol information. Moreover, our approach achieves 93.86% for identifying 1,500 programmers of obfuscated binaries using all features adopted in Obfuscator-LLVM tool.<\/jats:p>","DOI":"10.1145\/3461666","type":"journal-article","created":{"date-parts":[[2021,7,19]],"date-time":"2021-07-19T16:04:12Z","timestamp":1626710652000},"page":"1-35","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":13,"title":["Large-scale and Robust Code Authorship Identification with Deep Feature Learning"],"prefix":"10.1145","volume":"24","author":[{"given":"Mohammed","family":"Abuhamad","sequence":"first","affiliation":[{"name":"Loyola University Chicago"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Tamer","family":"Abuhmed","sequence":"additional","affiliation":[{"name":"Sungkyunkwan University"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"David","family":"Mohaisen","sequence":"additional","affiliation":[{"name":"University of Central Florida"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Daehun","family":"Nyang","sequence":"additional","affiliation":[{"name":"Ewha Womans University"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2021,7,19]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"20120. Stunnix. Retrieved February 2 2021 from http:\/\/stunnix.com\/.  20120. Stunnix. Retrieved February 2 2021 from http:\/\/stunnix.com\/."},{"key":"e_1_2_1_2_1","volume-title":"Google Code Jam. Retrieved","year":"2021"},{"key":"e_1_2_1_3_1","unstructured":"2020. Hex-Rays. Retrieved February 2 2021 from https:\/\/www.hex-rays.com\/products\/decompiler\/.  2020. Hex-Rays. Retrieved February 2 2021 from https:\/\/www.hex-rays.com\/products\/decompiler\/."},{"key":"e_1_2_1_4_1","unstructured":"2020. IDA Pro. Retrieved February 2 2021 from https:\/\/www.hex-rays.com\/products\/ida\/.  2020. IDA Pro. Retrieved February 2 2021 from https:\/\/www.hex-rays.com\/products\/ida\/."},{"key":"e_1_2_1_5_1","unstructured":"2020. Radare. Retrieved February 2 2021 from https:\/\/www.radare.org\/.  2020. Radare. Retrieved February 2 2021 from https:\/\/www.radare.org\/."},{"key":"e_1_2_1_6_1","volume-title":"The tigress c obfuscator. Retrieved","year":"2021"},{"key":"e_1_2_1_7_1","volume-title":"Chris Olah","author":"Abadi Mart\u00edn"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/1344411.1344413"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/3243734.3243738"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.2478\/popets-2020-0044"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.future.2018.12.038"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2014.21"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.diin.2014.03.012"},{"key":"e_1_2_1_14_1","doi-asserted-by":"crossref","volume-title":"Statistical Factor Analysis and Related Methods: Theory and Applications","author":"Basilevsky Alexander T.","DOI":"10.1002\/9780470316894"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.4249\/scholarpedia.3881"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1561\/2200000006"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1109\/TPAMI.2013.50"},{"key":"e_1_2_1_18_1","unstructured":"Yoshua Bengio Aaron C. Courville and Pascal Vincent. 2012. Unsupervised feature learning and deep learning: A review and new perspectives. arxiv:1206.5538. Retrieved from http:\/\/arxiv.org\/abs\/1206.5538.  Yoshua Bengio Aaron C. Courville and Pascal Vincent. 2012. Unsupervised feature learning and deep learning: A review and new perspectives. arxiv:1206.5538. Retrieved from http:\/\/arxiv.org\/abs\/1206.5538."},{"key":"e_1_2_1_19_1","volume-title":"Proceedings of the International Conference on Artificial Intelligence and Statistics (AISTATS\u201912)","volume":"22","author":"Bordes Antoine","year":"2012"},{"key":"e_1_2_1_20_1","volume-title":"Proceedings of the 29th International Conference on Machine Learning, ICML 2012","author":"Boulanger-Lewandowski Nicolas","year":"2012"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1023\/A:1010933404324"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/2382448.2382450"},{"key":"e_1_2_1_23_1","volume-title":"Proceedings of the 12th Australasian Document Computing Symposium (ADCS\u201907)","author":"Burrows Steven","year":"2007"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.5555\/1228662.1228664"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-00887-0_61"},{"key":"e_1_2_1_26_1","volume-title":"Proceedings of the 2009 33rd Annual IEEE International Computer Software and Applications Conference","volume":"1","author":"Burrows S."},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1002\/spe.2146"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.5555\/2831143.2831160"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.14722\/ndss.2018.23304"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1109\/IJCNN.2017.7966083"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/3155077.3155081"},{"key":"e_1_2_1_32_1","volume-title":"Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR\u201912)","author":"Ciregan Dan","year":"2012"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1109\/TASL.2011.2134090"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/3183440.3195007"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0164-1212(03)00049-9"},{"key":"e_1_2_1_36_1","volume-title":"Adaptive subgradient methods for online learning and stochastic optimization. J. Mach. Learn. Res. 12 (Jul","author":"Duchi John","year":"2011"},{"key":"e_1_2_1_37_1","first-page":"3","article-title":"Detecting outsourced student programming assignments","volume":"23","author":"Elenbogen Bruce S.","year":"2008","journal-title":"J. Comput. Sci. Coll."},{"key":"e_1_2_1_38_1","volume-title":"Everitt and Graham Dunn","author":"Brian","year":"2001"},{"key":"e_1_2_1_39_1","first-page":"1","article-title":"Identifying authorship by byte-level n-grams: The source code author profile (scap) method","volume":"6","author":"Frantzeskou Georgia","year":"2007","journal-title":"Int. J. Dig. Evid."},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/1134285.1134445"},{"key":"e_1_2_1_41_1","volume-title":"Spike-and-slab sparse coding for unsupervised feature discovery. CoRR abs\/1201.3382","author":"Goodfellow Ian J.","year":"2012"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-12979-2_3"},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1109\/MSP.2012.2205597"},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1162\/neco.2006.18.7.1527"},{"key":"e_1_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.5555\/2821429.2821434"},{"key":"e_1_2_1_46_1","doi-asserted-by":"crossref","first-page":"233","DOI":"10.1561\/1500000005","article-title":"Authorship attribution","volume":"1","author":"\u00a0al Patrick Juola","year":"2008","journal-title":"Found. Trends Inf. Retriev."},{"key":"e_1_2_1_47_1","volume-title":"Proceedings of the Conference Pacific Association for Computational Linguistics (PACLING\u201903)","volume":"3","author":"Ke\u0161elj Vlado","year":"2003"},{"key":"e_1_2_1_48_1","volume-title":"3rd International Conference on Learning Representations, ICLR 2015","author":"Diederik","year":"2015"},{"key":"e_1_2_1_49_1","volume-title":"Proceedings of the International Joint Conference on Artificial Intelligence","volume":"14","author":"\u00a0al Ron Kohavi","year":"1995"},{"key":"e_1_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.5555\/1484611.1484627"},{"key":"e_1_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0167-4048(97)00005-9"},{"key":"e_1_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.1145\/1276958.1277364"},{"key":"e_1_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1145\/3240508.3240649"},{"key":"e_1_2_1_54_1","volume-title":"Proceedings of the 6th International Conference on Neural Information Processing (ICONIP\u201999)","volume":"1","author":"Macdonell S. G.","year":"1999"},{"key":"e_1_2_1_55_1","volume-title":"Aquilina","author":"Malin Cameron H.","year":"2008"},{"key":"e_1_2_1_56_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-66399-9_16"},{"key":"e_1_2_1_57_1","doi-asserted-by":"publisher","DOI":"10.1109\/TGRS.2016.2636241"},{"key":"e_1_2_1_58_1","volume-title":"Using classification techniques to determine source code authorship. White Paper. Department of Computer Science","author":"Pellin Brian N."},{"key":"e_1_2_1_59_1","volume-title":"Proceedings of the Conference on Neural Information Processing Systems (NIPS\u201911)","volume":"271","author":"Rifai Salah","year":"2011"},{"key":"e_1_2_1_60_1","doi-asserted-by":"publisher","DOI":"10.1145\/2001420.2001433"},{"key":"e_1_2_1_61_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-23822-2_10"},{"key":"e_1_2_1_62_1","volume-title":"Proceedings of the 24th USENIX Security Symposium (USENIX Security\u201915)","author":"Richard Shin Eui Chul","year":"2015"},{"key":"e_1_2_1_63_1","doi-asserted-by":"publisher","DOI":"10.1016\/0167-4048(93)90055-A"},{"key":"e_1_2_1_64_1","first-page":"1","article-title":"Dropout: A simple way to prevent neural networks from overfitting","volume":"15","author":"Srivastava Nitish","year":"2014","journal-title":"J. Mach. Learn. Res."},{"key":"e_1_2_1_65_1","doi-asserted-by":"publisher","DOI":"10.5555\/1527090.1527102"},{"key":"e_1_2_1_66_1","first-page":"64","article-title":"Classify, but verify: Breaking the closed-world assumption in stylometric authorship attribution","volume":"11","author":"Stolerman Ariel","year":"2013","journal-title":"IFIP Working Group"},{"key":"e_1_2_1_67_1","volume-title":"Divide the gradient by a running average of its recent magnitude. Neur. Netw. Mach. Learn. 4, 2","author":"Tieleman Tijmen","year":"2012"},{"key":"e_1_2_1_68_1","doi-asserted-by":"publisher","DOI":"10.1007\/11562214_84"},{"key":"e_1_2_1_69_1","doi-asserted-by":"publisher","DOI":"10.1001\/jama.280.3.216"}],"container-title":["ACM Transactions on Privacy and Security"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3461666","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3461666","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T20:49:05Z","timestamp":1750193345000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3461666"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021,7,19]]},"references-count":69,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2021,11,30]]}},"alternative-id":["10.1145\/3461666"],"URL":"https:\/\/doi.org\/10.1145\/3461666","relation":{},"ISSN":["2471-2566","2471-2574"],"issn-type":[{"value":"2471-2566","type":"print"},{"value":"2471-2574","type":"electronic"}],"subject":[],"published":{"date-parts":[[2021,7,19]]},"assertion":[{"value":"2019-05-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2021-04-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2021-07-19","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}