{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,8,30]],"date-time":"2025-08-30T16:45:27Z","timestamp":1756572327125},"publisher-location":"Cham","reference-count":46,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783030220372"},{"type":"electronic","value":"9783030220389"}],"license":[{"start":{"date-parts":[[2019,1,1]],"date-time":"2019-01-01T00:00:00Z","timestamp":1546300800000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2019]]},"DOI":"10.1007\/978-3-030-22038-9_23","type":"book-chapter","created":{"date-parts":[[2019,6,9]],"date-time":"2019-06-09T23:02:31Z","timestamp":1560121351000},"page":"482-501","update-policy":"http:\/\/dx.doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":19,"title":["BinTrimmer: Towards Static Binary Debloating Through Abstract Interpretation"],"prefix":"10.1007","author":[{"given":"Nilo","family":"Redini","sequence":"first","affiliation":[]},{"given":"Ruoyu","family":"Wang","sequence":"additional","affiliation":[]},{"given":"Aravind","family":"Machiry","sequence":"additional","affiliation":[]},{"given":"Yan","family":"Shoshitaishvili","sequence":"additional","affiliation":[]},{"given":"Giovanni","family":"Vigna","sequence":"additional","affiliation":[]},{"given":"Christopher","family":"Kruegel","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2019,6,6]]},"reference":[{"issue":"6","key":"23_CR1","doi-asserted-by":"publisher","first-page":"23:1","DOI":"10.1145\/1749608.1749612","volume":"32","author":"G Balakrishnan","year":"2010","unstructured":"Balakrishnan, G., Reps, T.: WYSINWYX: what you see is not what you execute. ACM Trans. Program. Lang. Syst. 32(6), 23:1\u201323:84 (2010)","journal-title":"ACM Trans. Program. Lang. Syst."},{"key":"23_CR2","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"408","DOI":"10.1007\/978-3-642-22655-7_19","volume-title":"ECOOP 2011 \u2013 Object-Oriented Programming","author":"S Bhattacharya","year":"2011","unstructured":"Bhattacharya, S., Nanda, M.G., Gopinath, K., Gupta, M.: Reuse, recycle to de-bloat software. In: Mezini, M. (ed.) ECOOP 2011. LNCS, vol. 6813, pp. 408\u2013432. Springer, Heidelberg (2011). \n                      https:\/\/doi.org\/10.1007\/978-3-642-22655-7_19"},{"key":"23_CR3","unstructured":"Bruening, D.L.: Efficient, transparent, and comprehensive runtime code manipulation. Ph.D. dissertation, Cambridge, MA, USA (2004). aAI0807735"},{"issue":"4","key":"23_CR4","doi-asserted-by":"publisher","first-page":"65","DOI":"10.1145\/2896499","volume":"48","author":"J Caballero","year":"2016","unstructured":"Caballero, J., Lin, Z.: Type inference on executables. ACM Comput. Surv. (CSUR) 48(4), 65 (2016)","journal-title":"ACM Comput. Surv. (CSUR)"},{"key":"23_CR5","doi-asserted-by":"crossref","unstructured":"Chen, Y., Lan, T., Venkataramani, G.: DamGate: dynamic adaptive multi-feature gating in program binaries. In: Proceedings of the Workshop on Forming an Ecosystem Around Software Transformation, FEAST 2017, Dallas, Texas, USA (2017)","DOI":"10.1145\/3141235.3141243"},{"key":"23_CR6","unstructured":"Cifuentes, C., Van Emmerik, M.: Recovery of jump table case statements from binary code. In: Proceedings of the International Workshop on Program Comprehension, IWPC 1999, Washington, DC, USA (1999)"},{"issue":"7","key":"23_CR7","doi-asserted-by":"publisher","first-page":"811","DOI":"10.1002\/spe.4380250706","volume":"25","author":"C Cifuentes","year":"1995","unstructured":"Cifuentes, C., Gough, K.J.: Decompilation of binary programs. Softw. Pract. Exp. 25(7), 811\u2013829 (1995)","journal-title":"Softw. Pract. Exp."},{"key":"23_CR8","doi-asserted-by":"crossref","unstructured":"Cousot, P., Cousot, R.: Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: Proceedings of the ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages, POPL 2077, Los Angeles, California (1977)","DOI":"10.1145\/512950.512973"},{"key":"23_CR9","doi-asserted-by":"crossref","unstructured":"Cousot, P., Halbwachs, N.: Automatic discovery of linear restraints among variables of a program. In: Proceedings of the ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages, POPL 1978, Tucson, Arizona (1978)","DOI":"10.1145\/512760.512770"},{"key":"23_CR10","doi-asserted-by":"crossref","unstructured":"Csallner, C., Smaragdakis, Y.: Check \u2018n\u2019 crash: combining static checking and testing. In: Proceedings of the International Conference on Software Engineering, ICSE 2005, St. Louis, MO, USA (2005)","DOI":"10.1145\/1062455.1062533"},{"key":"23_CR11","unstructured":"Dutertre, B., Gehani, A., Saidi, H., Sch\u00e4f, M., Tiwari, A.: Beyond binary program transformation"},{"key":"23_CR12","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"42","DOI":"10.1007\/978-3-540-30579-8_3","volume-title":"Verification, Model Checking, and Abstract Interpretation","author":"J Feret","year":"2005","unstructured":"Feret, J.: The arithmetic-geometric progression abstract domain. In: Cousot, R. (ed.) VMCAI 2005. LNCS, vol. 3385, pp. 42\u201358. Springer, Heidelberg (2005). \n                      https:\/\/doi.org\/10.1007\/978-3-540-30579-8_3"},{"key":"23_CR13","doi-asserted-by":"publisher","first-page":"165","DOI":"10.1080\/00207168908803778","volume":"30","author":"P Granger","year":"1989","unstructured":"Granger, P.: Static analysis of arithmetical congruences. Int. J. Comput. Math. 30, 165\u2013190 (1989)","journal-title":"Int. J. Comput. Math."},{"key":"23_CR14","doi-asserted-by":"publisher","first-page":"63","DOI":"10.1145\/1127577.1127590","volume":"33","author":"LC Harris","year":"2005","unstructured":"Harris, L.C., Miller, B.P.: Practical analysis of stripped binary code. SIGARCH Comput. Arch. News 33, 63\u201368 (2005)","journal-title":"SIGARCH Comput. Arch. News"},{"key":"23_CR15","doi-asserted-by":"crossref","unstructured":"Heo, K., Lee, W., Pashakhanloo, P., Naik, M.: Effective program debloating via reinforcement learning. In: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security, CCS 2018, Toronto, Canada (2018)","DOI":"10.1145\/3243734.3243838"},{"key":"23_CR16","doi-asserted-by":"crossref","unstructured":"Hind, M.: Pointer analysis: Haven\u2019t we solved this problem yet? In: Proceedings of the ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering, PASTE 2001, Snowbird, Utah, USA (2001)","DOI":"10.1145\/379605.379665"},{"key":"23_CR17","unstructured":"Jain, N.C.: Disassembler using high level processor models (1999)"},{"key":"23_CR18","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"661","DOI":"10.1007\/978-3-642-02658-4_52","volume-title":"Computer Aided Verification","author":"B Jeannet","year":"2009","unstructured":"Jeannet, B., Min\u00e9, A.: Apron: a library of numerical abstract domains for static analysis. In: Bouajjani, A., Maler, O. (eds.) CAV 2009. LNCS, vol. 5643, pp. 661\u2013667. Springer, Heidelberg (2009). \n                      https:\/\/doi.org\/10.1007\/978-3-642-02658-4_52"},{"key":"23_CR19","doi-asserted-by":"crossref","unstructured":"Jiang, Y., Bao, Q., Wang, S., Liu, X., Wu, D.: RedDroid: Android application redundancy customization based on static analysis. In: Proceedings of the IEEE International Symposium on Software Reliability Engineering, ISSRE 2018, Berlin, Germany (2018)","DOI":"10.1109\/ISSRE.2018.00029"},{"key":"23_CR20","doi-asserted-by":"crossref","unstructured":"Jiang, Y., Wu, D., Liu, P.: JRed: program customization and bloatware mitigation based on static analysis. In: Proceedings of the IEEE Computer Software and Applications Conference, COMPSAC 2016, Atlanta, GA, USA (2016)","DOI":"10.1109\/COMPSAC.2016.146"},{"key":"23_CR21","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"214","DOI":"10.1007\/978-3-540-93900-9_19","volume-title":"Verification, Model Checking, and Abstract Interpretation","author":"J Kinder","year":"2008","unstructured":"Kinder, J., Zuleger, F., Veith, H.: An abstract interpretation-based framework for control flow reconstruction from binaries. In: Jones, N.D., M\u00fcller-Olm, M. (eds.) VMCAI 2009. LNCS, vol. 5403, pp. 214\u2013228. Springer, Heidelberg (2008). \n                      https:\/\/doi.org\/10.1007\/978-3-540-93900-9_19"},{"key":"23_CR22","unstructured":"Kruegel, C., Robertson, W., Valeur, F., Vigna, G.: Static disassembly of obfuscated binaries. In: Proceedings of the USENIX Conference on Security Symposium, SEC 2004, San Diego, CA, USA (2004)"},{"issue":"4","key":"23_CR23","doi-asserted-by":"publisher","first-page":"323","DOI":"10.1145\/161494.161501","volume":"1","author":"W Landi","year":"1992","unstructured":"Landi, W.: Undecidability of static analysis. ACM Lett. Program. Lang. Syst. 1(4), 323\u2013337 (1992)","journal-title":"ACM Lett. Program. Lang. Syst."},{"key":"23_CR24","unstructured":"Lee, J., Avgerinos, T., Brumley, D.: TIE: principled reverse engineering of types in binary programs. In: Proceedings of the Network and Distributed Systems Security, NDSS 2011, San Diego, CA, USA (2011)"},{"key":"23_CR25","doi-asserted-by":"crossref","unstructured":"Malecha, G., Gehani, A., Shankar, N.: Automated software winnowing. In: Proceedings of the ACM Symposium on Applied Computing, SAC 2015 (2015)","DOI":"10.1145\/2695664.2695751"},{"key":"23_CR26","unstructured":"Min\u00e9, A.: Abstract domains for bit-level machine integer and floating-point operations. In: Proceedings of the International Workshop on invariant Generation, WING 2012, Manchester, UK (2012)"},{"key":"23_CR27","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"115","DOI":"10.1007\/978-3-642-35182-2_9","volume-title":"Programming Languages and Systems","author":"JA Navas","year":"2012","unstructured":"Navas, J.A., Schachte, P., S\u00f8ndergaard, H., Stuckey, P.J.: Signedness-agnostic program analysis: precise integer bounds for low-level code. In: Jhala, R., Igarashi, A. (eds.) APLAS 2012. LNCS, vol. 7705, pp. 115\u2013130. Springer, Heidelberg (2012). \n                      https:\/\/doi.org\/10.1007\/978-3-642-35182-2_9"},{"key":"23_CR28","doi-asserted-by":"crossref","unstructured":"Nethercote, N., Seward, J.: Valgrind: a framework for heavyweight dynamic binary instrumentation. In: Proceedings of the 28th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2007), vol. 42, no. 6, pp. 89\u2013100, June 2007","DOI":"10.1145\/1273442.1250746"},{"key":"23_CR29","unstructured":"Quach, A., Prakash, A., Yan, L.K.: Debloating software through piece-wise compilation and loading. In: Proceedings of the USENIX Conference on Security Symposium, SEC 2018, Baltimore, MD, USA (2018)"},{"issue":"5","key":"23_CR30","doi-asserted-by":"publisher","first-page":"1467","DOI":"10.1145\/186025.186041","volume":"16","author":"G Ramalingam","year":"1994","unstructured":"Ramalingam, G.: The undecidability of aliasing. ACM Trans. Program. Lang. Syst. (TOPLAS 1994) 16(5), 1467\u20131471 (1994)","journal-title":"ACM Trans. Program. Lang. Syst. (TOPLAS 1994)"},{"key":"23_CR31","series-title":"LNCS","doi-asserted-by":"publisher","first-page":"366","DOI":"10.1007\/978-3-540-74061-2_23","volume-title":"SAS 2007","author":"S Sankaranarayanan","year":"2007","unstructured":"Sankaranarayanan, S., Ivan\u010di\u0107, F., Gupta, A.: Program analysis using symbolic ranges. In: Nielson, H.R., Fil\u00e9, G. (eds.) SAS 2007. LNCS, vol. 4634, pp. 366\u2013383. Springer, Heidelberg (2007). \n                      https:\/\/doi.org\/10.1007\/978-3-540-74061-2_23"},{"key":"23_CR32","unstructured":"Schwarz, B., Debray, S., Andrews, G.: Disassembly of executable code revisited. In: Proceedings of the Working Conference on Reverse Engineering, WCRE 2002, Richmond, VA, USA (2002)"},{"key":"23_CR33","doi-asserted-by":"crossref","unstructured":"Sharif, H., Abubakar, M., Gehani, A., Zaffar, F.: TRIMMER: application specialization for code debloating. In: Proceedings of the ACM\/IEEE International Conference on Automated Software Engineering, ASE 2018, Corum, Montpellier, France (2018)","DOI":"10.1145\/3238147.3238160"},{"key":"23_CR34","doi-asserted-by":"crossref","unstructured":"Shoshitaishvili, Y., et al.: SoK: (state of) the art of war: offensive techniques in binary analysis. In: Proceedings of the IEEE Symposium on Security and Privacy, SP 2016, San Jose, CA, USA (2016)","DOI":"10.1109\/SP.2016.17"},{"key":"23_CR35","doi-asserted-by":"publisher","DOI":"10.1007\/978-1-84800-017-9","volume-title":"Value-Range Analysis of C Programs: Towards Proving the Absence of Buffer Overflow Vulnerabilities","author":"A Simon","year":"2010","unstructured":"Simon, A.: Value-Range Analysis of C Programs: Towards Proving the Absence of Buffer Overflow Vulnerabilities, 1st edn. Springer, London (2010). \n                      https:\/\/doi.org\/10.1007\/978-1-84800-017-9","edition":"1"},{"key":"23_CR36","unstructured":"Song, L., Xing, X.: Fine-grained library customization. arXiv preprint \n                      arXiv:1810.11128\n                      \n                     (2018)"},{"key":"23_CR37","doi-asserted-by":"crossref","unstructured":"Venet, A., Brat, G.: Precise and efficient static array bound checking for large embedded C programs. In: Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2004, Washington DC, USA (2004)","DOI":"10.1145\/996841.996869"},{"key":"23_CR38","unstructured":"Wagner, D.A., Foster, J.S., Brewer, E.A., Aiken, A.: A first step towards automated detection of buffer overrun vulnerabilities. In: Proceedings of the Network and Distributed System Security Symposium, NDSS 2000, San Diego, CA, USA (2000)"},{"issue":"11","key":"23_CR39","doi-asserted-by":"publisher","first-page":"1037","DOI":"10.1016\/j.scico.2010.04.008","volume":"76","author":"G Wagner","year":"2011","unstructured":"Wagner, G., Gal, A., Franz, M.: Slimming\u2019 a Java virtual machine by way of cold code removal and optimistic partial program loading. Sci. Comput. Program. 76(11), 1037\u20131053 (2011)","journal-title":"Sci. Comput. Program."},{"key":"23_CR40","doi-asserted-by":"crossref","unstructured":"Wang, R., et al.: Ramblr: making reassembly great again. In: Proceedings of the Network and Distributed System Security Symposium, NDSS 2017, San Diego, CA, USA (2017)","DOI":"10.14722\/ndss.2017.23225"},{"key":"23_CR41","unstructured":"Wang, S., Wang, P., Wu, D.: Reassembleable disassembling. In: Proceedings of the USENIX Conference on Security Symposium, SEC 2015, Washington, D.C. (2015)"},{"key":"23_CR42","volume-title":"Hacker\u2019s Delight","author":"HSJ Warren","year":"2003","unstructured":"Warren, H.S.J.: Hacker\u2019s Delight. Addison-Wesley, Boston (2003)"},{"key":"23_CR43","volume-title":"Introduction to Graph Theory","author":"DB West","year":"1996","unstructured":"West, D.B., et al.: Introduction to Graph Theory, vol. 2. Prentice Hall, Upper Saddle River (1996)"},{"key":"23_CR44","unstructured":"Xu, L., Sun, F., Su, Z.: Constructing precise control flow graphs from binaries. University of California, Davis, Technical report (2009)"},{"issue":"5","key":"23_CR45","doi-asserted-by":"publisher","first-page":"307","DOI":"10.1145\/949952.940113","volume":"28","author":"SH Yong","year":"2003","unstructured":"Yong, S.H., Horwitz, S.: Protecting C programs from attacks via invalid pointer dereferences. SIGSOFT Softw. Eng. Notes 28(5), 307\u2013316 (2003)","journal-title":"SIGSOFT Softw. Eng. Notes"},{"key":"23_CR46","doi-asserted-by":"crossref","unstructured":"Zhang, M., Qiao, R., Hasabnis, N., Sekar, R.: A platform for secure static binary instrumentation (2014)","DOI":"10.1145\/2576195.2576208"}],"container-title":["Lecture Notes in Computer Science","Detection of Intrusions and Malware, and Vulnerability Assessment"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-030-22038-9_23","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,6,9]],"date-time":"2019-06-09T23:12:03Z","timestamp":1560121923000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-030-22038-9_23"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019]]},"ISBN":["9783030220372","9783030220389"],"references-count":46,"URL":"https:\/\/doi.org\/10.1007\/978-3-030-22038-9_23","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2019]]},"assertion":[{"value":"6 June 2019","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"DIMVA","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Conference on Detection of Intrusions and Malware, and Vulnerability Assessment","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Gothenburg","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Sweden","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2019","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"19 June 2019","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"20 June 2019","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":"dimva2019","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/www.dimva2019.org\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Double-blind","order":1,"name":"type","label":"Type","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information"}},{"value":"dimca2019.hotcrp.com","order":2,"name":"conference_management_system","label":"Conference Management System","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information"}},{"value":"80","order":3,"name":"number_of_submissions_sent_for_review","label":"Number of Submissions Sent for Review","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information"}},{"value":"23","order":4,"name":"number_of_full_papers_accepted","label":"Number of Full Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information"}},{"value":"0","order":5,"name":"number_of_short_papers_accepted","label":"Number of Short Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information"}},{"value":"29% - 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"}},{"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"}},{"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"}},{"value":"Yes","order":9,"name":"external_reviewers_involved","label":"External Reviewers Involved","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information"}}]}}