{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,10,22]],"date-time":"2026-10-22T15:18:49Z","timestamp":1792682329476,"version":"4.5.0"},"reference-count":93,"publisher":"Springer Science and Business Media LLC","issue":"1","license":[{"start":{"date-parts":[[2022,3,5]],"date-time":"2022-03-05T00:00:00Z","timestamp":1646438400000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2022,3,5]],"date-time":"2022-03-05T00:00:00Z","timestamp":1646438400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Autom Softw Eng"],"published-print":{"date-parts":[[2022,5]]},"abstract":"<jats:title>Abstract<\/jats:title>\n                  <jats:p>\n                    Writing software exploits is an important practice for\n                    <jats:italic>offensive security<\/jats:italic>\n                    analysts to investigate and prevent attacks. In particular,\n                    <jats:italic>shellcodes<\/jats:italic>\n                    are especially time-consuming and a technical challenge, as they are written in assembly language. In this work, we address the task of automatically generating shellcodes, starting purely from descriptions in natural language, by proposing an approach based on Neural Machine Translation (NMT). We then present an empirical study using a novel dataset (\n                    <jats:italic>Shellcode_IA32<\/jats:italic>\n                    ), which consists of 3200 assembly code snippets of real Linux\/x86 shellcodes from public databases, annotated using natural language. Moreover, we propose novel metrics to evaluate the accuracy of NMT at generating shellcodes. The empirical analysis shows that NMT can generate assembly code snippets from the natural language with high accuracy and that in many cases can generate entire shellcodes with no errors.\n                  <\/jats:p>","DOI":"10.1007\/s10515-022-00331-3","type":"journal-article","created":{"date-parts":[[2022,3,5]],"date-time":"2022-03-05T11:02:54Z","timestamp":1646478174000},"update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":23,"title":["Can we generate shellcodes via natural language? An empirical study"],"prefix":"10.1007","volume":"29","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-5579-1696","authenticated-orcid":false,"given":"Pietro","family":"Liguori","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Erfan","family":"Al-Hossami","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Domenico","family":"Cotroneo","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Roberto","family":"Natella","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Bojan","family":"Cukic","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Samira","family":"Shaikh","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"297","published-online":{"date-parts":[[2022,3,5]]},"reference":[{"key":"331_CR1","doi-asserted-by":"crossref","unstructured":"Alhuzali, A., Eshete, B., Gjomemo, R., Venkatakrishnan, V.: Chainsaw: Chained automated workflow-based exploit generation. In: ACM Conf. on Computer and Communications Security, pp. 641\u2013652 (2016)","DOI":"10.1145\/2976749.2978380"},{"key":"331_CR2","unstructured":"Alon, U., Brody, S., Levy, O., Yahav, E.: code2seq: Generating sequences from structured representations of code. In: Intl. Conf. on Learning Representations (2018)"},{"key":"331_CR3","unstructured":"Anley, C., Heasman, J., Lindner, F., Richarte, G.: The Shellcoder\u2019s Handbook: Discovering and Exploiting Security Holes. Wiley (2007). https:\/\/books.google.it\/books?id=8PLYwAEACAAJ"},{"issue":"5","key":"331_CR4","doi-asserted-by":"publisher","first-page":"72","DOI":"10.1109\/MSP.2004.87","volume":"2","author":"I Arce","year":"2004","unstructured":"Arce, I.: The shellcode generation. IEEE Security & Privacy 2(5), 72\u201376 (2004)","journal-title":"IEEE Security & Privacy"},{"key":"331_CR5","unstructured":"Avgerinos, T., Cha, S.K., Hao, B.L.T., Brumley, D.: Aeg: Automatic exploit generation. In: NDSS (2011)"},{"issue":"2","key":"331_CR6","doi-asserted-by":"publisher","first-page":"74","DOI":"10.1145\/2560217.2560219","volume":"57","author":"T Avgerinos","year":"2014","unstructured":"Avgerinos, T., Cha, S.K., Rebert, A., Schwartz, E.J., Woo, M., Brumley, D.: Automatic exploit generation. Commun. ACM 57(2), 74\u201384 (2014). https:\/\/doi.org\/10.1145\/2560217.2560219","journal-title":"Commun. ACM"},{"key":"331_CR7","unstructured":"Bahdanau, D., Cho, K., Bengio, Y.: Neural machine translation by jointly learning to align and translate. arXiv:1409.0473 (2015)"},{"key":"331_CR8","doi-asserted-by":"crossref","unstructured":"Bao, T., Wang, R., Shoshitaishvili, Y., Brumley, D.: Your exploit is mine: Automatic shellcode transplant for remote exploits. In: 2017 IEEE Symposium on Security and Privacy (SP), pp. 824\u2013839. IEEE (2017)","DOI":"10.1109\/SP.2017.67"},{"key":"331_CR9","doi-asserted-by":"crossref","unstructured":"Bojar, O., Chatterjee, R., Federmann, C., Graham, Y., Haddow, B., Huck, M., Yepes, A.J., Koehn, P., Logacheva, V., Monz, C., et\u00a0al.: Findings of the 2016 conference on machine translation. In: Conf. on Machine Translation, pp. 131\u2013198 (2016)","DOI":"10.18653\/v1\/W16-2301"},{"key":"331_CR10","unstructured":"Brown, T.B., Mann, B., Ryder, N., Subbiah, M., Kaplan, J., Dhariwal, P., Neelakantan, A., Shyam, P., Sastry, G., Askell, A., et\u00a0al.: Language models are few-shot learners. arXiv:2005.14165 (2020)"},{"key":"331_CR11","doi-asserted-by":"publisher","unstructured":"Brumley, D., Poosankam, P., Song, D., Zheng, J.: Automatic patch-based exploit generation is possible: Techniques and implications. In: 2008 IEEE Symposium on Security and Privacy (sp 2008), pp. 143\u2013157 (2008). https:\/\/doi.org\/10.1109\/SP.2008.17","DOI":"10.1109\/SP.2008.17"},{"key":"331_CR12","unstructured":"Bugcrowd: It takes a crowd to defeat a crowd. https:\/\/www.bugcrowd.com\/products\/how-it-works\/. Accessed: 2021-06-10"},{"key":"331_CR13","doi-asserted-by":"crossref","unstructured":"Chen, P., Xing, X., Mao, B., Xie, L., Shen, X., Yin, X.: Automatic construction of jump-oriented programming shellcode (on the x86). In: ACM Symp. on Information, Computer and Communications Security, pp. 20\u201329 (2011)","DOI":"10.1145\/1966913.1966918"},{"key":"331_CR14","doi-asserted-by":"crossref","unstructured":"Cho, K., van Merri\u00ebnboer, B., Gulcehre, C., Bahdanau, D., Bougares, F., Schwenk, H., Bengio, Y.: Learning phrase representations using rnn encoder\u2013decoder for statistical machine translation. In: Conf. on Empirical Methods in Natural Language Processing (EMNLP), pp. 1724\u20131734 (2014)","DOI":"10.3115\/v1\/D14-1179"},{"issue":"3","key":"331_CR15","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/2518130","volume":"46","author":"MR Costa-Juss\u00e1","year":"2014","unstructured":"Costa-Juss\u00e1, M.R., Farr\u00fas, M.: Statistical machine translation enhancements through linguistic levels: A survey. ACM Comput. Surv. (CSUR) 46(3), 1\u201328 (2014)","journal-title":"ACM Comput. Surv. (CSUR)"},{"key":"331_CR16","unstructured":"CVE: CVE Details. https:\/\/www.cvedetails.com\/vulnerabilities-by-types.php. Accessed: 2021-06-09"},{"key":"331_CR17","unstructured":"Dandamudi, S.: Guide to Assembly Language Programming in Linux. ITPro collection. Springer US (2005). https:\/\/books.google.it\/books?id=HeorH2cE7WkC"},{"key":"331_CR18","unstructured":"Deckard, J.: Buffer Overflow Attacks: Detect, Exploit, Prevent. Elsevier Science (2005). https:\/\/books.google.it\/books?id=NYyKhOqOCF8C"},{"key":"331_CR19","unstructured":"Devlin, J., Chang, M.W., Lee, K., Toutanova, K.: Bert: Pre-training of deep bidirectional transformers for language understanding. In: NAACL-HLT (2019)"},{"key":"331_CR20","doi-asserted-by":"publisher","unstructured":"Ding, W., Xing, X., Chen, P., Xin, Z., Mao, B.: Automatic construction of printable return-oriented programming payload. In: Intl. Conf. on Malicious and Unwanted Software: The Americas (MALWARE), pp. 18\u201325 (2014). https:\/\/doi.org\/10.1109\/MALWARE.2014.6999408","DOI":"10.1109\/MALWARE.2014.6999408"},{"key":"331_CR21","doi-asserted-by":"crossref","unstructured":"Dong, L., Lapata, M.: Coarse-to-fine decoding for neural semantic parsing. In: ACL (2018)","DOI":"10.18653\/v1\/P18-1068"},{"key":"331_CR22","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1016\/S0065-2458(08)60282-X","volume":"49","author":"BJ Dorr","year":"1999","unstructured":"Dorr, B.J., Jordan, P.W., Benoit, J.W.: A survey of current paradigms in machine translation. Adv. Comput. 49, 1\u201368 (1999)","journal-title":"Adv. Comput."},{"key":"331_CR23","doi-asserted-by":"crossref","unstructured":"Drosos, I., Barik, T., Guo, P.J., DeLine, R., Gulwani, S.: Wrex: A unified programming-by-example interaction for synthesizing readable code for data scientists. In: Proceedings of the 2020 CHI conference on human factors in computing systems, pp. 1\u201312 (2020)","DOI":"10.1145\/3313831.3376442"},{"key":"331_CR24","volume-title":"Assembly Language Step-by-Step: Programming with DOS and Linux","author":"J Duntemann","year":"2000","unstructured":"Duntemann, J.: Assembly Language Step-by-Step: Programming with DOS and Linux. Wiley, NY (2000)"},{"key":"331_CR25","volume-title":"Assembly Language Step-by-Step: Programming with Linux","author":"J Duntemann","year":"2011","unstructured":"Duntemann, J.: Assembly Language Step-by-Step: Programming with Linux. Wiley, NY (2011)"},{"key":"331_CR26","unstructured":"Eisenstein, J.: Natural Language Processing (2018)"},{"key":"331_CR27","unstructured":"Exploitdb: Exploit Database Shellcodes. https:\/\/www.exploit-db.com\/shellcodes?platform=linux_x86\/. Accessed: 2021-04-16"},{"key":"331_CR28","doi-asserted-by":"crossref","unstructured":"Feng, Z., Guo, D., Tang, D., Duan, N., Feng, X., Gong, M., Shou, L., Qin, B., Liu, T., Jiang, D., Zhou, M.: Codebert: A pre-trained model for programming and natural languages. In: EMNLP (2020)","DOI":"10.18653\/v1\/2020.findings-emnlp.139"},{"key":"331_CR29","doi-asserted-by":"crossref","unstructured":"Foster, J.: Sockets, Shellcode, Porting, and Coding: Reverse Engineering Exploits and Tool Coding for Security Professionals. Elsevier Science (2005). https:\/\/books.google.it\/books?id=ZNI5dvBSfZoC","DOI":"10.1016\/B978-159749005-4\/50016-X"},{"key":"331_CR30","doi-asserted-by":"crossref","unstructured":"Gemmell, C., Rossetto, F., Dalton, J.: Relevance transformer: Generating concise code snippets with relevance feedback. In: Intl. ACM Conf. on Research and Development in Information Retrieval, pp. 2005\u20132008 (2020)","DOI":"10.1145\/3397271.3401215"},{"key":"331_CR31","volume-title":"Deep learning","author":"I Goodfellow","year":"2016","unstructured":"Goodfellow, I., Bengio, Y., Courville, A.: Deep learning. MIT Press, Cambridge (2016)"},{"key":"331_CR32","unstructured":"Hackerone: Hackerone Bounty. https:\/\/www.hackerone.com\/product\/bug-bounty-program. Accessed: 2021-06-10"},{"key":"331_CR33","unstructured":"Han, L.: Machine translation evaluation resources and methods: A survey. arXiv:1605.04515 (2016)"},{"key":"331_CR34","unstructured":"Han, L., Jones, G.J.F., Smeaton, A.F.: Translation quality assessment: A brief survey on manual and automatic methods. arXiv:2105.03311 (2021)"},{"key":"331_CR35","unstructured":"Han, L., Smeaton, A., Jones, G.: Translation quality assessment: A brief survey on manual and automatic methods. In: Proceedings for the First Workshop on Modelling Translation: Translatology in the Digital Age, pp. 15\u201333. Association for Computational Linguistics, online (2021). https:\/\/aclanthology.org\/2021.motra-1.3"},{"key":"331_CR36","unstructured":"Hata, H., Shihab, E., Neubig, G.: Learning to generate corrective patches using neural machine translation. arXiv preprint arXiv:1812.07170 (2018)"},{"key":"331_CR37","doi-asserted-by":"crossref","unstructured":"Hayati, S.A., Olivier, R., Avvaru, P., Yin, P., Tomasic, A., Neubig, G.: Retrieval-based neural code generation. arXiv preprint arXiv:1808.10025 (2018)","DOI":"10.18653\/v1\/D18-1111"},{"issue":"8","key":"331_CR38","doi-asserted-by":"publisher","first-page":"1735","DOI":"10.1162\/neco.1997.9.8.1735","volume":"9","author":"S Hochreiter","year":"1997","unstructured":"Hochreiter, S., Schmidhuber, J.: Long short-term memory. Neural Comput. 9(8), 1735\u20131780 (1997)","journal-title":"Neural Comput."},{"key":"331_CR39","unstructured":"Hu, H., Chua, Z.L., Adrian, S., Saxena, P., Liang, Z.: Automatic generation of data-oriented exploits. In: USENIX Security Symposium, pp. 177\u2013192 (2015)"},{"issue":"1","key":"331_CR40","doi-asserted-by":"publisher","first-page":"270","DOI":"10.1109\/TR.2014.2299198","volume":"63","author":"SK Huang","year":"2014","unstructured":"Huang, S.K., Huang, M.H., Huang, P.Y., Lu, H.L., Lai, C.W.: Software crash analysis for automatic exploit generation on binary programs. IEEE Trans. Reliab. 63(1), 270\u2013289 (2014). https:\/\/doi.org\/10.1109\/TR.2014.2299198","journal-title":"IEEE Trans. Reliab."},{"key":"331_CR41","unstructured":"Husain, H., Wu, H.H., Gazit, T., Allamanis, M., Brockschmidt, M.: CodeSearchNet Challenge: Evaluating the State of Semantic Code Search. arXiv:1909.09436 [cs, stat] (2019)"},{"key":"331_CR42","doi-asserted-by":"crossref","unstructured":"Iyer, S., Konstas, I., Cheung, A., Zettlemoyer, L.: Summarizing source code using a neural attention model. In: Annual Meeting of the Association for Computational Linguistics, pp. 2073\u20132083 (2016)","DOI":"10.18653\/v1\/P16-1195"},{"key":"331_CR43","unstructured":"Jamwal, S.: C Programming. Pearson India (2014). https:\/\/books.google.it\/books?id=pZWKBAAAQBAJ"},{"key":"331_CR44","doi-asserted-by":"crossref","unstructured":"Jiang, S., Armaly, A., McMillan, C.: Automatically generating commit messages from diffs using neural machine translation. In: IEEE\/ACM Intl. Conf. on Automated Software Engineering (ASE), pp. 135\u2013146. IEEE (2017)","DOI":"10.1109\/ASE.2017.8115626"},{"key":"331_CR45","doi-asserted-by":"crossref","unstructured":"Jung, T.H.: Commitbert: Commit message generation using pre-trained programming language model. arXiv preprint arXiv:2105.14242 (2021)","DOI":"10.18653\/v1\/2021.nlp4prog-1.3"},{"key":"331_CR46","unstructured":"Kim, Y., Denton, C., Hoang, L., Rush, A.M.: Structured attention networks. arXiv preprint arXiv:1702.00887 (2017)"},{"key":"331_CR47","unstructured":"Kingma, D.P., Ba, J.: Adam: A method for stochastic optimization. arXiv:1412.6980 (2015)"},{"key":"331_CR48","volume-title":"Modern X86 Assembly Language Programming","author":"D Kusswurm","year":"2014","unstructured":"Kusswurm, D.: Modern X86 Assembly Language Programming. Springer, Berlin (2014)"},{"key":"331_CR49","doi-asserted-by":"crossref","unstructured":"Li, Y., Yang, T.: Word embedding for understanding natural language: a survey. In: Guide to big data applications, pp. 83\u2013104. Springer (2018)","DOI":"10.1007\/978-3-319-53817-4_4"},{"key":"331_CR50","doi-asserted-by":"publisher","unstructured":"Liguori, P., Al-Hossami, E., Cotroneo, D., Natella, R., Cukic, B., Shaikh, S.: Shellcode_IA32: A dataset for automatic shellcode generation. In: Proceedings of the 1st Workshop on Natural Language Processing for Programming (NLP4Prog 2021), pp. 58\u201364. Association for Computational Linguistics, Online (2021). https:\/\/doi.org\/10.18653\/v1\/2021.nlp4prog-1.7. https:\/\/aclanthology.org\/2021.nlp4prog-1.7","DOI":"10.18653\/v1\/2021.nlp4prog-1.7"},{"key":"331_CR51","doi-asserted-by":"crossref","unstructured":"Liguori, P., Al-Hossami, E., Orbinato, V., Natella, R., Shaikh, S., Cotroneo, D., Cukic, B.: EVIL: exploiting software via natural language. CoRR arXiv:2109.00279 (2021)","DOI":"10.1109\/ISSRE52982.2021.00042"},{"key":"331_CR52","unstructured":"Lin, X.V., Wang, C., Pang, D., Vu, K., Ernst, M.D.: Program synthesis from natural language using recurrent neural networks. University of Washington Department of Computer Science and Engineering, Seattle, WA, USA, Tech. Rep. UW-CSE-17-03-01 (2017)"},{"key":"331_CR53","unstructured":"Lin, X.V., Wang, C., Zettlemoyer, L., Ernst, M.D.: Nl2bash: A corpus and semantic parser for natural language interface to the linux operating system. In: Intl. Conf. on Language Resources and Evaluation (LREC) (2018)"},{"key":"331_CR54","unstructured":"Lin, Z., Feng, M., Santos, C.N.d., Yu, M., Xiang, B., Zhou, B., Bengio, Y.: A structured self-attentive sentence embedding. arXiv preprint arXiv:1703.03130 (2017)"},{"key":"331_CR55","doi-asserted-by":"crossref","unstructured":"Ling, W., Grefenstette, E., Hermann, K.M., Ko\u010disk\u1ef3, T., Senior, A., Wang, F., Blunsom, P.: Latent predictor networks for code generation. arXiv preprint arXiv:1603.06744 (2016)","DOI":"10.18653\/v1\/P16-1057"},{"key":"331_CR56","doi-asserted-by":"crossref","unstructured":"Ling, W., Grefenstette, E., Hermann, K.M., Kocisk\u00fd, T., Senior, A.W., Wang, F., Blunsom, P.: Latent predictor networks for code generation. arXiv:1603.06744 (2016)","DOI":"10.18653\/v1\/P16-1057"},{"key":"331_CR57","unstructured":"Liu, Y., Ott, M., Goyal, N., Du, J., Joshi, M., Chen, D., Levy, O., Lewis, M., Zettlemoyer, L., Stoyanov, V.: RoBERTa: A robustly optimized BERT pretraining approach. arXiv:1907.11692 (2019)"},{"key":"331_CR58","doi-asserted-by":"crossref","unstructured":"Liu, Z., Xia, X., Hassan, A.E., Lo, D., Xing, Z., Wang, X.: Neural-machine-translation-based commit message generation: how far are we? In: ACM\/IEEE Intl. Conf. on Automated Software Engineering (ASE), pp. 373\u2013384 (2018)","DOI":"10.1145\/3238147.3238190"},{"key":"331_CR59","doi-asserted-by":"crossref","unstructured":"Loper, E., Bird, S.: Nltk: the natural language toolkit. arXiv:cs\/0205028 (2002)","DOI":"10.3115\/1118108.1118117"},{"key":"331_CR60","doi-asserted-by":"crossref","unstructured":"Luong, M.T., Pham, H., Manning, C.D.: Effective approaches to attention-based neural machine translation. arXiv:1508.04025 (2015)","DOI":"10.18653\/v1\/D15-1166"},{"key":"331_CR61","doi-asserted-by":"crossref","unstructured":"Mason, J., Small, S., Monrose, F., MacManus, G.: English shellcode. In: ACM Conf. on Computer and Communications Security, pp. 524\u2013533 (2009)","DOI":"10.1145\/1653662.1653725"},{"issue":"2","key":"331_CR62","doi-asserted-by":"publisher","first-page":"80","DOI":"10.1109\/MSECP.2004.1281254","volume":"2","author":"G McGraw","year":"2004","unstructured":"McGraw, G.: Software security. IEEE Secur. Privacy 2(2), 80\u201383 (2004)","journal-title":"IEEE Secur. Privacy"},{"key":"331_CR63","unstructured":"Megahed, H.: Penetration Testing with Shellcode: Detect, exploit, and secure network-level and operating system vulnerabilities. Packt Publishing (2018)"},{"key":"331_CR64","unstructured":"Mike Hanley: Updates to our policies regarding exploits, malware, and vulnerability research. https:\/\/github.blog\/2021-06-04-updates-to-our-policies-regarding-exploits-malware-and-vulnerability-research\/. Accessed: 2021-06-10"},{"key":"331_CR65","unstructured":"Movshovitz-Attias, D., Cohen, W.: Natural language models for predicting programming comments. In: Annual Meeting of the Association for Computational Linguistics, pp. 35\u201340 (2013)"},{"key":"331_CR66","unstructured":"Neubig, G., Sperber, M., Wang, X., Felix, M., Matthews, A., Padmanabhan, S., Qi, Y., Sachan, D.S., Arthur, P., Godard, P., et\u00a0al.: Xnmt: The extensible neural machine translation toolkit. arXiv:1803.00188 (2018)"},{"key":"331_CR67","doi-asserted-by":"crossref","unstructured":"Oda, Y., Fudaba, H., Neubig, G., Hata, H., Sakti, S., Toda, T., Nakamura, S.: Learning to generate pseudo-code from source code using statistical machine translation (t). In: IEEE\/ACM Intl. Conf. on Automated Software Engineering (ASE), pp. 574\u2013584. IEEE (2015)","DOI":"10.1109\/ASE.2015.36"},{"issue":"11","key":"331_CR68","doi-asserted-by":"publisher","first-page":"4793","DOI":"10.3390\/app11114793","volume":"11","author":"C Pan","year":"2021","unstructured":"Pan, C., Lu, M., Xu, B.: An empirical study on software defect prediction using codebert model. Appl. Sci. 11(11), 4793 (2021)","journal-title":"Appl. Sci."},{"key":"331_CR69","doi-asserted-by":"crossref","unstructured":"Papineni, K., Roukos, S., Ward, T., Zhu, W.J.: Bleu: a method for automatic evaluation of machine translation. In: Annual Meeting on Association for Computational Linguistics, pp. 311\u2013318 (2002)","DOI":"10.3115\/1073083.1073135"},{"key":"331_CR70","doi-asserted-by":"crossref","unstructured":"Peters, M.E., Neumann, M., Iyyer, M., Gardner, M., Clark, C., Lee, K., Zettlemoyer, L.: Deep contextualized word representations. arXiv:1802.05365 (2018)","DOI":"10.18653\/v1\/N18-1202"},{"key":"331_CR71","doi-asserted-by":"crossref","unstructured":"Phan, H., Jannesari, A.: Statistical machine translation outperforms neural machine translation in software engineering: why and how. In: Proceedings of the 1st ACM SIGSOFT International Workshop on Representation Learning for Software Engineering and Program Languages, pp. 3\u201312 (2020)","DOI":"10.1145\/3416506.3423576"},{"key":"331_CR72","unstructured":"Pyeatt, L.: Modern Assembly Language Programming with the ARM Processor. Elsevier Science (2016). https:\/\/books.google.it\/books?id=gks1CgAAQBAJ"},{"key":"331_CR73","unstructured":"Python: tokenize (Accessed: 2020-05-20). https:\/\/docs.python.org\/3\/library\/tokenize.html"},{"key":"331_CR74","doi-asserted-by":"crossref","unstructured":"Rabinovich, M., Stern, M., Klein, D.: Abstract syntax networks for code generation and semantic parsing. arXiv:1704.07535 (2017)","DOI":"10.18653\/v1\/P17-1105"},{"issue":"1","key":"331_CR75","doi-asserted-by":"publisher","first-page":"179","DOI":"10.1145\/2103621.2103678","volume":"47","author":"D Ray","year":"2012","unstructured":"Ray, D., Ligatti, J.: Defining code-injection attacks. Acm Sigplan Notices 47(1), 179\u2013190 (2012)","journal-title":"Acm Sigplan Notices"},{"key":"331_CR76","unstructured":"Shellstorm: Shellcodes database for study cases. http:\/\/shell-storm.org\/shellcode\/. Accessed: 2021-04-16"},{"key":"331_CR77","unstructured":"Shi, K., Bieber, D., Singh, R.: TF-Coder: Program Synthesis for Tensor Manipulations. arXiv:2003.09040 (2020)"},{"key":"331_CR78","unstructured":"Sutskever, I., Vinyals, O., Le, Q.V.: Sequence to sequence learning with neural networks. In: Advances in Neural Information Processing Systems, pp. 3104\u20133112 (2014)"},{"key":"331_CR79","doi-asserted-by":"crossref","unstructured":"Tran, N., Tran, H., Nguyen, S., Nguyen, H., Nguyen, T.: Does BLEU score work for code migration? In: IEEE\/ACM Intl. Conf. on Program Comprehension (ICPC), pp. 165\u2013176 (2019)","DOI":"10.1109\/ICPC.2019.00034"},{"key":"331_CR80","doi-asserted-by":"crossref","unstructured":"Tufano, M., Pantiuchina, J., Watson, C., Bavota, G., Poshyvanyk, D.: On learning meaningful code changes via neural machine translation. In: 2019 IEEE\/ACM 41st Intl. Conf. on Software Engineering (ICSE), pp. 25\u201336. IEEE (2019)","DOI":"10.1109\/ICSE.2019.00021"},{"key":"331_CR81","unstructured":"Tutorialspoint: Assembly Programming Tutorial (Accessed: 2020-05-20). https:\/\/www.tutorialspoint.com\/assembly_programming\/index.htm"},{"key":"331_CR82","unstructured":"Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A.N., Kaiser, \u0141., Polosukhin, I.: Attention is all you need. In: Advances in Neural Information Processing Systems, pp. 5998\u20136008 (2017)"},{"key":"331_CR83","unstructured":"Wu, Y., Schuster, M., Chen, Z., Le, Q.V., Norouzi, M., Macherey, W., Krikun, M., Cao, Y., Gao, Q., Macherey, K., et\u00a0al.: Google\u2019s neural machine translation system: Bridging the gap between human and machine translation. arXiv:1609.08144 (2016)"},{"key":"331_CR84","doi-asserted-by":"crossref","unstructured":"Xu, F.F., Jiang, Z., Yin, P., Vasilescu, B., Neubig, G.: Incorporating external knowledge through pre-training for natural language to code generation. ArXiv arXiv:2004.09015 (2020)","DOI":"10.18653\/v1\/2020.acl-main.538"},{"key":"331_CR85","doi-asserted-by":"crossref","unstructured":"Xu, F.F., Jiang, Z., Yin, P., Vasilescu, B., Neubig, G.: Incorporating external knowledge through pre-training for natural language to code generation. arXiv preprint arXiv:2004.09015 (2020)","DOI":"10.18653\/v1\/2020.acl-main.538"},{"key":"331_CR86","doi-asserted-by":"crossref","unstructured":"Xu, L., Jia, W., Dong, W., Li, Y.: Automatic exploit generation for buffer overflow vulnerabilities. In: IEEE Intl. Conf. on Software Quality, Reliability and Security, pp. 463\u2013468 (2018)","DOI":"10.1109\/QRS-C.2018.00085"},{"key":"331_CR87","doi-asserted-by":"publisher","unstructured":"Yin, P., Deng, B., Chen, E., Vasilescu, B., Neubig, G.: Learning to mine aligned code and natural language pairs from stack overflow. In: Intl. Conf. on Mining Software Repositories, MSR, pp. 476\u2013486. ACM (2018). https:\/\/doi.org\/10.1145\/3196398.3196408","DOI":"10.1145\/3196398.3196408"},{"key":"331_CR88","doi-asserted-by":"crossref","unstructured":"Yin, P., Neubig, G.: A syntactic neural model for general-purpose code generation. CoRR arXiv:1704.01696 (2017)","DOI":"10.18653\/v1\/P17-1041"},{"key":"331_CR89","doi-asserted-by":"crossref","unstructured":"Yin, P., Neubig, G.: A syntactic neural model for general-purpose code generation. arXiv:1704.01696 (2017)","DOI":"10.18653\/v1\/P17-1041"},{"key":"331_CR90","doi-asserted-by":"crossref","unstructured":"Yin, P., Neubig, G.: Tranx: A transition-based neural abstract syntax parser for semantic parsing and code generation. arXiv:1810.02720 (2018)","DOI":"10.18653\/v1\/D18-2002"},{"key":"331_CR91","doi-asserted-by":"crossref","unstructured":"Yin, P., Neubig, G.: Reranking for neural semantic parsing. In: Annual Meeting of the Association for Computational Linguistics, pp. 4553\u20134559 (2019)","DOI":"10.18653\/v1\/P19-1447"},{"key":"331_CR92","doi-asserted-by":"crossref","unstructured":"You, W., Zong, P., Chen, K., Wang, X., Liao, X., Bian, P., Liang, B.: Semfuzz: Semantics-based automatic generation of proof-of-concept exploits. In: ACM Conference on Computer and Communications Security, pp. 2139\u20132154 (2017)","DOI":"10.1145\/3133956.3134085"},{"key":"331_CR93","unstructured":"Zhong, V., Xiong, C., Socher, R.: Seq2sql: Generating structured queries from natural language using reinforcement learning. ArXiv arXiv:1709.00103 (2017)"}],"container-title":["Automated Software Engineering"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10515-022-00331-3.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s10515-022-00331-3\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10515-022-00331-3.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,7,25]],"date-time":"2022-07-25T07:17:43Z","timestamp":1658733463000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s10515-022-00331-3"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022,3,5]]},"references-count":93,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2022,5]]}},"alternative-id":["331"],"URL":"https:\/\/doi.org\/10.1007\/s10515-022-00331-3","relation":{},"ISSN":["0928-8910","1573-7535"],"issn-type":[{"value":"0928-8910","type":"print"},{"value":"1573-7535","type":"electronic"}],"subject":[],"published":{"date-parts":[[2022,3,5]]},"assertion":[{"value":"14 July 2021","order":1,"name":"received","label":"Received","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"6 February 2022","order":2,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"5 March 2022","order":3,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"27 July 2022","order":4,"name":"change_date","label":"Change Date","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"Update","order":5,"name":"change_type","label":"Change Type","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"Open access funding note has been updated.","order":6,"name":"change_details","label":"Change Details","group":{"name":"ArticleHistory","label":"Article History"}}],"article-number":"30"}}