目录
目录README.md

AutomatedTesting-AutoFix

南京大学软件学院 2022 Fall 自动化测试大作业

自动化苦工小组

组员: 孙立帆, 章华鹏, 王子搏

工具实现选题: 基于迁移学习的人工智能框架缺陷修复技术探索

检查指路

工具代码

工具代码都在 ToolImplementation/CodeT5 目录下。

数据预处理用到的 SimpleLexicalTools 可以参见我的 github 仓库 SimpleLexicalTools

如何复现?

由于通用缺陷修复模型从头训练的话需要的时间比较久, 这里建议直接下载 CodeT5 作者发布的 code refinement 任务的 checkpoint.

在 CodeT5 目录下输入以下命令下载 checkpoint:

gsutil -m cp -r "gs://sfr-codet5-data-research/finetuned_models/refine_medium_codet5_base.bin" .

训练: 使用以下命令,

python run_exp.py --model_tag codet5_base --task refine --sub_task medium

测试: 在 sh/exp_with_args.sh 中修改参数 –do_train –do_eval –do_eval_bleu 为 –do_test, 并把 sh/saved_models/refine/medium/{ somename }/checkpoint-best-bleu/pytorch_model.bin 的路径复制到 run_gen.py 372 行处的 file 变量处。

然后使用以下命令:

python run_exp.py --model_tag codet5_base --task refine --sub_task medium

想要测试不加 prompt 的版本的话就把 data/refine/medium 中的数据替换为 ToolImplementation 目录下的 final_data/unprompted 目录下的数据,然后重复上述过程。

我们设置的默认的随机种子并不是最优的, 这个可以自己调整。

分析代码

对初始经过我们人工筛选的数据集的分析代码在 ToolImplementation/dataExplore/explore.ipynb 中。

对实验结果的绘图代码和绘制的图片在 Experiment 文件夹下。

这些绘制的图片在 article/AutoFix.pdf 的文章中也都有体现。

过程报告

过程报告在 article/procedure_report.md 中。

实验结果

article/AutoFix.pdf 中的文章对整个项目做了比较详细的介绍,其中第 4 节和第 5 节是对实验过程和结果的记录。

    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

©Copyright 2023 CCF 开源发展委员会
Powered by Trustie& IntelliDE 京ICP备13000930号