{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,7]],"date-time":"2025-11-07T13:37:31Z","timestamp":1762522651078,"version":"3.40.3"},"publisher-location":"Cham","reference-count":40,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783030932053"},{"type":"electronic","value":"9783030932060"}],"license":[{"start":{"date-parts":[[2021,1,1]],"date-time":"2021-01-01T00:00:00Z","timestamp":1609459200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2021,1,1]],"date-time":"2021-01-01T00:00:00Z","timestamp":1609459200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2021]]},"DOI":"10.1007\/978-3-030-93206-0_2","type":"book-chapter","created":{"date-parts":[[2021,12,16]],"date-time":"2021-12-16T14:04:49Z","timestamp":1639663489000},"page":"11-31","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":1,"title":["Explore Capabilities and\u00a0Effectiveness of\u00a0Reverse Engineering Tools to\u00a0Provide Memory Safety for\u00a0Binary Programs"],"prefix":"10.1007","author":[{"given":"Ruturaj","family":"Vaidya","sequence":"first","affiliation":[]},{"given":"Prasad A.","family":"Kulkarni","sequence":"additional","affiliation":[]},{"given":"Michael R.","family":"Jantz","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2021,12,17]]},"reference":[{"key":"2_CR1","unstructured":"Hex-rays decompiler (2020). https:\/\/www.hex-rays.com\/products\/decompiler\/"},{"key":"2_CR2","unstructured":"Akritidis, P., Costa, M., Castro, M., Hand, S.: Baggy Bounds checking: an efficient and backwards-compatible defense against out-of-bounds errors. In: USENIX Security Symposium, pp. 51\u201366 (2009)"},{"key":"2_CR3","unstructured":"Andriesse, D., Chen, X., van der 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. Austin, August 2016"},{"key":"2_CR4","doi-asserted-by":"crossref","unstructured":"Austin, T.M., Breach, S.E., Sohi, G.S.: Efficient detection of all pointer and array access errors. In: Proceedings of the ACM SIGPLAN 1994 Conference on Programming Language Design and Implementation, PLDI 1994, pp. 290\u2013301 (1994)","DOI":"10.1145\/773473.178446"},{"key":"2_CR5","unstructured":"Bao, T., Burket, J., Woo, M., Turner, R., Brumley, D.: BYTEWEIGHT: learning to recognize functions in binary code. In: 23rd USENIX Security Symposium (USENIX Security 14), pp. 845\u2013860. San Diego, August 2014"},{"key":"2_CR6","unstructured":"Caballero, J., Grieco, G., Marron, M., Lin, Z., Urbina, D.: ARTISTE: automatic generation of hybrid data structure signatures from binary code executions (2010)"},{"key":"2_CR7","unstructured":"Cowan, C., et al.: StackGuard: automatic adaptive detection and prevention of buffer-overflow attacks. In: Proceedings of the 7th Conference on USENIX Security Symposium - Volume 7. SSYM 1998, p. 5. (1998)"},{"key":"2_CR8","doi-asserted-by":"publisher","DOI":"10.1016\/j.scico.2020.102519","volume":"198","author":"S Dhumbumroong","year":"2020","unstructured":"Dhumbumroong, S., Piromsopa, K.: BoundWarden: Thread-enforced spatial memory safety through compile-time transformations. Science of Computer Programming 198, 102519 (2020)","journal-title":"Science of Computer Programming"},{"key":"2_CR9","doi-asserted-by":"crossref","unstructured":"Dhurjati, D., Adve, V.: Backwards-compatible array bounds checking for c with very low overhead. In: Proceedings of the 28th International Conference on Software Engineering, pp. 162\u2013171. ACM (2006)","DOI":"10.1145\/1134285.1134309"},{"key":"2_CR10","doi-asserted-by":"crossref","unstructured":"Dhurjati, D., Kowshik, S., Adve, V.: SAFECode: enforcing alias analysis for weakly typed languages. In: ACM SIGPLAN Notices, vol. 41, pp. 144\u2013157. ACM (2006)","DOI":"10.1145\/1133255.1133999"},{"key":"2_CR11","unstructured":"dwarfstd.org: Dwarf debugging information format (2021). http:\/\/www.dwarfstd.org\/doc\/DWARF4.pdf"},{"key":"2_CR12","unstructured":"Eliben, p.: pyelftools (2021). https:\/\/github.com\/eliben\/pyelftools"},{"issue":"6","key":"2_CR13","doi-asserted-by":"publisher","first-page":"51","DOI":"10.1145\/2499370.2462165","volume":"48","author":"K ElWazeer","year":"2013","unstructured":"ElWazeer, K., Anand, K., Kotha, A., Smithson, M., Barua, R.: Scalable variable and data type detection in a binary rewriter. SIGPLAN Not. 48(6), 51\u201360 (2013)","journal-title":"SIGPLAN Not."},{"key":"2_CR14","doi-asserted-by":"crossref","unstructured":"Hasabnis, N., Misra, A., Sekar, R.: Light-weight bounds checking. In: Proceedings of the Tenth International Symposium on Code Generation and Optimization, CGO 2012, pp. 135\u2013144. ACM, New York (2012)","DOI":"10.1145\/2259016.2259034"},{"issue":"4","key":"2_CR15","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/1186736.1186737","volume":"34","author":"JL Henning","year":"2006","unstructured":"Henning, J.L.: Spec cpu2006 benchmark descriptions. SIGARCH Comput. Archit. News 34(4), 1\u201317 (2006)","journal-title":"SIGARCH Comput. Archit. News"},{"key":"2_CR16","unstructured":"Jim, T., Morrisett, J.G., Grossman, D., Hicks, M.W., Cheney, J., Wang, Y.: Cyclone: a safe dialect of c. In: Proceedings of the General Track of the Annual Conference on USENIX Annual Technical Conference, ATEC 2002, pp. 275\u2013288 (2002)"},{"key":"2_CR17","doi-asserted-by":"crossref","unstructured":"Katz, O., El-Yaniv, R., Yahav, E.: Estimating types in binaries using predictive modeling. In: Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. POPL 2016 .pp. 313\u2013326 (2016)","DOI":"10.1145\/2837614.2837674"},{"key":"2_CR18","unstructured":"Kratkiewicz, K.: A taxonomy of buffer overflow for evaluating static and dynamic software testing tools. In: In Proceedings of Workshop on Software Security Assurance Tools, Techniques and Metrics, NIST (2006)"},{"key":"2_CR19","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, 6\u20139 February 2011 (2011)"},{"key":"2_CR20","volume-title":"Automatic Reverse Engineering of Data Structures from Binary Execution","author":"Z Lin","year":"2010","unstructured":"Lin, Z., Zhang, X., Xu, D.: Automatic Reverse Engineering of Data Structures from Binary Execution. CERIAS - Purdue University, West Lafayette (2010)"},{"key":"2_CR21","doi-asserted-by":"crossref","unstructured":"Liu, Z., Wang, S.: How far we have come: testing decompilation correctness of C decompilers. In: Proceedings of the 29th ACM SIGSOFT International Symposium on Software Testing and Analysis, ISSTA 2020, pp. 475\u2013487 (2020)","DOI":"10.1145\/3395363.3397370"},{"key":"2_CR22","doi-asserted-by":"crossref","unstructured":"Luk, C.K., et al.: Pin: building customized program analysis tools with dynamic instrumentation. In: ACM Sigplan notices. vol. 40, pp. 190\u2013200 (2005)","DOI":"10.1145\/1064978.1065034"},{"key":"2_CR23","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"288","DOI":"10.1007\/978-3-030-22038-9_14","volume-title":"Detection of Intrusions and Malware, and Vulnerability Assessment","author":"A Maier","year":"2019","unstructured":"Maier, A., Gascon, H., Wressnegger, C., Rieck, K.: TypeMiner: recovering types in binary programs using machine learning. In: Perdisci, R., Maurice, C., Giacinto, G., Almgren, M. (eds.) DIMVA 2019. LNCS, vol. 11543, pp. 288\u2013308. Springer, Cham (2019). https:\/\/doi.org\/10.1007\/978-3-030-22038-9_14"},{"key":"2_CR24","doi-asserted-by":"crossref","unstructured":"Matsakis, N.D., Klock, F.S.: The rust language. In: Proceedings of the 2014 ACM SIGAda Annual Conference on High Integrity Language Technology, HILT 2014, pp. 103\u2013104 (2014)","DOI":"10.1145\/2692956.2663188"},{"key":"2_CR25","doi-asserted-by":"crossref","unstructured":"Meng, X., Miller, B.: Binary code is not easy. In: Proceedings of the 25th International Symposium on Software Testing and Analysis (2016)","DOI":"10.1145\/2931037.2931047"},{"key":"2_CR26","unstructured":"Metrics, S.S.A., Evaluation, T.: Nist Juliet test suite for c\/c++ (2010). https:\/\/samate.nist.gov\/SRD\/testsuite.php"},{"key":"2_CR27","doi-asserted-by":"crossref","unstructured":"Nagarakatte, S., Zhao, J., Martin, M.M., Zdancewic, S.: Softbound: highly compatible and complete spatial memory safety for c. In: Proceedings of the 30th ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 245\u2013258 (2009)","DOI":"10.1145\/1543135.1542504"},{"key":"2_CR28","unstructured":"National Security Agency Ghidra, N.: Ghidra (2019). https:\/\/www.nsa.gov\/resources\/everyone\/ghidra\/"},{"issue":"1","key":"2_CR29","doi-asserted-by":"publisher","first-page":"128","DOI":"10.1145\/565816.503286","volume":"37","author":"GC Necula","year":"2002","unstructured":"Necula, G.C., McPeak, S., Weimer, W.: Ccured: type-safe retrofitting of legacy code. SIGPLAN Not. 37(1), 128\u2013139 (2002)","journal-title":"SIGPLAN Not."},{"key":"2_CR30","doi-asserted-by":"crossref","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 (2016)","DOI":"10.1145\/2908080.2908119"},{"key":"2_CR31","doi-asserted-by":"crossref","unstructured":"Pang, C., et al.: SoK: all you ever wanted to know about x86\/x64 binary disassembly but were afraid to ask (2020)","DOI":"10.1109\/SP40001.2021.00012"},{"key":"2_CR32","unstructured":"Serebryany, K., Bruening, D., Potapenko, A., Vyukov, D.: Addresssanitizer: a fast address sanity checker. In: Presented as part of the 2012 $$\\{$$USENIX$$\\}$$ Annual Technical Conference ($$\\{$$USENIX$$\\}$$$$\\{$$ATC$$\\}$$ 12), pp. 309\u2013318 (2012)"},{"key":"2_CR33","unstructured":"Seward, J., Nethercote, N.: Using valgrind to detect undefined value errors with bit-precision. In: Proceedings of the Annual Conference on USENIX Annual Technical Conference, ATEC 2005, p. 2 (2005)"},{"key":"2_CR34","doi-asserted-by":"crossref","unstructured":"Simpson, M.S., Barua, R.K.: Memsafe: ensuring the spatial and temporal memory safety of c at runtime. Software: Practice and Experience 43(1), 93\u2013128 (2013)","DOI":"10.1002\/spe.2105"},{"key":"2_CR35","unstructured":"Slowinska, A., Stancescu, T., Bos, H.: Howard: a dynamic excavator for reverse engineering data structures. 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)"},{"key":"2_CR36","unstructured":"Slowinska, A., Stancescu, T., Bos, H.: Body armor for binaries: preventing buffer overflows without recompilation. In: Proceedings of the 2012 USENIX Conference on Annual Technical Conference, . USENIX ATC 2012, p. 11 (2012)"},{"key":"2_CR37","doi-asserted-by":"crossref","unstructured":"Szekeres, L., Payer, M., Wei, T., Song, D.: SoK: eternal war in memory. In: Proceedings of the 2013 IEEE Symposium on Security and Privacy, SP 2013, pp. 48\u201362 (2013)","DOI":"10.1109\/SP.2013.13"},{"key":"2_CR38","doi-asserted-by":"crossref","unstructured":"Wang, H., et al.: Locating vulnerabilities in binaries via memory layout recovering. In: Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, ESEC\/FSE 2019, pp. 718\u2013728 (2019)","DOI":"10.1145\/3338906.3338966"},{"key":"2_CR39","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"430","DOI":"10.1007\/978-3-319-68690-5_26","volume-title":"Formal Methods and Software Engineering","author":"Z Xu","year":"2017","unstructured":"Xu, Z., Wen, C., Qin, S.: Learning types for binaries. In: Duan, Z., Ong, L. (eds.) ICFEM 2017. LNCS, vol. 10610, pp. 430\u2013446. Springer, Cham (2017). https:\/\/doi.org\/10.1007\/978-3-319-68690-5_26"},{"key":"2_CR40","doi-asserted-by":"crossref","unstructured":"Zitser, M., Lippmann, R., Leek, T.: Testing static analysis tools using exploitable buffer overflows from open source code. In: Proceedings of the 12th ACM SIGSOFT Twelfth International Symposium on Foundations of Software Engineering, SIGSOFT 2004\/FSE-12, pp. 97\u2013106 (2004)","DOI":"10.1145\/1029894.1029911"}],"container-title":["Lecture Notes in Computer Science","Information Security Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-030-93206-0_2","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,1,24]],"date-time":"2022-01-24T06:03:35Z","timestamp":1643004215000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-030-93206-0_2"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021]]},"ISBN":["9783030932053","9783030932060"],"references-count":40,"URL":"https:\/\/doi.org\/10.1007\/978-3-030-93206-0_2","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2021]]},"assertion":[{"value":"17 December 2021","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"ISPEC","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Conference on Information Security Practice and Experience","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Nanjing","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"China","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2021","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"17 December 2021","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"19 December 2021","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"16","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"ispec2021","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"http:\/\/ispec2021.nuist.edu.cn","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":"94","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":"23","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":"24% - 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","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":"6","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":"Yes","order":9,"name":"external_reviewers_involved","label":"External Reviewers Involved","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"Doble peer review","order":10,"name":"additional_info_on_review_process","label":"Additional Info on Review Process","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}}]}}