{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,2,21]],"date-time":"2025-02-21T03:17:46Z","timestamp":1740107866819,"version":"3.37.3"},"reference-count":46,"publisher":"Springer Science and Business Media LLC","issue":"3","license":[{"start":{"date-parts":[[2023,6,3]],"date-time":"2023-06-03T00:00:00Z","timestamp":1685750400000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"},{"start":{"date-parts":[[2023,6,3]],"date-time":"2023-06-03T00:00:00Z","timestamp":1685750400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"}],"funder":[{"name":"Ministry of Science, Technological Development and Innovation of the Republic of Serbia","award":["451-03-47\/2023-01\/200125"],"award-info":[{"award-number":["451-03-47\/2023-01\/200125"]}]}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Soft Comput"],"published-print":{"date-parts":[[2024,2]]},"DOI":"10.1007\/s00500-023-08559-1","type":"journal-article","created":{"date-parts":[[2023,6,3]],"date-time":"2023-06-03T18:01:25Z","timestamp":1685815285000},"page":"2593-2604","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":2,"title":["Automated program improvement with reinforcement learning and graph neural networks"],"prefix":"10.1007","volume":"28","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-4701-9289","authenticated-orcid":false,"given":"Nata\u0161a","family":"Sukur","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-7598-9883","authenticated-orcid":false,"given":"Nemanja","family":"Milo\u0161evi\u0107","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-3428-3470","authenticated-orcid":false,"given":"Doni","family":"Pracner","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-5688-6320","authenticated-orcid":false,"given":"Zoran","family":"Budimac","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2023,6,3]]},"reference":[{"key":"8559_CR1","unstructured":"Allamanis M, Brockschmidt M, Khademi M (2017) Learning to represent programs with graphs. arXiv preprint arXiv:1711.00740"},{"key":"8559_CR2","doi-asserted-by":"crossref","unstructured":"Alon U, Zilberstein M, Levy O, Yahav E (2019) code2vec: Learning distributed representations of code. In: Proceedings of the ACM on programming languages 3(POPL), 1\u201329","DOI":"10.1145\/3290353"},{"key":"8559_CR3","doi-asserted-by":"crossref","unstructured":"Arcuri A, Yao X (2008) A novel co-evolutionary approach to automatic software bug fixing. In: Evolutionary computation, 2008. CEC 2008.(IEEE world congress on computational intelligence). IEEE Congress On, pp 162\u2013168. IEEE","DOI":"10.1109\/CEC.2008.4630793"},{"key":"8559_CR4","unstructured":"Balog M, Gaunt AL, Brockschmidt M, Nowozin S, Tarlow D (2016) Deepcoder: learning to write programs. arXiv preprint arXiv:1611.01989"},{"key":"8559_CR5","unstructured":"Ben-Nun T, Jakobovits AS, Hoefler T (2018) Neural code comprehension: a learnable representation of code semantics. Adv Neural Inf Process Syst 31"},{"key":"8559_CR6","unstructured":"Brockman G, Cheung V, Pettersson L, Schneider J, Schulman J, Tang J, Zaremba W (2016) Openai gym. arXiv preprint arXiv:1606.01540"},{"key":"8559_CR7","unstructured":"Bunel R, Hausknecht M, Devlin J, Singh R, Kohli P (2018) Leveraging grammar and reinforcement learning for neural program synthesis. arXiv preprint arXiv:1805.04276"},{"key":"8559_CR8","volume-title":"Cognitive complexity","author":"GA Campbell","year":"2020","unstructured":"Campbell GA, SonarSource S (2020) Cognitive complexity. SonarSource, Geneva"},{"key":"8559_CR9","unstructured":"Cummins C, Fisches ZV, Ben-Nun T, Hoefler T, Leather H (2020) Programl: Graph-based deep learning for program optimization and analysis. arXiv preprint arXiv:2003.10536"},{"key":"8559_CR10","doi-asserted-by":"crossref","unstructured":"Dasgupta SS, Ray SN, Talukdar P (2018) Hyte: Hyperplane-based temporally aware knowledge graph embedding. In: Proceedings of the 2018 conference on empirical methods in natural language processing, pp 2001\u20132011","DOI":"10.18653\/v1\/D18-1225"},{"issue":"6","key":"8559_CR11","doi-asserted-by":"publisher","first-page":"27","DOI":"10.1109\/MS.2016.147","volume":"33","author":"C Ebert","year":"2016","unstructured":"Ebert C, Cain J, Antoniol G, Counsell S, Laplante P (2016) Cyclomatic complexity. IEEE softw 33(6):27\u201329","journal-title":"IEEE softw"},{"key":"8559_CR12","unstructured":"Fey M, Lenssen JE (2019) Fast graph representation learning with pytorch geometric. arXiv preprint arXiv:1903.02428"},{"key":"8559_CR13","doi-asserted-by":"crossref","unstructured":"Forrest S, Nguyen T, Weimer W, Le\u00a0Goues C (2009) A genetic programming approach to automated software repair. In: Proceedings of the 11th annual conference on genetic and evolutionary computation, pp 947\u2013954. ACM","DOI":"10.1145\/1569901.1570031"},{"key":"8559_CR14","unstructured":"Fu C, Chen H, Liu H, Chen X, Tian Y, Koushanfar F, Zhao J (2019) Coda: an end-to-end neural program decompiler. Adv Neural Inf Process Syst 32"},{"key":"8559_CR15","doi-asserted-by":"crossref","unstructured":"Grover A, Leskovec J (2016) node2vec: Scalable feature learning for networks. In: Proceedings of the 22nd ACM SIGKDD international conference on knowledge discovery and data mining, pp 855\u2013864","DOI":"10.1145\/2939672.2939754"},{"key":"8559_CR16","doi-asserted-by":"crossref","unstructured":"Gupta R, Pal S, Kanade A, Shevade S (2017) Deepfix: fixing common c language errors by deep learning. In: Thirty-first AAAI conference on artificial intelligence","DOI":"10.1609\/aaai.v31i1.10742"},{"key":"8559_CR17","unstructured":"Hagberg A, Swart P, S\u00a0Chult D (2008) Exploring network structure, dynamics, and function using networkx. Technical report, Los Alamos National Lab.(LANL), Los Alamos, NM (United States)"},{"key":"8559_CR18","unstructured":"Hamilton W, Ying Z, Leskovec J (2017) Inductive representation learning on large graphs. Adv Neural Inf Process Syst 30"},{"key":"8559_CR19","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2020.110645","volume":"168","author":"N Harrand","year":"2020","unstructured":"Harrand N, Soto-Valero C, Monperrus M, Baudry B (2020) Java decompiler diversity and its application to meta-decompilation. J Syst Softw 168:110645","journal-title":"J Syst Softw"},{"key":"8559_CR20","doi-asserted-by":"crossref","unstructured":"Heo K, Lee W, Pashakhanloo P, Naik M (2018) Effective program debloating via reinforcement learning. In: Proceedings of the 2018 ACM SIGSAC conference on computer and communications security, pp 380\u2013394","DOI":"10.1145\/3243734.3243838"},{"key":"8559_CR21","unstructured":"Huang S, Onta\u00f1\u00f3n S (2020) A closer look at invalid action masking in policy gradient algorithms. arXiv preprint arXiv:2006.14171"},{"key":"8559_CR22","doi-asserted-by":"crossref","unstructured":"Katz DS, Ruchti J, Schulte E (2018) Using recurrent neural networks for decompilation. In: 2018 IEEE 25th international conference on software analysis, evolution and reengineering (SANER), pp 346\u2013356. IEEE","DOI":"10.1109\/SANER.2018.8330222"},{"key":"8559_CR23","doi-asserted-by":"crossref","unstructured":"Kim D, Nam J, Song J, Kim S (2013) Automatic patch generation learned from human-written patches. In: Proceedings of the 2013 international conference on software engineering. ICSE \u201913, pp 802\u2013811. IEEE Press, San Francisco, CA, USA","DOI":"10.1109\/ICSE.2013.6606626"},{"key":"8559_CR24","unstructured":"Kingma DP, Ba J (2014) Adam: A method for stochastic optimization. arXiv preprint arXiv:1412.6980"},{"issue":"1","key":"8559_CR25","doi-asserted-by":"publisher","first-page":"54","DOI":"10.1109\/TSE.2011.104","volume":"38","author":"C Le Goues","year":"2012","unstructured":"Le Goues C, Nguyen T, Forrest S, Weimer W (2012) Genprog: a generic method for automatic software repair. IEEE Trans Software Eng 38(1):54","journal-title":"IEEE Trans Software Eng"},{"key":"8559_CR26","doi-asserted-by":"crossref","unstructured":"Liang C, Berant J, Le Q, Forbus KD, Lao N (2016) Neural symbolic machines: learning semantic parsers on freebase with weak supervision. arXiv preprint arXiv:1611.00020","DOI":"10.18653\/v1\/P17-1003"},{"key":"8559_CR27","doi-asserted-by":"crossref","unstructured":"Li Z, Wu Q, Qian K (2019) Adabot: Fault-tolerant java decompiler. arXiv preprint arXiv:1908.06748","DOI":"10.1609\/aaai.v34i10.7203"},{"key":"8559_CR28","unstructured":"Ma\u0142kowski A, Grzechoci\u0144ski J, Wawrzy\u0144ski P (2022) Graph autoencoder with constant dimensional latent space. arXiv preprint arXiv:2201.12165"},{"key":"8559_CR29","doi-asserted-by":"publisher","DOI":"10.1109\/TETCI.2022.3222545","author":"M Nie","year":"2023","unstructured":"Nie M, Chen D, Wang D (2023) Reinforcement learning on graphs: a survey. IEEE Trans Emerg Top Comput Intell. https:\/\/doi.org\/10.1109\/TETCI.2022.3222545","journal-title":"IEEE Trans Emerg Top Comput Intell"},{"key":"8559_CR30","unstructured":"Parisotto E, Mohamed A-r, Singh R, Li L, Zhou D, Kohli P (2016) Neuro-symbolic program synthesis. arXiv preprint arXiv:1611.01855"},{"key":"8559_CR31","doi-asserted-by":"publisher","first-page":"1155","DOI":"10.1002\/spe.2346","volume":"46","author":"R Pawlak","year":"2015","unstructured":"Pawlak R, Monperrus M, Petitprez N, Noguera C, Seinturier L (2015) Spoon: a library for implementing analyses and transformations of java source code. Softw Pract Exp 46:1155\u20131179. https:\/\/doi.org\/10.1002\/spe.2346","journal-title":"Softw Pract Exp"},{"key":"8559_CR32","doi-asserted-by":"crossref","unstructured":"Perozzi B, Al-Rfou R, Skiena S (2014) Deepwalk: Online learning of social representations. In: Proceedings of the 20th ACM SIGKDD international conference on knowledge discovery and data mining, pp 701\u2013710","DOI":"10.1145\/2623330.2623732"},{"issue":"5","key":"8559_CR33","doi-asserted-by":"publisher","first-page":"1857","DOI":"10.1002\/smr.1857","volume":"29","author":"D Pracner","year":"2017","unstructured":"Pracner D, Budimac Z (2017) Enabling code transformations with fermat on simplified bytecode. J Softw Evol Process 29(5):1857. https:\/\/doi.org\/10.1002\/smr.1857","journal-title":"J Softw Evol Process"},{"key":"8559_CR34","unstructured":"Raffin A, Hill A, Ernestus M, Gleave A, Kanervisto A, Dormann N (2019) Stable baselines 3"},{"key":"8559_CR35","volume-title":"Artificial intelligence: a modern approach","author":"SJ Russell","year":"2016","unstructured":"Russell SJ, Norvig P (2016) Artificial intelligence: a modern approach. Pearson Higher Ed, London"},{"key":"8559_CR36","unstructured":"Schulman J, Wolski F, Dhariwal P, Radford A, Klimov O (2017) Proximal policy optimization algorithms. arXiv preprint arXiv:1707.06347"},{"key":"8559_CR37","unstructured":"Shin ECR, Song D, Moazzezi R (2015) Recognizing functions in binaries with neural networks. In: 24th USENIX security symposium (USENIX Security 15), pp 611\u2013626"},{"key":"8559_CR38","unstructured":"Sukur N, Pracner D, Budimac Z (2019) Fitness functions and transformations in an automated process. In: Budimac Z, Koteska B (eds) SQAMIA 2019, 8th workshop of software quality, analysis, monitoring, improvement, and applications, pp 17\u2013011710. CEUR-WS.org, Ohrid, North Macedonia. http:\/\/ceur-ws.org\/Vol-2217\/"},{"issue":"3","key":"8559_CR39","doi-asserted-by":"publisher","first-page":"200","DOI":"10.1016\/j.icte.2020.05.003","volume":"6","author":"C-Y Tang","year":"2020","unstructured":"Tang C-Y, Liu C-H, Chen W-K, You SD (2020) Implementing action mask in proximal policy optimization (ppo) algorithm. ICT Express 6(3):200\u2013203","journal-title":"ICT Express"},{"key":"8559_CR40","doi-asserted-by":"crossref","unstructured":"Wang X, Lyu D, Li M, Xia Y, Yang Q, Wang X, Wang X, Cui P, Yang Y, Sun B et al (2021) Apan: Asynchronous propagation attention network for real-time temporal graph embedding. In: Proceedings of the 2021 international conference on management of data, pp 2628\u20132638","DOI":"10.1145\/3448016.3457564"},{"key":"8559_CR41","unstructured":"Wang H, Wang S, Xu D, Zhang X, Liu X (2020) Generating effective software obfuscation sequences with reinforcement learning. IEEE Trans Depend Secure Comput"},{"key":"8559_CR42","doi-asserted-by":"publisher","unstructured":"Ward M (2013) Assembler restructuring in fermat. In: SCAM, pp 147\u2013156. IEEE, Eindhoven, Netherlands. https:\/\/doi.org\/10.1109\/SCAM.2013.6648196","DOI":"10.1109\/SCAM.2013.6648196"},{"key":"8559_CR43","doi-asserted-by":"crossref","unstructured":"Watson AH, Wallace DR, McCabe TJ (1996) Structured testing: A testing methodology using the cyclomatic complexity metric. Special Publication (NIST SP), National Institute of Standards and Technology, Gaithersburg, MD, Gaithersburg, MD, USA","DOI":"10.6028\/NIST.SP.500-235"},{"issue":"10","key":"8559_CR44","doi-asserted-by":"publisher","first-page":"1040","DOI":"10.1109\/TSE.2018.2874648","volume":"46","author":"Y Yuan","year":"2018","unstructured":"Yuan Y, Banzhaf W (2018) Arja: automated repair of java programs via multi-objective genetic programming. IEEE Trans Software Eng 46(10):1040\u20131067. https:\/\/doi.org\/10.1109\/TSE.2018.2874648","journal-title":"IEEE Trans Software Eng"},{"key":"8559_CR45","doi-asserted-by":"publisher","DOI":"10.1145\/3360004","author":"Y Yuan","year":"2019","unstructured":"Yuan Y, Banzhaf W (2019) Toward better evolutionary program repair: an integrated approach. ACM Trans Softw Eng Methodol. https:\/\/doi.org\/10.1145\/3360004","journal-title":"ACM Trans Softw Eng Methodol"},{"key":"8559_CR46","unstructured":"Zhang L, Rosenblatt G, Fetaya E, Liao R, Byrd W, Might M, Urtasun R, Zemel R (2018) Neural guided constraint logic programming for program synthesis. Adv Neural Inf Process Syst 31"}],"container-title":["Soft Computing"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s00500-023-08559-1.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s00500-023-08559-1\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s00500-023-08559-1.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,2,1]],"date-time":"2024-02-01T05:18:33Z","timestamp":1706764713000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s00500-023-08559-1"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023,6,3]]},"references-count":46,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2024,2]]}},"alternative-id":["8559"],"URL":"https:\/\/doi.org\/10.1007\/s00500-023-08559-1","relation":{},"ISSN":["1432-7643","1433-7479"],"issn-type":[{"type":"print","value":"1432-7643"},{"type":"electronic","value":"1433-7479"}],"subject":[],"published":{"date-parts":[[2023,6,3]]},"assertion":[{"value":"18 May 2023","order":1,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"3 June 2023","order":2,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}},{"order":1,"name":"Ethics","group":{"name":"EthicsHeading","label":"Declarations"}},{"value":"All authors of this manuscript declare that they have no conflict of interest.","order":2,"name":"Ethics","group":{"name":"EthicsHeading","label":"Conflict of interest"}},{"value":"This article does not contain any studies with human participants or animals performed by any of the authors.","order":3,"name":"Ethics","group":{"name":"EthicsHeading","label":"Ethical approval"}},{"value":"This article does not contain any studies with human participants performed by any of the authors, therefore informed consent was not required.","order":4,"name":"Ethics","group":{"name":"EthicsHeading","label":"Informed consent"}}]}}