Oct, 2023

自动化评估面向安全上下文的 AI 生成代码的正确性

TL;DR本文提出了一种名为 ACCA 的完全自动化方法,用于评估用于安全目的的 AI 生成的代码的正确性。该方法使用符号执行来评估 AI 生成的代码是否与参考实现相同,并通过比较结果与领域中广泛使用的不同基准解决方案以及 OpenAI 开发的人工智能语言模型 ChatGPT,来评估四种用于生成面向安全的汇编代码的现有模型。我们的实验表明,我们的方法优于基准解决方案,并且与人工评估类似地评估 AI 生成的代码的正确性,而人工评估在该领域被认为是基准事实。此外,ACCA 与人工评估具有非常强的相关性(平均值皮尔逊相关系数 r=0.84)。最后,由于该方法是完全自动化的,不需要任何人工干预,所以所提出的方法对于评估每个代码片段的时间平均为~0.17 秒,这肯定低于人工分析员根据我们的经验手动检查代码所需的平均时间。