CRAILGSEFeb 14, 2024

Instruction Tuning for Secure Code Generation

arXiv:2402.09497v273 citationsh-index: 64ICML
AI Analysis

This addresses security risks in code generation for users of language models in programming, but it is incremental as it builds on existing instruction tuning.

The paper tackled the problem of unsafe code generation by instruction-tuned language models by introducing SafeCoder, a security-centric fine-tuning method that improved security by about 30% while preserving utility.

Modern language models (LMs) have gained widespread acceptance in everyday and professional contexts, particularly in programming. An essential procedure enabling this adoption is instruction tuning, which substantially enhances LMs' practical utility by training them to follow user instructions and human preferences. However, existing instruction tuning schemes overlook a crucial aspect: the security of generated code. As a result, even the state-of-the-art instruction-tuned LMs frequently produce unsafe code, posing significant security risks. In this work, we introduce SafeCoder to address this gap. SafeCoder performs security-centric fine-tuning using a diverse and high-quality dataset that we collected using an automated pipeline. We integrate the security fine-tuning with standard instruction tuning, to facilitate a joint optimization of both security and utility. Despite its simplicity, we show that SafeCoder is effective across a variety of popular LMs and datasets. It is able to drastically improve security (by about 30%), while preserving utility.

Code Implementations1 repo
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes