{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,9]],"date-time":"2026-04-09T14:28:17Z","timestamp":1775744897727,"version":"3.50.1"},"publisher-location":"New York, NY, USA","reference-count":63,"publisher":"ACM","license":[{"start":{"date-parts":[[2020,6,11]],"date-time":"2020-06-11T00:00:00Z","timestamp":1591833600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/501100000266","name":"Engineering and Physical Sciences Research Council","doi-asserted-by":"publisher","award":["P\/J017515\/1"],"award-info":[{"award-number":["P\/J017515\/1"]}],"id":[{"id":"10.13039\/501100000266","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2020,6,11]]},"DOI":"10.1145\/3385412.3385997","type":"proceedings-article","created":{"date-parts":[[2020,6,7]],"date-time":"2020-06-07T01:40:10Z","timestamp":1591494010000},"page":"91-105","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":88,"title":["Typilus: neural type hints"],"prefix":"10.1145","author":[{"given":"Miltiadis","family":"Allamanis","sequence":"first","affiliation":[{"name":"Microsoft Research, UK"}]},{"given":"Earl T.","family":"Barr","sequence":"additional","affiliation":[{"name":"University College London, UK"}]},{"given":"Soline","family":"Ducousso","sequence":"additional","affiliation":[{"name":"ENSTA Paris, France"}]},{"given":"Zheng","family":"Gao","sequence":"additional","affiliation":[{"name":"University College London, UK"}]}],"member":"320","published-online":{"date-parts":[[2020,6,11]]},"reference":[{"key":"e_1_3_2_1_1_1","doi-asserted-by":"crossref","unstructured":"Miltiadis Allamanis. 2019. The Adverse Effects of Code Duplication in Machine Learning Models of Code. In SPLASH Onward!","DOI":"10.1145\/3359591.3359735"},{"key":"e_1_3_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/2635868.2635883"},{"key":"e_1_3_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/2786805.2786849"},{"key":"e_1_3_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/3212695"},{"key":"e_1_3_2_1_5_1","volume-title":"Proceedings of the International Conference on Learning Representations (ICLR).","author":"Allamanis Miltiadis","year":"2018","unstructured":"Miltiadis Allamanis, Marc Brockschmidt, and Mahmoud Khademi. 2018. Learning to Represent Programs with Graphs. In Proceedings of the International Conference on Learning Representations (ICLR)."},{"key":"e_1_3_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1109\/MSR.2013.6624029"},{"key":"e_1_3_2_1_7_1","volume-title":"Proceedings of the International Conference on Machine Learning (ICML).","author":"Allamanis Miltiadis","year":"2015","unstructured":"Miltiadis Allamanis, Daniel Tarlow, Andrew Gordon, and Yi Wei. 2015. Bimodal modelling of source code and natural language. In Proceedings of the International Conference on Machine Learning (ICML)."},{"key":"e_1_3_2_1_8_1","volume-title":"Proceedings of the International Conference on Learning Representations (ICLR).","author":"Alon Uri","year":"2010","unstructured":"Uri Alon, Omer Levy, and Eran Yahav. 2010. code2seq: Generating Sequences from Structured Representations of Code. In Proceedings of the International Conference on Learning Representations (ICLR)."},{"key":"e_1_3_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/3290353"},{"key":"e_1_3_2_1_10_1","volume-title":"Proceedings of the International Conference on Learning Representations (ICLR).","author":"Bahdanau Dzmitry","year":"2015","unstructured":"Dzmitry Bahdanau, Kyunghyun Cho, and Yoshua Bengio. 2015. Neural machine translation by jointly learning to align and translate. In Proceedings of the International Conference on Learning Representations (ICLR)."},{"key":"e_1_3_2_1_11_1","volume-title":"Proceedings of the Eighth International Joint Conference on Natural Language Processing (Volume 2: Short Papers)","volume":"2","author":"Miceli Barone Antonio Valerio","year":"2017","unstructured":"Antonio Valerio Miceli Barone and Rico Sennrich. 2017. A Parallel Corpus of Python Functions and Documentation Strings for Automated Code Documentation and Code Generation. In Proceedings of the Eighth International Joint Conference on Natural Language Processing (Volume 2: Short Papers), Vol. 2. 314\u2013319."},{"key":"e_1_3_2_1_12_1","volume-title":"Context2Name: A deep learning-based approach to infer natural variable names from usage contexts. arXiv preprint arXiv:1809.05193","author":"Bavishi Rohan","year":"2018","unstructured":"Rohan Bavishi, Michael Pradel, and Koushik Sen. 2018. Context2Name: A deep learning-based approach to infer natural variable names from usage contexts. arXiv preprint arXiv:1809.05193 (2018)."},{"key":"e_1_3_2_1_13_1","volume-title":"Proceedings of the International Conference on Machine Learning (ICML). 2933\u20132942","author":"Bielik Pavol","year":"2016","unstructured":"Pavol Bielik, Veselin Raychev, and Martin Vechev. 2016. PHOG: Probabilistic Model for Code. In Proceedings of the International Conference on Machine Learning (ICML). 2933\u20132942."},{"key":"e_1_3_2_1_14_1","volume-title":"OOPSLA workshop on revival of dynamic languages","volume":"4","author":"Bracha Gilad","year":"2004","unstructured":"Gilad Bracha. 2004. Pluggable type systems. In OOPSLA workshop on revival of dynamic languages, Vol. 4."},{"key":"e_1_3_2_1_15_1","volume-title":"International Conference in Learning Representations.","author":"Brockschmidt Marc","year":"2019","unstructured":"Marc Brockschmidt, Miltiadis Allamanis, Alexander L Gaunt, and Oleksandr Polozov. 2019. Generative code modeling with graphs. In International Conference in Learning Representations."},{"key":"e_1_3_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1109\/CVPR.2016.149"},{"key":"e_1_3_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/3314221.3314648"},{"key":"e_1_3_2_1_18_1","volume-title":"On the Properties of Neural Machine Translation: Encoder\u2013Decoder Approaches. Syntax, Semantics and Structure in Statistical Translation","author":"Cho Kyunghyun","year":"2014","unstructured":"Kyunghyun Cho, Bart van Merri\u00ebnboer, Dzmitry Bahdanau, and Yoshua Bengio. 2014. On the Properties of Neural Machine Translation: Encoder\u2013Decoder Approaches. Syntax, Semantics and Structure in Statistical Translation (2014)."},{"key":"e_1_3_2_1_19_1","unstructured":"Sumit Chopra Raia Hadsell and Yann LeCun. 2005. Learning a similarity metric discriminatively with application to face verification. In CVPR."},{"key":"e_1_3_2_1_20_1","volume-title":"Proceedings of the International Conference on Machine Learning (ICML).","author":"Cvitkovic Milan","year":"2019","unstructured":"Milan Cvitkovic, Badal Singh, and Anima Anandkumar. 2019. Open Vocabulary Learning on Source Code with a Graph-Structured Cache. In Proceedings of the International Conference on Machine Learning (ICML)."},{"key":"e_1_3_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/3236024.3236042"},{"key":"e_1_3_2_1_22_1","volume-title":"Neural Reverse Engineering of Stripped Binaries. arXiv preprint arXiv:1902.09122","author":"David Yaniv","year":"2019","unstructured":"Yaniv David, Uri Alon, and Eran Yahav. 2019. Neural Reverse Engineering of Stripped Binaries. arXiv preprint arXiv:1902.09122 (2019)."},{"key":"e_1_3_2_1_23_1","volume-title":"Path-based function embedding and its application to specification mining. arXiv preprint arXiv:1802.07779","author":"DeFreez Daniel","year":"2018","unstructured":"Daniel DeFreez, Aditya V Thakur, and Cindy Rubio-Gonz\u00e1lez. 2018. Path-based function embedding and its application to specification mining. arXiv preprint arXiv:1802.07779 (2018)."},{"key":"e_1_3_2_1_24_1","unstructured":"Patrick Fernandes Miltiadis Allamanis and Marc Brockschmidt. 2019. Structured neural summarization."},{"key":"e_1_3_2_1_25_1","volume-title":"typing \u2013 Support for type hints. https:\/\/docs.python.org\/3\/library\/typing.html. Visited","author":"Foundation Python Software","year":"2020","unstructured":"Python Software Foundation. 2020. typing \u2013 Support for type hints. https:\/\/docs.python.org\/3\/library\/typing.html. Visited March 2020."},{"key":"e_1_3_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2017.75"},{"key":"e_1_3_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.5555\/3305381.3305512"},{"key":"e_1_3_2_1_28_1","volume-title":"Deep Learning","author":"Goodfellow Ian","unstructured":"Ian Goodfellow, Yoshua Bengio, and Aaron Courville. 2016. Deep Learning. MIT Press."},{"key":"e_1_3_2_1_29_1","unstructured":"www.deeplearningbook.org."},{"key":"e_1_3_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1109\/CVPR.2006.100"},{"key":"e_1_3_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/3243734.3243866"},{"key":"e_1_3_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/3236024.3236051"},{"key":"e_1_3_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/3106237.3106290"},{"key":"e_1_3_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/3314221.3314616"},{"key":"e_1_3_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.5555\/2337223.2337322"},{"key":"e_1_3_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.18653\/v1\/P16-1195"},{"key":"e_1_3_2_1_37_1","volume-title":"Maybe Deep Neural Networks are the Best Choice for Modeling Source Code. arXiv preprint arXiv:1903.05734","author":"Karampatsis Rafael-Michael","year":"2019","unstructured":"Rafael-Michael Karampatsis and Charles Sutton. 2019. Maybe Deep Neural Networks are the Best Choice for Modeling Source Code. arXiv preprint arXiv:1903.05734 (2019)."},{"key":"e_1_3_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/3236024.3236035"},{"key":"e_1_3_2_1_39_1","volume-title":"Thirtieth AAAI Conference Typilus: Neural Type Hints PLDI \u201920","author":"Kim Yoon","year":"2016","unstructured":"Yoon Kim, Yacine Jernite, David Sontag, and Alexander M Rush. 2016. Character-aware neural language models. In Thirtieth AAAI Conference Typilus: Neural Type Hints PLDI \u201920, June 15\u201320, 2020, London, UK on Artificial Intelligence."},{"key":"e_1_3_2_1_40_1","volume-title":"Semi-supervised classification with graph convolutional networks. arXiv preprint arXiv:1609.02907","author":"Kipf Thomas N","year":"2016","unstructured":"Thomas N Kipf and Max Welling. 2016. Semi-supervised classification with graph convolutional networks. arXiv preprint arXiv:1609.02907 (2016)."},{"key":"e_1_3_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.5555\/1625275.1625680"},{"key":"e_1_3_2_1_42_1","volume-title":"Graham Neubig, and Bogdan Vasilescu.","author":"Lacomis Jeremy","year":"2019","unstructured":"Jeremy Lacomis, Pengcheng Yin, Edward J Schwartz, Miltiadis Allamanis, Claire Le Goues, Graham Neubig, and Bogdan Vasilescu. 2019."},{"key":"e_1_3_2_1_43_1","volume-title":"Proceedings of the International Conference on Automated Software Engineering (ASE).","author":"DIRE","unstructured":"DIRE: A Neural Approach to Decompiled Identifier Naming. In Proceedings of the International Conference on Automated Software Engineering (ASE)."},{"key":"e_1_3_2_1_44_1","volume-title":"Proceedings of the International Conference on Learning Representations (ICLR)","author":"Li Yujia","year":"2016","unstructured":"Yujia Li, Daniel Tarlow, Marc Brockschmidt, and Richard Zemel. 2016. Gated Graph Sequence Neural Networks. Proceedings of the International Conference on Learning Representations (ICLR) (2016)."},{"key":"e_1_3_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1145\/2644805"},{"key":"e_1_3_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1145\/3133908"},{"key":"e_1_3_2_1_47_1","volume-title":"Proceedings of the International Conference on Machine Learning (ICML). 649\u2013657","author":"Maddison Chris","year":"2014","unstructured":"Chris Maddison and Daniel Tarlow. 2014. Structured generative models of natural source code. In Proceedings of the International Conference on Machine Learning (ICML). 649\u2013657."},{"key":"e_1_3_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2019.00045"},{"key":"e_1_3_2_1_49_1","volume-title":"Proceedings of the International Symposium on Foundations of Software Engineering (FSE).","author":"Mangal Ravi","year":"2015","unstructured":"Ravi Mangal, Xin Zhang, Aditya V Nori, and Mayur Naik. 2015. A userguided approach to program analysis. In Proceedings of the International Symposium on Foundations of Software Engineering (FSE)."},{"key":"e_1_3_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.1145\/3133880"},{"key":"e_1_3_2_1_51_1","volume-title":"What is the difference between a string and a byte string? https:\/\/stackoverflow.com\/questions\/6224052. Visited","author":"Overflow Stack","year":"2019","unstructured":"Stack Overflow. 2011. What is the difference between a string and a byte string? https:\/\/stackoverflow.com\/questions\/6224052. Visited Nov 2019."},{"key":"e_1_3_2_1_52_1","unstructured":"Michael Pradel and Koushik Sen. 2017. Deep Learning to Find Bugs. (2017)."},{"key":"e_1_3_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1145\/2676726.2677009"},{"key":"e_1_3_2_1_54_1","doi-asserted-by":"publisher","DOI":"10.1145\/2666356.2594321"},{"key":"e_1_3_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.1145\/3133928"},{"key":"e_1_3_2_1_56_1","doi-asserted-by":"publisher","DOI":"10.1145\/1806596"},{"key":"e_1_3_2_1_57_1","unstructured":"1806598"},{"key":"e_1_3_2_1_58_1","unstructured":"Xujie Si Hanjun Dai Mukund Raghothaman Mayur Naik and Le Song. 2018. Learning loop invariants for program verification. In Advances in Neural Information Processing Systems. 7751\u20137762."},{"key":"e_1_3_2_1_59_1","volume-title":"Annoy: Approximate Nearest Neighbors. https:\/\/github.com\/spotify\/annoy.","author":"Contributors Spotify","year":"2019","unstructured":"Spotify and Contributors. 2019. Annoy: Approximate Nearest Neighbors. https:\/\/github.com\/spotify\/annoy."},{"key":"e_1_3_2_1_60_1","doi-asserted-by":"publisher","DOI":"10.1145\/2837614.2837630"},{"key":"e_1_3_2_1_61_1","volume-title":"Neural Program Repair by Jointly Learning to Localize and Repair. arXiv preprint arXiv:1904.01720","author":"Vasic Marko","year":"2019","unstructured":"Marko Vasic, Aditya Kanade, Petros Maniatis, David Bieber, and Rishabh Singh. 2019. Neural Program Repair by Jointly Learning to Localize and Repair. arXiv preprint arXiv:1904.01720 (2019)."},{"key":"e_1_3_2_1_62_1","doi-asserted-by":"publisher","DOI":"10.1145\/3106237.3106289"},{"key":"e_1_3_2_1_63_1","unstructured":"Ashish Vaswani Noam Shazeer Niki Parmar Jakob Uszkoreit Llion Jones Aidan N Gomez \u0141ukasz Kaiser and Illia Polosukhin. 2017. Attention is all you need. In Advances in neural information processing systems. 5998\u20136008."}],"event":{"name":"PLDI '20: 41st ACM SIGPLAN International Conference on Programming Language Design and Implementation","location":"London UK","acronym":"PLDI '20","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages"]},"container-title":["Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3385412.3385997","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3385412.3385997","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T22:38:49Z","timestamp":1750199929000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3385412.3385997"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020,6,11]]},"references-count":63,"alternative-id":["10.1145\/3385412.3385997","10.1145\/3385412"],"URL":"https:\/\/doi.org\/10.1145\/3385412.3385997","relation":{},"subject":[],"published":{"date-parts":[[2020,6,11]]},"assertion":[{"value":"2020-06-11","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}