1. 环境:Ubuntu 16.04.7 LTS, python2.7
安装依赖
pip2 install --upgrade -r requirements.txt sudo apt-get install -y nodejs npm install -g jsdoc python2.7中各种包版本:
2. 将下载好的模型放在models/model.h5下,下载论文中用到的数据并解压
https://drive.google.com/file/d/1JUjvliIV76_LtqoZvcIVAOfZUBeGgVFk/view
3.论文当中的主要结果在data/paper/results/results.csv中,
执行下面命令复现论文中Table1的结果
python2 scripts/runner.py --config scripts/configs/stats_paper.json
结果如图:
4. 模型训练是基于name而不是comment的文件在data/paper/results/predictions_paper_no_comments.csv中
此命令能够得到Table1中没有注释的那列数据
python2 scripts/runner.py --config scripts/configs/stats_paper_no_comments.json
结果如下:
在result.csv中,origin表示数据点的真实类型,"top_5_prediction"指的是前5种最有可能的类型,"datapoint_type"指的是函数或参数类型,0代表函数,1代表参数。
5. 使用模型对论文种的测试集进行预测:为data/paper/raw_csv/test.csv中的数据点进行预测,生成的结果文件保存在data/paper/results_new_enriched.csv中
python2 scripts/runner.py --config scripts/configs/from_vecs.json
一致性分析的结果在data/paper/results/inconsistency_analysis_paper.csv中
6. 使用模型为自己选择的js文件进行预测,把一些js文件放在data/demo/files中,并确保这些js文件含有一定的jsdoc注释
python2 scripts/runner.py --config scripts/configs/demo.json
执行结果将保存在data/demo/results/results.csv 中
Tips: 路径可以在scripts/configs下面的对应json文件中修改