[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"doc-detail-127872-en":3,"doc-seo-127872-105":31,"detail-sidebar-cat-0-en-105":92},{"code":4,"msg":5,"data":6},0,"success",{"doc_id":7,"user_id":8,"nickname":9,"user_avatar":10,"doc_module":4,"category_id":11,"category_name":12,"doc_title":13,"doc_description":14,"doc_content":15,"file_id":16,"file_url":17,"file_type":18,"file_size":19,"view_count":20,"is_deleted":4,"is_public":21,"is_downloadable":21,"audit_status":21,"page_count":22,"language":23,"language_code":24,"site_id":25,"html_lang":24,"table_of_contents":26,"faqs":27,"seo_title":28,"seo_description":14,"update_tm":29,"read_time":30},127872,2336474459895,"Aria","https://ap-avatar.wpscdn.com/avatar/22000baeef7a5ed0655?x-image-process=image/resize,m_fixed,w_180,h_180&k=1786071322749376916",8,"Research & Report","Combined Static Analysis and Machine Learning Prediction for Application Debloating","Software debloating reduces attack surfaces to disrupt gadget chains used in code reuse attacks, but static-analysis approaches conservatively compute reachable functions, hurting reduction. Machine-learning predictions offer much higher precision, yet mispredictions introduce runtime overhead and cannot be cleanly distinguished from real attacks. This work proposes Predictive Debloat with Static Guarantees (PDSG), combining runtime ML prediction with lightweight audits derived from static call-chain invariants. The framework is sound on application source code and reports low-check frequency and practical overhead while achieving major gadget reductions on SPEC CPU 2017.","arXiv :2404 .00196v1 [ cs .CR] 30 Mar 2024  \nCombined Static Analysis and Machine Learning Prediction for Application Debloating  \nCHRIS PORTER, IBM Research, USA  \nSHARJEEL KHAN, Georgia Institute of Technology, USA KANGQI NI, Georgia Institute of Technology, USA SANTOSH PANDE, Georgia Institute of Technology, USA  \nSoftware debloating can effectively thwart certain code reuse attacks by reducing attack surfaces to break gadget chains. Approaches based on static analysis enable a reduced set of functions reachable at a callsite for execution by leveraging static properties of the callgraph. This achieves low runtime overhead, but the function set is conservatively computed, negatively affecting reduction. In contrast, approaches based on machine learning (ML) have much better precision and can sharply reduce function sets, leading to significant improvement in attack surface. Nevertheless, mispredictions occur in ML-based approaches. These cause overheads, and worse, there is no clear way to distinguish between mispredictions and actual attacks.  \nIn this work, we contend that a software debloating approach that incorporates ML-based predictions at runtime is realistic in a whole application setting, and that it can achieve significant attack surface reductions beyond the state ofthe art. We develop a framework, Predictive Debloat with Static Guarantees (PDSG) . PDSGis fully sound and works on application source code. At runtime it predicts the dynamic callee set emanating from a callsite, and to resolve mispredictions, it employs a lightweight audit based on static invariants of call chains. We deduce the invariants offline and assert that they hold at runtime when there is a misprediction. To the best of our knowledge, it achieves the highest gadget reductions among similar techniques on SPEC CPU 2017, reducing 82.5% of the total gadgets on average. It triggers misprediction checks on only 3.8% of the total predictions invoked at runtime, and it leverages Datalog to verify dynamic call sequences conform to the static call relations. It has an overhead of 8.9%, which makes the scheme attractive for practical deployments.  \n1 INTRODUCTION  \nModern software contains a substantial amount of unused code [5, 21, 43, 44], and this unneeded code can be leveraged in code reuse attacks [6, 35, 46, 51, 56] . In particular, some parts of modern software deal with very rare corner cases or highly rare exceptional conditions which are not regularly exercised, nor updated and maintained. These parts of software can contain exploits, but recently software debloating has made progress in adding defenses for such cases. The idea is to remove as much of this excess code as possible in order to reduce the program’s attack surface.  \nTable 1 shows % reductions in gadgets for several debloating frameworks since 2018 . As shown in [39], attackers typically use a memory vulnerability along with a chain of gadgets to construct a code reuse attack. Section 2 gives details of gadget-based attacks, but for now, gadgets can be understood as the basic building blocks for advanced code reuse attacks; attackers stitch gadgets into a dynamic chain that transfers control and data-flow (illegally) from one code location to another, which can culminate into complete control over program execution (through a mechanism such as an 􀀴􀁇􀀴􀀲􀁅􀀴 call) . The “Debloat” column in Table 1 gives a rough comparison of the number of gadgets removed by a given framework. Although the frameworks are evaluated on different benchmarks, have differences in terms of their targeted artifacts (applications vs. libraries), or maybe static or dynamic techniques, one of the most striking aspects of Table 1 is BlankIt’s [40] high debloat percentage. It reduces the number of gadgets that are active at runtime by 97.8% . Though direct comparisons are strained, the next closest gadget reduction result is for Decker, which is  \nAuthors’ addresses: Chris Porter, [porter@ibm.com](porter@ibm.com","cbCaipZLP010fcTu","https://ap.wps.com/l/cbCaipZLP010fcTu","pdf",795374,2,1,23,"English","en",105,"# Introduction\n## ML-based Prediction for Debloating: Pros and Cons","[{\"question\":\"Why do static-analysis debloating approaches reduce fewer gadgets than ML-based methods?\",\"answer\":\"Static analysis conservatively computes the reachable function set from a callsite, which limits reduction accuracy. This conservatism negatively affects the debloating results.\"},{\"question\":\"What problem arises in ML-based debloating regarding mispredictions?\",\"answer\":\"ML-based approaches can mispredict the dynamic callee set, causing runtime overhead and making it hard to distinguish mispredictions from actual attacks.\"},{\"question\":\"How does PDSG handle ML mispredictions during runtime?\",\"answer\":\"PDSG predicts dynamic callees at runtime and resolves mispredictions using a lightweight audit based on statically deduced invariants of call chains, verified with Datalog to check dynamic sequences against static call relations.\"}]","Combined Static Analysis and Machine Learning Prediction for Application Debloating | PDF",1785942457,58,{"code":4,"msg":32,"data":33},"ok",{"site_id":25,"language":24,"slug":34,"title":13,"keywords":35,"description":14,"schema_data":36,"social_meta":87,"head_meta":89,"extra_data":91,"updated_unix":29},"combined-static-analysis-and-machine-learning-prediction-for-application-debloating","",{"@graph":37,"@context":86},[38,54,69],{"@type":39,"itemListElement":40},"BreadcrumbList",[41,45,48,51],{"item":42,"name":43,"@type":44,"position":21},"https://docshare.wps.com","Home","ListItem",{"item":46,"name":47,"@type":44,"position":20},"https://docshare.wps.com/document/","Document",{"item":49,"name":12,"@type":44,"position":50},"https://docshare.wps.com/document/research-report/",3,{"item":52,"name":13,"@type":44,"position":53},"https://docshare.wps.com/document/combined-static-analysis-and-machine-learning-prediction-for-application-debloating/127872/",4,{"url":52,"name":13,"@type":55,"author":56,"headline":13,"publisher":58,"fileFormat":61,"inLanguage":24,"description":14,"dateModified":62,"datePublished":63,"encodingFormat":61,"isAccessibleForFree":64,"interactionStatistic":65},"DigitalDocument",{"name":9,"@type":57},"Person",{"url":42,"name":59,"@type":60},"DocShare","Organization","application/pdf","2026-08-22","2026-08-05",true,{"@type":66,"interactionType":67,"userInteractionCount":20},"InteractionCounter",{"@type":68},"ViewAction",{"@type":70,"mainEntity":71},"FAQPage",[72,78,82],{"name":73,"@type":74,"acceptedAnswer":75},"Why do static-analysis debloating approaches reduce fewer gadgets than ML-based methods?","Question",{"text":76,"@type":77},"Static analysis conservatively computes the reachable function set from a callsite, which limits reduction accuracy. This conservatism negatively affects the debloating results.","Answer",{"name":79,"@type":74,"acceptedAnswer":80},"What problem arises in ML-based debloating regarding mispredictions?",{"text":81,"@type":77},"ML-based approaches can mispredict the dynamic callee set, causing runtime overhead and making it hard to distinguish mispredictions from actual attacks.",{"name":83,"@type":74,"acceptedAnswer":84},"How does PDSG handle ML mispredictions during runtime?",{"text":85,"@type":77},"PDSG predicts dynamic callees at runtime and resolves mispredictions using a lightweight audit based on statically deduced invariants of call chains, verified with Datalog to check dynamic sequences against static call relations.","https://schema.org",{"og:url":52,"og:type":88,"og:title":13,"og:site_name":59,"og:description":14},"article",{"robots":90,"canonical":52},"index,follow",{"doc_id":7,"site_id":25},{"code":4,"msg":5,"data":93},[94,98,102,106,111,116,121,124,129,132,136],{"id":21,"doc_module":4,"doc_module_name":47,"category_name":95,"show_sort_weight":96,"slug":97},"Story & Novel",90,"story-novel",{"id":20,"doc_module":4,"doc_module_name":47,"category_name":99,"show_sort_weight":100,"slug":101},"Literature",80,"literature",{"id":53,"doc_module":4,"doc_module_name":47,"category_name":103,"show_sort_weight":104,"slug":105},"Exam",70,"exam",{"id":107,"doc_module":4,"doc_module_name":47,"category_name":108,"show_sort_weight":109,"slug":110},5,"Comic",60,"comic",{"id":112,"doc_module":4,"doc_module_name":47,"category_name":113,"show_sort_weight":114,"slug":115},6,"Technology",50,"technology",{"id":117,"doc_module":4,"doc_module_name":47,"category_name":118,"show_sort_weight":119,"slug":120},7,"Healthcare",40,"healthcare",{"id":11,"doc_module":4,"doc_module_name":47,"category_name":12,"show_sort_weight":122,"slug":123},30,"research-report",{"id":125,"doc_module":4,"doc_module_name":47,"category_name":126,"show_sort_weight":127,"slug":128},9,"Religion & Spirituality",20,"religion-spirituality",{"id":127,"doc_module":4,"doc_module_name":47,"category_name":130,"show_sort_weight":127,"slug":131},"World Cup","world-cup",{"id":133,"doc_module":4,"doc_module_name":47,"category_name":134,"show_sort_weight":133,"slug":135},10,"Lifestyle","lifestyle",{"id":137,"doc_module":4,"doc_module_name":47,"category_name":138,"show_sort_weight":107,"slug":139},19,"General","general"]