Learning to Repair Software Vulnerabilities with Generative Adversarial Networks
This addresses the problem of automated vulnerability repair for software developers, but it is incremental as it builds on existing adversarial learning techniques.
The authors tackled automated software vulnerability repair by proposing a Generative Adversarial Network approach that maps between discrete domains without paired labeled examples, achieving performance close to seq2seq methods that require such pairs.
Motivated by the problem of automated repair of software vulnerabilities, we propose an adversarial learning approach that maps from one discrete source domain to another target domain without requiring paired labeled examples or source and target domains to be bijections. We demonstrate that the proposed adversarial learning approach is an effective technique for repairing software vulnerabilities, performing close to seq2seq approaches that require labeled pairs. The proposed Generative Adversarial Network approach is application-agnostic in that it can be applied to other problems similar to code repair, such as grammar correction or sentiment translation.