{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,2,21]],"date-time":"2025-02-21T07:20:22Z","timestamp":1740122422370,"version":"3.37.3"},"reference-count":47,"publisher":"Springer Science and Business Media LLC","issue":"3","license":[{"start":{"date-parts":[[2024,5,1]],"date-time":"2024-05-01T00:00:00Z","timestamp":1714521600000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"},{"start":{"date-parts":[[2024,5,1]],"date-time":"2024-05-01T00:00:00Z","timestamp":1714521600000},"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":["Empir Software Eng"],"published-print":{"date-parts":[[2024,5]]},"DOI":"10.1007\/s10664-024-10453-9","type":"journal-article","created":{"date-parts":[[2024,5,8]],"date-time":"2024-05-08T10:02:11Z","timestamp":1715162531000},"update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":0,"title":["Analyzing and revivifying function signature inference using deep learning"],"prefix":"10.1007","volume":"29","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-6509-9131","authenticated-orcid":false,"given":"Yan","family":"Lin","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Trisha","family":"Singhal","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Debin","family":"Gao","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"David","family":"Lo","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2024,5,8]]},"reference":[{"key":"10453_CR1","doi-asserted-by":"crossref","unstructured":"Balakrishnan G, Reps T (2007) Divine: Discovering variables in executables. In: International Workshop on Verification, Model Checking, and Abstract Interpretation, Springer, pp 1\u201328","DOI":"10.1007\/978-3-540-69738-1_1"},{"key":"10453_CR2","unstructured":"Bao T, Burket J, Woo M, Turner R, Brumley D (2014) $$byteweight$$: Learning to recognize functions in binary code. In: Proceedings of the 23rd USENIX Security Symposium, pp 845\u2013860"},{"issue":"2","key":"10453_CR3","doi-asserted-by":"publisher","first-page":"157","DOI":"10.1109\/72.279181","volume":"5","author":"Y Bengio","year":"1994","unstructured":"Bengio Y, Simard P, Frasconi P (1994) Learning long-term dependencies with gradient descent is difficult. IEEE Trans Neural Netw 5(2):157\u2013166","journal-title":"IEEE Trans Neural Netw"},{"key":"10453_CR4","doi-asserted-by":"publisher","DOI":"10.21236\/ADA538737","volume-title":"Binary code extraction and interface identification for security applications","author":"J Caballero","year":"2009","unstructured":"Caballero J, Johnson NM, McCamant S, Song D (2009) Binary code extraction and interface identification for security applications. California Univ Berkeley Dept of Electrical Engineering and Computer Science, Tech. rep"},{"key":"10453_CR5","doi-asserted-by":"crossref","unstructured":"Chen L, He Z, Mao B (2020) Cati: Context-assisted type inference from stripped binaries. In: Proceedings of the 50th Annual IEEE\/IFIP International Conference on Dependable Systems and Networks, IEEE, pp 88\u201398","DOI":"10.1109\/DSN48063.2020.00028"},{"key":"10453_CR6","unstructured":"Chua ZL, Shen S, Saxena P, Liang Z (2017) Neural nets can learn function type signatures from binaries. In: Proceedings of the 26th USENIX Security Symposium, pp 99\u2013116"},{"key":"10453_CR7","unstructured":"Committee DDIF et\u00a0al (2010) Dwarf debugging information format, version 4. Free Standards Group"},{"key":"10453_CR8","doi-asserted-by":"crossref","unstructured":"Duan Y, Li X, Wang J, Yin H (2020) Deepbindiff: Learning program-wide code representations for binary diffing. In: Network and Distributed System Security Symposium","DOI":"10.14722\/ndss.2020.24311"},{"key":"10453_CR9","doi-asserted-by":"crossref","unstructured":"ElWazeer K, Anand K, Kotha A, Smithson M, Barua R (2013) Scalable variable and data type detection in a binary rewriter. In: Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and Implementation, ACM, pp 51\u201360","DOI":"10.1145\/2491956.2462165"},{"key":"10453_CR10","unstructured":"Fu C, Chen H, Liu H, Chen X, Tian Y, Koushanfar F, Zhao J (2019) Coda: An end-to-end neural program decompiler. Advances in Neural Information Processing Systems 32"},{"key":"10453_CR11","unstructured":"Guo C, Pleiss G, Sun Y, Weinberger KQ (2017) On calibration of modern neural networks. In: International Conference on Machine Learning, PMLR, pp 1321\u20131330"},{"key":"10453_CR12","doi-asserted-by":"crossref","unstructured":"He J, Balunovi\u0107 M, Ambroladze N, Tsankov P, Vechev M (2019) Learning to fuzz from symbolic execution with application to smart contracts. In: Proceedings of the 2019 ACM SIGSAC Conference on Computer and Communications Security, pp 531\u2013548","DOI":"10.1145\/3319535.3363230"},{"key":"10453_CR13","doi-asserted-by":"crossref","unstructured":"He J, Ivanov P, Tsankov P, Raychev V, Vechev M (2018) Debin: Predicting debug information in stripped binaries. In: Proceedings of the 25th ACM Conference on Computer and Communications Security, ACM, pp 1667\u20131680","DOI":"10.1145\/3243734.3243866"},{"key":"10453_CR14","doi-asserted-by":"crossref","unstructured":"Hellendoorn VJ, Bird C, Barr ET, Allamanis M (2018) 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","DOI":"10.1145\/3236024.3236051"},{"key":"10453_CR15","doi-asserted-by":"crossref","unstructured":"Hu Y, Zhang Y, Li J, Gu D (2017) Binary code clone detection across architectures and compiling configurations. In: Proceedings of the 25th International Conference on Program Comprehension, IEEE, pp 88\u201398","DOI":"10.1109\/ICPC.2017.22"},{"key":"10453_CR16","unstructured":"INTEL I (2018) Intel\u00ae 64 and ia-32 architectures software developer\u2019s manual"},{"key":"10453_CR17","doi-asserted-by":"crossref","unstructured":"Jain V, Rawat S, Giuffrida C, Bos H (2018) Tiff: using input type inference to improve fuzzing. In: Proceedings of the 34th Annual Computer Security Applications Conference, ACM, pp 505\u2013517","DOI":"10.1145\/3274694.3274746"},{"key":"10453_CR18","doi-asserted-by":"crossref","unstructured":"Ji Y, Cui L, Huang HH (2021) Vestige: Identifying binary code provenance for vulnerability detection. In: International Conference on Applied Cryptography and Network Security, Springer, pp 287\u2013310","DOI":"10.1007\/978-3-030-78375-4_12"},{"key":"10453_CR19","first-page":"346","volume-title":"2018 IEEE 25th International Conference on Software Analysis","author":"DS Katz","year":"2018","unstructured":"Katz DS, Ruchti J, Schulte E (2018) Using recurrent neural networks for decompilation. 2018 IEEE 25th International Conference on Software Analysis. Evolution and Reengineering (SANER), IEEE, pp 346\u2013356"},{"key":"10453_CR20","unstructured":"Katz O, Olshaker Y, Goldberg Y, Yahav E (2019) Towards neural decompilation. arXiv preprint arXiv:1905.08325"},{"key":"10453_CR21","unstructured":"Kim D, Kim E, Cha SK, Son S, Kim Y (2020) Revisiting binary code similarity analysis using interpretable feature engineering and lessons learned. arXiv:2011.10749"},{"key":"10453_CR22","unstructured":"Lattner C, Adve V (2004) LLVM: A compilation framework for lifelong program analysis & transformation. In: Proceedings of the 2nd international symposium on Code generation and optimization, IEEE"},{"key":"10453_CR23","unstructured":"Lee J, Avgerinos T, Brumley D (2011) Tie: Principled reverse engineering of types in binary programs. In: Proceedings of the 18th Network and Distributed System Security Symposium"},{"issue":"1","key":"10453_CR24","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1186\/s42400-021-00070-0","volume":"4","author":"R Liang","year":"2021","unstructured":"Liang R, Cao Y, Hu P, Chen K (2021) Neutron: an attention-based neural decompiler. Cybersecurity 4(1):1\u201313","journal-title":"Cybersecurity"},{"key":"10453_CR25","doi-asserted-by":"crossref","unstructured":"Lin Y, Cheng X, Gao D (2019) Control-flow carrying code. In: Proceedings of the 14th ACM Asia Conference on Computer and Communications Security, ACM, pp 3\u201314","DOI":"10.1145\/3321705.3329815"},{"key":"10453_CR26","doi-asserted-by":"crossref","unstructured":"Lin Y, Gao D (2021) When function signature recovery meets compiler optimization. In: Proceedings of the 42nd IEEE Symposium on Security and Privacy, IEEE","DOI":"10.1109\/SP40001.2021.00006"},{"key":"10453_CR27","doi-asserted-by":"crossref","unstructured":"Li X, Qu Y, Yin H (2021) Palmtree: Learning an assembly language model for instruction embedding. In: Proceedings of the 2021 ACM SIGSAC Conference on Computer and Communications Security, pp 3236\u20133251","DOI":"10.1145\/3460120.3484587"},{"key":"10453_CR28","doi-asserted-by":"crossref","unstructured":"Maier A, Gascon H, Wressnegger C, Rieck K (2019) Typeminer: Recovering types in binary programs using machine learning. In: International Conference on Detection of Intrusions and Malware, and Vulnerability Assessment, Springer, pp 288\u2013308","DOI":"10.1007\/978-3-030-22038-9_14"},{"key":"10453_CR29","doi-asserted-by":"crossref","unstructured":"Muntean P, Fischer M, Tan G, Lin Z, Grossklags J, Eckert C (2018) $$\\tau $$cfi: Type-assisted control flow integrity for x86-64 binaries. In: International Symposium on Research in Attacks, Intrusions, and Defenses, Springer, pp 423\u2013444","DOI":"10.1007\/978-3-030-00470-5_20"},{"key":"10453_CR30","doi-asserted-by":"crossref","unstructured":"Nouh L, Rahimian A, Mouheb D, Debbabi M, Hanna A (2017) Binsign: fingerprinting binary functions to support automated analysis of code executables. In: IFIP International Conference on ICT Systems Security and Privacy Protection, Springer, pp 341\u2013355","DOI":"10.1007\/978-3-319-58469-0_23"},{"key":"10453_CR31","doi-asserted-by":"crossref","unstructured":"Otsubo Y, Otsuka A, Mimura M, Sakaki T, Ukegawa H (2020) o-glassesx: compiler provenance recovery with attention mechanism from a short code fragment. In: Proceedings of the 3nd Workshop on Binary Analysis Research","DOI":"10.14722\/bar.2020.23001"},{"key":"10453_CR32","doi-asserted-by":"crossref","unstructured":"Pei K, Guan J, Broughton M, Chen Z, Yao S, Williams-King D, Ummadisetty V, Yang J, Ray B, Jana S (2021) Stateformer: fine-grained type recovery from binaries using generative state modeling. In: Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, pp 690\u2013702","DOI":"10.1145\/3468264.3468607"},{"key":"10453_CR33","doi-asserted-by":"crossref","unstructured":"Pizzolotto D, Inoue K (2020) Identifying compiler and optimization options from binary code using deep learning approaches. In: Proceedings of the 36th IEEE International Conference on Software Maintenance and Evolution, IEEE, pp 232\u2013242","DOI":"10.1109\/ICSME46990.2020.00031"},{"key":"10453_CR34","doi-asserted-by":"crossref","unstructured":"Prakash A, Hu X, Yin H (2015) vfguard: Strict protection for virtual function calls in cots c++ binaries. In: Proceedings of the 22nd Network and Distributed System Security Symposium","DOI":"10.14722\/ndss.2015.23297"},{"key":"10453_CR35","first-page":"454","volume-title":"2022 IEEE 22nd International Conference on Software Quality","author":"Y Qian","year":"2022","unstructured":"Qian Y, Chen L, Wang Y, Mao B (2022) Nimbus: Toward speed up function signature recovery via input resizing and multi-task learning. 2022 IEEE 22nd International Conference on Software Quality. Reliability and Security (QRS), IEEE, pp 454\u2013463"},{"key":"10453_CR36","doi-asserted-by":"crossref","unstructured":"Rosenblum N, Miller BP, Zhu X (2011) Recovering the toolchain provenance of binary code. In: Proceedings of the 20th International Symposium on Software Testing and Analysis, ACM, pp 100\u2013110","DOI":"10.1145\/2001420.2001433"},{"key":"10453_CR37","doi-asserted-by":"crossref","unstructured":"Schuster F, Tendyck T, Liebchen C, Davi L, Sadeghi AR, Holz T (2015) Counterfeit object-oriented programming: On the difficulty of preventing code reuse attacks in c++ applications. In: Proceedings of the 36th IEEE Symposium on Security and Privacy, IEEE, pp 745\u2013762","DOI":"10.1109\/SP.2015.51"},{"key":"10453_CR38","doi-asserted-by":"crossref","unstructured":"Selvaraju RR, Cogswell M, Das A, Vedantam R, Parikh D, Batra D (2017) Grad-cam: Visual explanations from deep networks via gradient-based localization. In: Proceedings of the IEEE international conference on computer vision, pp 618\u2013626","DOI":"10.1109\/ICCV.2017.74"},{"key":"10453_CR39","doi-asserted-by":"crossref","unstructured":"Sharma A, Tian Y, Lo D (2015) Nirmal: Automatic identification of software relevant tweets leveraging language model. In: Proceedings of the 22nd International Conference on Software Analysis, Evolution, and Reengineering, IEEE, pp 449\u2013458","DOI":"10.1109\/SANER.2015.7081855"},{"key":"10453_CR40","unstructured":"Shin ECR, Song D, Moazzezi R (2015) Recognizing functions in binaries with neural networks. In: Proceedings of the 24th USENIX Security Symposium, pp 611\u2013626"},{"key":"10453_CR41","unstructured":"Simonyan K, Vedaldi A, Zisserman A (2013) Deep inside convolutional networks: Visualising image classification models and saliency maps. arXiv preprint arXiv:1312.6034"},{"key":"10453_CR42","doi-asserted-by":"publisher","first-page":"49160","DOI":"10.1109\/ACCESS.2021.3069227","volume":"9","author":"Z Tian","year":"2021","unstructured":"Tian Z, Huang Y, Xie B, Chen Y, Chen L, Wu D (2021) Fine-grained compiler identification with sequence-oriented neural modeling. IEEE Access 9:49160\u201349175","journal-title":"IEEE Access"},{"key":"10453_CR43","doi-asserted-by":"crossref","unstructured":"Van Der\u00a0Veen V, G\u00f6ktas E, Contag M, Pawoloski A, Chen X, Rawat S, Bos H, Holz T, Athanasopoulos E, Giuffrida C (2016) A tough call: Mitigating advanced code-reuse attacks at the binary level. In: Proceedings of the 37th IEEE Symposium on Security and Privacy, IEEE, pp 934\u2013953","DOI":"10.1109\/SP.2016.60"},{"key":"10453_CR44","doi-asserted-by":"crossref","unstructured":"Wang S, Wang P, Wu D (2017) Semantics-aware machine learning for function recognition in binary code. In: Proceedings of the 33rd International Conference on Software Maintenance and Evolution, IEEE, pp 388\u2013398","DOI":"10.1109\/ICSME.2017.59"},{"issue":"3","key":"10453_CR45","doi-asserted-by":"publisher","first-page":"893","DOI":"10.1109\/TR.2018.2884143","volume":"68","author":"Z Xu","year":"2018","unstructured":"Xu Z, Wen C, Qin S (2018) Type learning for binaries and its applications. IEEE Transactions on Reliability 68(3):893\u2013912","journal-title":"IEEE Transactions on Reliability"},{"key":"10453_CR46","doi-asserted-by":"crossref","unstructured":"Xu X, Liu C, Feng Q, Yin H, Song L, Song D (2017) Neural network-based graph embedding for cross-platform binary code similarity detection. In: Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security, pp 363\u2013376","DOI":"10.1145\/3133956.3134018"},{"key":"10453_CR47","doi-asserted-by":"crossref","unstructured":"Zeng D, Tan G (2018) From debugging-information based binary-level type inference to cfg generation. In: Proceedings of the 8th ACM Conference on Data and Application Security and Privacy, ACM, pp 366\u2013376","DOI":"10.1145\/3176258.3176309"}],"container-title":["Empirical Software Engineering"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-024-10453-9.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s10664-024-10453-9\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-024-10453-9.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,6,1]],"date-time":"2024-06-01T02:14:30Z","timestamp":1717208070000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s10664-024-10453-9"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024,5]]},"references-count":47,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2024,5]]}},"alternative-id":["10453"],"URL":"https:\/\/doi.org\/10.1007\/s10664-024-10453-9","relation":{},"ISSN":["1382-3256","1573-7616"],"issn-type":[{"type":"print","value":"1382-3256"},{"type":"electronic","value":"1573-7616"}],"subject":[],"published":{"date-parts":[[2024,5]]},"assertion":[{"value":"30 January 2024","order":1,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"8 May 2024","order":2,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}},{"order":1,"name":"Ethics","group":{"name":"EthicsHeading","label":"Declarations"}},{"value":"The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper","order":2,"name":"Ethics","group":{"name":"EthicsHeading","label":"Conflicts of Interests"}}],"article-number":"69"}}