Table of Contents
Fetching ...

Large Language Models-Aided Program Debloating

Bo Lin, Shangwen Wang, Yihao Qin, Liqian Chen, Xiaoguang Mao

TL;DR

This paper tackles software bloating by introducing LEADER, a framework that uses Large Language Models to preserve essential functionality while hardening security during debloating. It combines documentation-guided test augmentation to capture desired features with a neuro-symbolic, multi-advisor debloating pipeline where an LLM decision-maker reconciles debloating and security considerations. Empirical results on Util and SIR benchmarks show LEADER outperforms state-of-the-art tools in correctness and robustness and achieves superior security hardening, while maintaining reasonable efficiency. The approach demonstrates that integrating semantic understanding, generation, and decision-making via LLMs can set a new standard for secure, high-fidelity program debloating with broad practical implications.

Abstract

As software grows in complexity to accommodate diverse features and platforms, software bloating has emerged as a significant challenge, adversely affecting performance and security. However, existing approaches inadequately address the dual objectives of debloating: maintaining functionality by preserving essential features and enhancing security by reducing security issues. Specifically, current software debloating techniques often rely on input-based analysis, using user inputs as proxies for the specifications of desired features. However, these approaches frequently overfit provided inputs, leading to functionality loss and potential security vulnerabilities. To address these limitations, we propose LEADER, a program debloating framework enhanced by Large Language Models (LLMs), which leverages their semantic understanding, generative capabilities, and decision-making strengths. LEADER mainly consists of two modules: (1) a documentation-guided test augmentation module designed to preserve functionality, which leverages LLMs to comprehend program documentation and generates sufficient tests to cover the desired features comprehensively, and (2) a multi-advisor-aided program debloating module that employs a neuro-symbolic pipeline to ensure that the security of the software can be perceived during debloating. This module combines debloating and security advisors for analysis and employs an LLM as a decision-maker to eliminate undesired code securely. Extensive evaluations on widely used benchmarks demonstrate the efficacy of LEADER. These results demonstrate that LEADER surpasses the state-of-the-art tool CovA in functionality and security. These results underscore the potential of LEADER to set a new standard in program debloating by effectively balancing functionality and security.

Large Language Models-Aided Program Debloating

TL;DR

This paper tackles software bloating by introducing LEADER, a framework that uses Large Language Models to preserve essential functionality while hardening security during debloating. It combines documentation-guided test augmentation to capture desired features with a neuro-symbolic, multi-advisor debloating pipeline where an LLM decision-maker reconciles debloating and security considerations. Empirical results on Util and SIR benchmarks show LEADER outperforms state-of-the-art tools in correctness and robustness and achieves superior security hardening, while maintaining reasonable efficiency. The approach demonstrates that integrating semantic understanding, generation, and decision-making via LLMs can set a new standard for secure, high-fidelity program debloating with broad practical implications.

Abstract

As software grows in complexity to accommodate diverse features and platforms, software bloating has emerged as a significant challenge, adversely affecting performance and security. However, existing approaches inadequately address the dual objectives of debloating: maintaining functionality by preserving essential features and enhancing security by reducing security issues. Specifically, current software debloating techniques often rely on input-based analysis, using user inputs as proxies for the specifications of desired features. However, these approaches frequently overfit provided inputs, leading to functionality loss and potential security vulnerabilities. To address these limitations, we propose LEADER, a program debloating framework enhanced by Large Language Models (LLMs), which leverages their semantic understanding, generative capabilities, and decision-making strengths. LEADER mainly consists of two modules: (1) a documentation-guided test augmentation module designed to preserve functionality, which leverages LLMs to comprehend program documentation and generates sufficient tests to cover the desired features comprehensively, and (2) a multi-advisor-aided program debloating module that employs a neuro-symbolic pipeline to ensure that the security of the software can be perceived during debloating. This module combines debloating and security advisors for analysis and employs an LLM as a decision-maker to eliminate undesired code securely. Extensive evaluations on widely used benchmarks demonstrate the efficacy of LEADER. These results demonstrate that LEADER surpasses the state-of-the-art tool CovA in functionality and security. These results underscore the potential of LEADER to set a new standard in program debloating by effectively balancing functionality and security.

Paper Structure

This paper contains 45 sections, 11 equations, 5 figures, 7 tables, 1 algorithm.

Figures (5)

  • Figure 1: The yyparse and corresponding inputs in date program
  • Figure 2: The code debloated by existing input-based techniques
  • Figure 3: The workflow of LEADER
  • Figure 4: The code along with integrated suggestions
  • Figure 5: The debloated c_isspace function