{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,17]],"date-time":"2026-03-17T07:18:30Z","timestamp":1773731910707,"version":"3.50.1"},"publisher-location":"Cham","reference-count":26,"publisher":"Springer Nature Switzerland","isbn-type":[{"value":"9783031747755","type":"print"},{"value":"9783031747762","type":"electronic"}],"license":[{"start":{"date-parts":[[2025,1,1]],"date-time":"2025-01-01T00:00:00Z","timestamp":1735689600000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"},{"start":{"date-parts":[[2025,1,1]],"date-time":"2025-01-01T00:00:00Z","timestamp":1735689600000},"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":[[2025]]},"DOI":"10.1007\/978-3-031-74776-2_17","type":"book-chapter","created":{"date-parts":[[2025,1,20]],"date-time":"2025-01-20T05:35:42Z","timestamp":1737351342000},"page":"425-450","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":2,"title":["BinSub: The Simple Essence of\u00a0Polymorphic Type Inference for\u00a0Machine Code"],"prefix":"10.1007","author":[{"ORCID":"https:\/\/orcid.org\/0009-0006-5584-9345","authenticated-orcid":false,"given":"Ian","family":"Smith","sequence":"first","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2025,1,21]]},"reference":[{"key":"17_CR1","unstructured":"Angr variable recovery fast AIL engine, https:\/\/github.com\/angr\/angr\/blob\/master\/angr\/analyses\/variable_recovery\/engine_base.py#L295"},{"key":"17_CR2","unstructured":"Ghidra decompile parameter ID implementation, https:\/\/github.com\/NationalSecurityAgency\/ghidra\/blob\/5e9cfe2419329094b6a83e9532f7a81f3e39126d\/Ghidra\/Features\/Decompiler\/src\/main\/java\/ghidra\/app\/cmd\/function\/DecompilerParameterIdCmd.java"},{"key":"17_CR3","doi-asserted-by":"publisher","unstructured":"Anand, K., et al.: A compiler-level intermediate representation based binary analysis and rewriting system. In: Proceedings of the 8th ACM European Conference on Computer Systems, EuroSys 2013, pp. 295\u2013308. Association for Computing Machinery, New York, NY, USA (2013). https:\/\/doi.org\/10.1145\/2465351.2465380","DOI":"10.1145\/2465351.2465380"},{"key":"17_CR4","unstructured":"Andriesse, D., Chen, X., van\u00a0der Veen, V., Slowinska, A., Bos, H.: An in-depth analysis of disassembly on full-scale x86\/x64 binaries. In: 25th USENIX Security Symposium (USENIX Security 16), pp. 583\u2013600. USENIX Association, Austin, TX, August 2016. https:\/\/www.usenix.org\/conference\/usenixsecurity16\/technical-sessions\/presentation\/andriesse"},{"key":"17_CR5","doi-asserted-by":"crossref","unstructured":"Balakrishnan, G., Reps, T.: Analyzing memory accesses in x86 executables. In: International Conference on Compiler Construction, pp. 5\u201323. Springer (2004)","DOI":"10.1007\/978-3-540-24723-4_2"},{"key":"17_CR6","first-page":"1","volume-title":"Verification, Model Checking, and Abstract Interpretation","author":"G Balakrishnan","year":"2007","unstructured":"Balakrishnan, G., Reps, T.: Divine: Discovering variables in executables. In: Cook, B., Podelski, A. (eds.) Verification, Model Checking, and Abstract Interpretation, pp. 1\u201328. Springer, Berlin, Heidelberg (2007)"},{"key":"17_CR7","doi-asserted-by":"crossref","unstructured":"Bastian, T., Kell, S., Zappa\u00a0Nardelli, F.: Reliable and fast dwarf-based stack unwinding. Proc. ACM on Program. Lang. 3(OOPSLA), 1\u201324 (2019)","DOI":"10.1145\/3360572"},{"key":"17_CR8","doi-asserted-by":"publisher","unstructured":"Caballero, J., Lin, Z.: Type inference on executables. ACM Comput. Surv. 48(4) (2016). https:\/\/doi.org\/10.1145\/2896499","DOI":"10.1145\/2896499"},{"issue":"1","key":"17_CR9","doi-asserted-by":"publisher","first-page":"61","DOI":"10.1016\/0304-3975(92)90278-N","volume":"106","author":"D Caucal","year":"1992","unstructured":"Caucal, D.: On the regular structure of prefix rewriting. Theoret. Comput. Sci. 106(1), 61\u201386 (1992)","journal-title":"Theoret. Comput. Sci."},{"key":"17_CR10","doi-asserted-by":"publisher","unstructured":"Davies, R., Pfenning, F.: Intersection types and computational effects. In: Proceedings of the Fifth ACM SIGPLAN International Conference on Functional Programming. p. 198\u2013208. ICFP \u201900, Association for Computing Machinery, New York, NY, USA (2000). https:\/\/doi.org\/10.1145\/351240.351259","DOI":"10.1145\/351240.351259"},{"key":"17_CR11","unstructured":"Dolan, S.: Algebraic Subtyping. BCS\/CPHC distinguished dissertation award series, BCS Learning & Development Limited (2017). https:\/\/books.google.com\/books?id=cBJdswEACAAJ"},{"key":"17_CR12","doi-asserted-by":"publisher","unstructured":"Dolan, S., Mycroft, A.: Polymorphism, subtyping, and type inference in mlsub. In: Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages, POPL 2017, pp. 60\u201372. Association for Computing Machinery, New York, NY, USA (2017). https:\/\/doi.org\/10.1145\/3009837.3009882","DOI":"10.1145\/3009837.3009882"},{"key":"17_CR13","doi-asserted-by":"publisher","unstructured":"ElWazeer, K., Anand, K., Kotha, A., Smithson, M., Barua, R.: Scalable variable and data type detection in a binary rewriter. In: Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and Implementation. p. 51\u201360. PLDI \u201913, Association for Computing Machinery, New York, NY, USA (2013). https:\/\/doi.org\/10.1145\/2491956.2462165","DOI":"10.1145\/2491956.2462165"},{"key":"17_CR14","doi-asserted-by":"publisher","unstructured":"Enders, S., et al.: dewolf: improving decompilation by leveraging user surveys. In: Proceedings 2023 Workshop on Binary Analysis Research. BAR 2023, Internet Society (2023). https:\/\/doi.org\/10.14722\/bar.2023.23001","DOI":"10.14722\/bar.2023.23001"},{"key":"17_CR15","doi-asserted-by":"publisher","unstructured":"Guilfanov, I.: Simple type system for program reengineering. In: Proceedings Eighth Working Conference on Reverse Engineering, pp. 357\u2013361 (2001). https:\/\/doi.org\/10.1109\/WCRE.2001.957843","DOI":"10.1109\/WCRE.2001.957843"},{"key":"17_CR16","doi-asserted-by":"crossref","unstructured":"Hopcroft, J.: An n log n algorithm for minimizing states in a finite automaton. In: Theory of Machines and Computations, pp. 189\u2013196. Elsevier (1971)","DOI":"10.1016\/B978-0-12-417750-5.50022-1"},{"key":"17_CR17","unstructured":"JHU\/APL Staff: assembled labeled library for static analysis research (allstar) dataset, December 2019. http:\/\/allstar.jhuapl.edu\/"},{"key":"17_CR18","unstructured":"Lee, J., Avgerinos, T., Brumley, D.: TIE: principled reverse engineering of types in binary programs. In: Proceedings of the Network and Distributed System Security Symposium, NDSS 2011, San Diego, California, USA, 6th February - 9th February 2011. The Internet Society (2011). https:\/\/www.ndss-symposium.org\/ndss2011\/tie-principled-reverse-engineering-of-types-in-binary-programs"},{"key":"17_CR19","unstructured":"Lin, Z., Zhang, X., Xu, D.: Automatic reverse engineering of data structures from binary execution. In: Proceedings of the 11th Annual Information Security Symposium. CERIAS \u201910, CERIAS - Purdue University, West Lafayette, IN (2010)"},{"key":"17_CR20","doi-asserted-by":"publisher","unstructured":"Noonan, M., Loginov, A., Cok, D.: Polymorphic type inference for machine code. In: Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2016, pp. 27\u201341. Association for Computing Machinery, New York, NY, USA (2016). https:\/\/doi.org\/10.1145\/2908080.2908119","DOI":"10.1145\/2908080.2908119"},{"key":"17_CR21","doi-asserted-by":"crossref","unstructured":"Noord, G.v.: Treatment of epsilon moves in subset construction. Comput. Linguist. 26(1), 61\u201376 (2000)","DOI":"10.1162\/089120100561638"},{"key":"17_CR22","doi-asserted-by":"publisher","unstructured":"Pang, C., et al.: Sok: all you ever wanted to know about x86\/x64 binary disassembly but were afraid to ask. In: 2021 IEEE Symposium on Security and Privacy (SP), pp. 833\u2013851 (2021). https:\/\/doi.org\/10.1109\/SP40001.2021.00012","DOI":"10.1109\/SP40001.2021.00012"},{"key":"17_CR23","doi-asserted-by":"publisher","unstructured":"Parreaux, L.: The simple essence of algebraic subtyping: principal type inference with subtyping made easy (functional pearl). Proc. ACM Program. Lang. 4(ICFP) (2020). https:\/\/doi.org\/10.1145\/3409006","DOI":"10.1145\/3409006"},{"key":"17_CR24","unstructured":"Peter Aldous: retypd type recovery notes. https:\/\/github.com\/GrammaTech\/retypd\/blob\/master\/reference\/type-recovery.rst"},{"key":"17_CR25","unstructured":"Skochinksy, I.: Igor\u2019s tip of the week #74: parameter identification and tracking (PIT) \u2013 Hex Rays, January 2022. https:\/\/hex-rays.com\/blog\/igors-tip-of-the-week-74-parameter-identification-and-tracking-pit\/"},{"key":"17_CR26","doi-asserted-by":"crossref","unstructured":"Wang, F., Shoshitaishvili, Y.: Angr-the next generation of binary analysis. In: 2017 IEEE Cybersecurity Development (SecDev), pp.\u00a08\u20139. IEEE (2017)","DOI":"10.1109\/SecDev.2017.14"}],"container-title":["Lecture Notes in Computer Science","Static Analysis"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-031-74776-2_17","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,1,20]],"date-time":"2025-01-20T05:35:50Z","timestamp":1737351350000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-031-74776-2_17"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025]]},"ISBN":["9783031747755","9783031747762"],"references-count":26,"URL":"https:\/\/doi.org\/10.1007\/978-3-031-74776-2_17","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[2025]]},"assertion":[{"value":"21 January 2025","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"SAS","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Static Analysis Symposium","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Pasadena, CA","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"USA","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2024","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"20 October 2024","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"22 October 2024","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"31","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"sas2024","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/2024.splashcon.org\/home\/sas-2024","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}}]}}