一种基于修复偏好的自动程序修复工具集成策略-AIDD .pdf

?3秒学会神器!APR自动修复工具集成策略绝绝子?


✨ 嘿,打工人!还在为代码bug抓狂吗?? 自动程序修复(APR)工具超40种,但怎么选才是王道?今天分享李传艺教授的基于修复偏好的集成策略AIDD,小白也能秒懂!

? APR现状大揭秘
APR工具分3类:
1️⃣ 传统规则型(如GenProg)→ 用遗传算法暴力试错
2️⃣ NPR神经翻译型(如CoCoNut)→ 把修复当翻译任务
3️⃣ LLM大模型型(如GPT-3.5)→ 直接让AI当修理工

但问题来了:哪个工具最适合你的Bug? ?
? 现状痛点

  • 单个工具修复能力有限,像“偏科生”
  • 基于学习的集成方法需要大量训练数据,成本高到离谱!
  • 新工具加入?重新造轮子!

? AIDD解决方案
李教授提出“修复偏好”概念——
Step1:为传统工具(如GenProg)分类Bug(如“条件语句错误”“内存泄漏”)
Step2:记录“这个工具擅长修复哪种Bug”
Step3:输入新Bug→系统自动匹配最可能成功的工具→按顺序执行

? 核心亮点

  • 冷启动无忧:新工具直接加入,无需历史数据
  • 持续进化:修复历史越丰富,系统越智能
  • 可解释性:优先传统工具,结果更可信(比如“GenProg适合逻辑错误”)

? 真实实验验证

  • 21个工具仿真实验,集成策略提升30%修复率
  • 4个真实工具(Java/Python)实测,效果惊艳!
  • 关键词:“优先级排序”“多工具协同”,比单打独斗强100倍!

? 互动时间
? 你用过哪个APR工具?评论区晒出你的“修Bug秘籍”!
? 打工人必问:如果Bug像“天书”,你会先找谁帮忙?

? 个人碎碎念
作为码农,见过太多“修Bug像开盲盒”的惨剧。AIDD就像给工具配“GPS导航”,从此告别盲目尝试!信创领域尤其香,国产编程环境都能用~


APR工具 #代码修复 #AI编程 #打工人必备 #李传艺 #南京大学