LLM-Powered Code Vulnerability Repair with Reinforcement Learning and Semantic Reward

Fuente: arXiv
Guardado en:
Detalles Bibliográficos
Autores principales: Islam, Nafis Tanveer, Khoury, Joseph, Seong, Andrew, Karkevandi, Mohammad Bahrami, Parra, Gonzalo De La Torre, Bou-Harb, Elias, Najafirad, Peyman
Formato: Preprint
Publicado: 2024
Materias:
Acceso en línea:
Etiquetas: Agregar Etiqueta
Sin Etiquetas, Sea el primero en etiquetar este registro!
_version_ 1866914688513605632
author Islam, Nafis Tanveer
Khoury, Joseph
Seong, Andrew
Karkevandi, Mohammad Bahrami
Parra, Gonzalo De La Torre
Bou-Harb, Elias
Najafirad, Peyman
author_facet Islam, Nafis Tanveer
Khoury, Joseph
Seong, Andrew
Karkevandi, Mohammad Bahrami
Parra, Gonzalo De La Torre
Bou-Harb, Elias
Najafirad, Peyman
contents In software development, the predominant emphasis on functionality often supersedes security concerns, a trend gaining momentum with AI-driven automation tools like GitHub Copilot. These tools significantly improve developers' efficiency in functional code development. Nevertheless, it remains a notable concern that such tools are also responsible for creating insecure code, predominantly because of pre-training on publicly available repositories with vulnerable code. Moreover, developers are called the "weakest link in the chain" since they have very minimal knowledge of code security. Although existing solutions provide a reasonable solution to vulnerable code, they must adequately describe and educate the developers on code security to ensure that the security issues are not repeated. Therefore we introduce a multipurpose code vulnerability analysis system \texttt{SecRepair}, powered by a large language model, CodeGen2 assisting the developer in identifying and generating fixed code along with a complete description of the vulnerability with a code comment. Our innovative methodology uses a reinforcement learning paradigm to generate code comments augmented by a semantic reward mechanism. Inspired by how humans fix code issues, we propose an instruction-based dataset suitable for vulnerability analysis with LLMs. We further identify zero-day and N-day vulnerabilities in 6 Open Source IoT Operating Systems on GitHub. Our findings underscore that incorporating reinforcement learning coupled with semantic reward augments our model's performance, thereby fortifying its capacity to address code vulnerabilities with improved efficacy.
format Preprint
id arxiv_https___arxiv_org_abs_2401_03374
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle LLM-Powered Code Vulnerability Repair with Reinforcement Learning and Semantic Reward
Islam, Nafis Tanveer
Khoury, Joseph
Seong, Andrew
Karkevandi, Mohammad Bahrami
Parra, Gonzalo De La Torre
Bou-Harb, Elias
Najafirad, Peyman
Software Engineering
Artificial Intelligence
In software development, the predominant emphasis on functionality often supersedes security concerns, a trend gaining momentum with AI-driven automation tools like GitHub Copilot. These tools significantly improve developers' efficiency in functional code development. Nevertheless, it remains a notable concern that such tools are also responsible for creating insecure code, predominantly because of pre-training on publicly available repositories with vulnerable code. Moreover, developers are called the "weakest link in the chain" since they have very minimal knowledge of code security. Although existing solutions provide a reasonable solution to vulnerable code, they must adequately describe and educate the developers on code security to ensure that the security issues are not repeated. Therefore we introduce a multipurpose code vulnerability analysis system \texttt{SecRepair}, powered by a large language model, CodeGen2 assisting the developer in identifying and generating fixed code along with a complete description of the vulnerability with a code comment. Our innovative methodology uses a reinforcement learning paradigm to generate code comments augmented by a semantic reward mechanism. Inspired by how humans fix code issues, we propose an instruction-based dataset suitable for vulnerability analysis with LLMs. We further identify zero-day and N-day vulnerabilities in 6 Open Source IoT Operating Systems on GitHub. Our findings underscore that incorporating reinforcement learning coupled with semantic reward augments our model's performance, thereby fortifying its capacity to address code vulnerabilities with improved efficacy.
title LLM-Powered Code Vulnerability Repair with Reinforcement Learning and Semantic Reward
topic Software Engineering
Artificial Intelligence
url https://arxiv.org/abs/2401.03374