Prompting Techniques for Secure Code Generation: A Systematic Investigation

要約

大規模言語モデル (LLM) は、開発者が自然言語 (NL) 命令からコードを作成できるようにするプロンプト駆動型プログラミングを備えたソフトウェア開発で勢いを増しています。
しかし、研究では安全なコードを生成する能力、ひいてはプロンプト生成されたソフトウェアの品質に疑問が投げかけられています。
これに加えて、LLM から最適な応答を引き出すために、プロンプトを注意深く調整するさまざまなプロンプト手法が登場しました。
それでも、このようなプロンプト戦略と安全なコード生成の間の相互作用は依然として解明されておらず、さらなる調査が必要です。
目的: この研究では、LLM による NL 命令から生成されたコードのセキュリティに対するさまざまなプロンプト手法の影響を調査します。
方法: まず、体系的な文献レビューを実行して、コード生成タスクに使用できる既存のプロンプト手法を特定します。
これらの技術のサブセットは、安全なコード生成のために GPT-3、GPT-3.5、および GPT-4 モデルで評価されます。
このために、150 個の NL セキュリティ関連のコード生成プロンプトで構成される既存のデータセットを使用しました。
結果: 私たちの研究では、(i) コード生成のための潜在的なプロンプト手法を分類し、(ii) 特定された手法のサブセットを安全なコード生成タスクに適応させて評価し、(iii) テストされた LLM 全体で、特に
Recursive Criticism and Improvement (RCI) と呼ばれる既存の手法は、LLM で生成されたコードのセキュリティに関する進行中の議論に貴重な洞察を提供します。

要約(オリジナル)

Large Language Models (LLMs) are gaining momentum in software development with prompt-driven programming enabling developers to create code from natural language (NL) instructions. However, studies have questioned their ability to produce secure code and, thereby, the quality of prompt-generated software. Alongside, various prompting techniques that carefully tailor prompts have emerged to elicit optimal responses from LLMs. Still, the interplay between such prompting strategies and secure code generation remains under-explored and calls for further investigations. OBJECTIVE: In this study, we investigate the impact of different prompting techniques on the security of code generated from NL instructions by LLMs. METHOD: First we perform a systematic literature review to identify the existing prompting techniques that can be used for code generation tasks. A subset of these techniques are evaluated on GPT-3, GPT-3.5, and GPT-4 models for secure code generation. For this, we used an existing dataset consisting of 150 NL security-relevant code-generation prompts. RESULTS: Our work (i) classifies potential prompting techniques for code generation (ii) adapts and evaluates a subset of the identified techniques for secure code generation tasks and (iii) observes a reduction in security weaknesses across the tested LLMs, especially after using an existing technique called Recursive Criticism and Improvement (RCI), contributing valuable insights to the ongoing discourse on LLM-generated code security.

arxiv情報

著者 Catherine Tony,Nicolás E. Díaz Ferreyra,Markus Mutas,Salem Dhiff,Riccardo Scandariato
発行日 2024-07-09 17:38:03+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

カテゴリー: cs.AI, cs.CR, cs.LG, cs.SE パーマリンク