{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,19]],"date-time":"2026-05-19T04:04:38Z","timestamp":1779163478941,"version":"3.51.4"},"publisher-location":"Cham","reference-count":46,"publisher":"Springer Nature Switzerland","isbn-type":[{"value":"9783031514814","type":"print"},{"value":"9783031514821","type":"electronic"}],"license":[{"start":{"date-parts":[[2024,1,1]],"date-time":"2024-01-01T00:00:00Z","timestamp":1704067200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"},{"start":{"date-parts":[[2024,1,1]],"date-time":"2024-01-01T00:00:00Z","timestamp":1704067200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2024]]},"DOI":"10.1007\/978-3-031-51482-1_10","type":"book-chapter","created":{"date-parts":[[2024,1,10]],"date-time":"2024-01-10T06:02:47Z","timestamp":1704866567000},"page":"184-203","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":3,"title":["Learning Type Inference for\u00a0Enhanced Dataflow Analysis"],"prefix":"10.1007","author":[{"ORCID":"https:\/\/orcid.org\/0009-0006-8190-0300","authenticated-orcid":false,"given":"Lukas","family":"Seidel","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-4942-626X","authenticated-orcid":false,"given":"Sedick David","family":"Baker Effendi","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Xavier","family":"Pinho","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Konrad","family":"Rieck","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Brink","family":"van der Merwe","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Fabian","family":"Yamaguchi","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2024,1,11]]},"reference":[{"key":"10_CR1","unstructured":"Amazon Web Services. AWS DynamoDB: NoSQL Database (2023). https:\/\/aws.amazon.com\/dynamodb\/"},{"key":"10_CR2","doi-asserted-by":"publisher","unstructured":"Bierman, G., Abadi, M., Torgersen, M.: Understanding typescript. In: Jones, R. (ed.) ECOOP 2014 - Object-Oriented Programming. LNCS, vol. 8586, pp. 257\u2013281. Springer, Heidelberg (2014). https:\/\/doi.org\/10.1007\/978-3-662-44202-9_11","DOI":"10.1007\/978-3-662-44202-9_11"},{"key":"10_CR3","unstructured":"Brown, T., et al.: Language models are few-shot learners. In: Larochelle, H., Ranzato, M., Hadsell, R., Balcan, M., Lin, H. (eds.) Advances in Neural Information Processing Systems. vol. 33. Curran Associates, Inc. (2020)"},{"key":"10_CR4","doi-asserted-by":"crossref","unstructured":"Dagenais, B., Hendren, L.: Enabling static analysis for partial java programs. In: Proceedings of the 23rd ACM SIGPLAN Conference on Object-Oriented Programming Systems Languages and Applications, pp. 313\u2013328 (2008)","DOI":"10.1145\/1449764.1449790"},{"key":"10_CR5","unstructured":"Dao, T., Fu, D.Y., Ermon, S., Rudra, A., R\u00e9, C.: FlashAttention: fast and memory-efficient exact attention with IO-awareness. In: Advances in Neural Information Processing Systems (2022)"},{"key":"10_CR6","unstructured":"DefinitelyTyped. DefinitelyTyped: repository for high quality TypeScript type definitions. https:\/\/github.com\/DefinitelyTyped\/DefinitelyTyped"},{"key":"10_CR7","unstructured":"Devlin, J., Chang, M.W., Lee, K., Toutanova, K.: BERT: pre-training of deep bidirectional transformers for language understanding. In: Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long and Short Papers), pp. 4171\u20134186. Association for Computational Linguistics, Minneapolis (2019)"},{"key":"10_CR8","doi-asserted-by":"crossref","unstructured":"Gao, Z., Bird, C., Barr, E.T.: To type or not to type: quantifying detectable bugs in javascript. In: 2017 IEEE\/ACM 39th International Conference on Software Engineering (ICSE), pp. 758\u2013769. IEEE (2017)","DOI":"10.1109\/ICSE.2017.75"},{"key":"10_CR9","doi-asserted-by":"crossref","unstructured":"Gao, Z., Bird, C., Barr, E.T.: To type or not to type: quantifying detectable bugs in Javascript. In: Proceedings of the 39th International Conference on Software Engineering (ICSE 2017), pp. 758\u2013769. IEEE Press (2017)","DOI":"10.1109\/ICSE.2017.75"},{"key":"10_CR10","unstructured":"GitHub. The state of the octoverse: open source software survey (2023). https:\/\/octoverse.github.com\/"},{"key":"10_CR11","unstructured":"Guo, D., et al.: Graphcodebert: pre-training code representations with data flow. arXiv preprint (2020)"},{"issue":"5","key":"10_CR12","doi-asserted-by":"publisher","first-page":"1335","DOI":"10.1007\/s10664-013-9289-1","volume":"19","author":"S Hanenberg","year":"2014","unstructured":"Hanenberg, S., Kleinschmager, S., Robbes, R., Tanter, \u00c9., Stefik, A.: An empirical study on the impact of static typing on software maintainability. Empir. Softw. Eng. 19(5), 1335\u20131382 (2014)","journal-title":"Empir. Softw. Eng."},{"key":"10_CR13","doi-asserted-by":"crossref","unstructured":"Hellendoorn, V.J., Bird, C., Barr, E.T., Allamanis, M.: Deep learning type inference. In: Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, pp. 152\u2013162 (2018)","DOI":"10.1145\/3236024.3236051"},{"key":"10_CR14","doi-asserted-by":"crossref","unstructured":"Hochreiter, S., Schmidhuber, J.: Long short-term memory. Neural Comput. 9(8), 1735\u20131780 (1997)","DOI":"10.1162\/neco.1997.9.8.1735"},{"key":"10_CR15","doi-asserted-by":"crossref","unstructured":"Horwitz, S., Reps, T., Binkley, D.: Interprocedural slicing using dependence graphs. ACM Trans. Progr. Lang. Syst. 12(1) (1990)","DOI":"10.1145\/77606.77608"},{"key":"10_CR16","unstructured":"Huggingface: List of pre-trained models on huggingface (2023). https:\/\/huggingface.co\/transformers\/v3.3.1\/pretrained_models.html"},{"key":"10_CR17","unstructured":"Jesse, K.: GraphCodeBERT on Huggingface (2023). https:\/\/huggingface.co\/kevinjesse\/graphcodebert-MT4TS"},{"key":"10_CR18","unstructured":"Jesse, K.: TypeBert on Huggingface (2023). https:\/\/huggingface.co\/kevinjesse\/typebert"},{"key":"10_CR19","doi-asserted-by":"crossref","unstructured":"Jesse, K., Devanbu, P.T.: ManyTypes4TypeScript: a comprehensive typescript dataset for sequence-based type inference. In: 2022 IEEE\/ACM 19th International Conference on Mining Software Repositories (MSR), pp. 294\u2013298 (2022)","DOI":"10.1145\/3524842.3528507"},{"key":"10_CR20","doi-asserted-by":"crossref","unstructured":"Jesse, K., Devanbu, P.T., Ahmed, T.: Learning type annotation: Is big data enough? In: Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, pp. 1483\u20131486 (2021)","DOI":"10.1145\/3468264.3473135"},{"issue":"4","key":"10_CR21","doi-asserted-by":"publisher","first-page":"1508","DOI":"10.1109\/TSE.2022.3178945","volume":"49","author":"K Jesse","year":"2023","unstructured":"Jesse, K., Devanbu, P.T., Sawant, A.: Learning to predict user-defined types. IEEE Trans. Softw. Eng. 49(4), 1508\u20131522 (2023)","journal-title":"IEEE Trans. Softw. Eng."},{"key":"10_CR22","unstructured":"Lu, S., et al.: Codexglue: a machine learning benchmark dataset for code understanding and generation. arXiv preprint arXiv:2102.04664 (2021)"},{"key":"10_CR23","unstructured":"Microsoft. Codexglue benchmark for understanding programming code. https:\/\/microsoft.github.io\/CodeXGLUE\/. Accessed 16 May 2023"},{"key":"10_CR24","unstructured":"Nijkamp, E., et al.: Codegen: an open large language model for code with multi-turn program synthesis. arXiv preprint (2022)"},{"key":"10_CR25","unstructured":"Pandi, I.V., Barr, E.T., Gordon, A.D., Sutton, C.: Opttyper: probabilistic type inference by optimising logical and natural constraints. arXiv preprint arXiv:2004.00348 (2020)"},{"key":"10_CR26","doi-asserted-by":"crossref","unstructured":"Park, J.: Javascript API misuse detection by using typescript. In: Proceedings of the Companion Publication of the 13th International Conference on Modularity, pp. 11\u201312 (2014)","DOI":"10.1145\/2584469.2584472"},{"key":"10_CR27","doi-asserted-by":"crossref","unstructured":"Peng, Y., et al.: Static inference meets deep learning: a hybrid type inference approach for python. In: Proceedings of the 44th International Conference on Software Engineering, pp. 2019\u20132030 (2022)","DOI":"10.1145\/3510003.3510038"},{"key":"10_CR28","doi-asserted-by":"crossref","unstructured":"Peters, M.E., et al.: Deep contextualized word representations. In: Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long Papers). Association for Computational Linguistics, New Orleans (2018)","DOI":"10.18653\/v1\/N18-1202"},{"key":"10_CR29","doi-asserted-by":"crossref","unstructured":"Pradel, M., Gousios, G., Liu, J., Chandra, S.: Typewriter: neural type prediction with search-based validation. In: Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, pp. 209\u2013220 (2020)","DOI":"10.1145\/3368089.3409715"},{"key":"10_CR30","unstructured":"QwietAI. Joern: code analysis tool. https:\/\/github.com\/joernio\/joern"},{"key":"10_CR31","unstructured":"Radford, A., Narasimhan, K.: Improving language understanding by generative pre-training (2018)"},{"key":"10_CR32","unstructured":"Raffel, C., et al.: Exploring the limits of transfer learning with a unified text-to-text transformer. J. Mach. Learn. Res. 21(1) (2020)"},{"key":"10_CR33","doi-asserted-by":"publisher","DOI":"10.1016\/S0950-5849(98)00093-7","volume-title":"Program analysis via graph reachability","author":"T Reps","year":"1998","unstructured":"Reps, T.: Program analysis via graph reachability. University of Wisconsin, Tech. rep. (1998)"},{"key":"10_CR34","doi-asserted-by":"crossref","unstructured":"Reps, T., Horwitz, S., Sagiv, M.: Precise interprocedural dataflow analysis via graph reachability. In: Proceedings of the 22nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 49\u201361 (1995)","DOI":"10.1145\/199448.199462"},{"issue":"1","key":"10_CR35","doi-asserted-by":"publisher","first-page":"131","DOI":"10.1016\/0304-3975(96)00072-2","volume":"167","author":"M Sagiv","year":"1996","unstructured":"Sagiv, M., Reps, T., Horwitz, S.: Precise interprocedural dataflow analysis with applications to constant propagation. Theoret. Comput. Sci. 167(1), 131\u2013170 (1996)","journal-title":"Theoret. Comput. Sci."},{"key":"10_CR36","unstructured":"Vaswani, A., et al.: Attention is all you need. In: Guyon, I., et al. (eds.) Advances in Neural Information Processing Systems, vol. 30. Curran Associates, Inc. (2017)"},{"key":"10_CR37","doi-asserted-by":"crossref","unstructured":"Voruganti, S., Jesse, K., Devanbu, P.: FlexType: a plug-and-play framework for type inference models. In: Proceedings of the 37th IEEE\/ACM International Conference on Automated Software Engineering, pp. 1\u20135 (2022)","DOI":"10.1145\/3551349.3559527"},{"key":"10_CR38","doi-asserted-by":"crossref","unstructured":"Wang, Y., Le, H., Gotmare, A.D., Bui, N.D.Q., Li, J., Hoi, S.C.H.: Codet5+: open code large language models for code understanding and generation (2023)","DOI":"10.18653\/v1\/2023.emnlp-main.68"},{"key":"10_CR39","doi-asserted-by":"crossref","unstructured":"Wang, Y., Wang, W., Joty, S., Hoi, S.C.: CodeT5: identifier-aware unified pre-trained encoder-decoder models for code understanding and generation. arXiv preprint arXiv:2109.00859 (2021)","DOI":"10.18653\/v1\/2021.emnlp-main.685"},{"key":"10_CR40","unstructured":"Wei, J., Durrett, G., Dillig, I.: Typet5: Seq2seq type inference using static analysis. In: International Conference on Learning Representations (2023)"},{"key":"10_CR41","unstructured":"Wei, J., Goyal, M., Durrett, G., Dillig, I.: Lambdanet experiment data. https:\/\/github.com\/MrVPlusOne\/LambdaNet\/blob\/master\/LambdaNet-Experiments.zip. Accessed 16 May 2023"},{"key":"10_CR42","unstructured":"Wei, J., Goyal, M., Durrett, G., Dillig, I.: Lambdanet: probabilistic type inference using graph neural networks. arXiv preprint arXiv:2005.02161 (2020)"},{"key":"10_CR43","unstructured":"Wolf, T., et al.: Transformers: State-of-the-art natural language processing. In: Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing: System Demonstrations, pp. 38\u201345. Association for Computational Linguistics (2020)"},{"key":"10_CR44","doi-asserted-by":"publisher","first-page":"755","DOI":"10.1007\/s10664-019-09771-0","volume":"25","author":"B Xu","year":"2020","unstructured":"Xu, B., An, L., Thung, F., Khomh, F., Lo, D.: Why reinventing the wheels? An empirical study on library reuse and re-implementation. Empir. Softw. Eng. 25, 755\u2013789 (2020)","journal-title":"Empir. Softw. Eng."},{"key":"10_CR45","doi-asserted-by":"crossref","unstructured":"Yamaguchi, F., Golde, N., Arp, D., Rieck, K.: Modeling and discovering vulnerabilities with code property graphs. In: 2014 IEEE Symposium on Security and Privacy, pp. 590\u2013604 (2014)","DOI":"10.1109\/SP.2014.44"},{"key":"10_CR46","unstructured":"Ye, F., Zhao, J., Sarkar, V.: Advanced graph-based deep learning for probabilistic type inference. arXiv preprint arXiv:2009.05949 (2020)"}],"container-title":["Lecture Notes in Computer Science","Computer Security \u2013 ESORICS 2023"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-031-51482-1_10","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,1,10]],"date-time":"2024-01-10T06:05:39Z","timestamp":1704866739000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-031-51482-1_10"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024]]},"ISBN":["9783031514814","9783031514821"],"references-count":46,"URL":"https:\/\/doi.org\/10.1007\/978-3-031-51482-1_10","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[2024]]},"assertion":[{"value":"11 January 2024","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"ESORICS","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"European Symposium on Research in Computer Security","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"The Hague","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"The Netherlands","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2023","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"25 September 2023","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"29 September 2023","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"28","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"esorics2023","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/esorics2023.org\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"order":1,"name":"type","label":"Type","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"Easychair","order":2,"name":"conference_management_system","label":"Conference Management System","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"478","order":3,"name":"number_of_submissions_sent_for_review","label":"Number of Submissions Sent for Review","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"93","order":4,"name":"number_of_full_papers_accepted","label":"Number of Full Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"0","order":5,"name":"number_of_short_papers_accepted","label":"Number of Short Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"19% - The value is computed by the equation \"Number of Full Papers Accepted \/ Number of Submissions Sent for Review * 100\" and then rounded to a whole number.","order":6,"name":"acceptance_rate_of_full_papers","label":"Acceptance Rate of Full Papers","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"3-4","order":7,"name":"average_number_of_reviews_per_paper","label":"Average Number of Reviews per Paper","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"10","order":8,"name":"average_number_of_papers_per_reviewer","label":"Average Number of Papers per Reviewer","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"No","order":9,"name":"external_reviewers_involved","label":"External Reviewers Involved","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}}]}}