精准测试新玩法の基于犯罪心理学挖掘代码风险
|
Python脚本 (用于merge 结果生成json) https://s3.amazonaws.com/CodeMaatDistro/scripts0.4.zip
https://s3.amazonaws.com/CodeMaatDistro/sample0.2.zip ? 执行过程 (以svn为例子):
svn log -v -r {yyyymmdd}:{yyyymmdd} --xml > <svnLogFile > 例子: svn log -v -r {20160227}:HEAD --xml > test.log svn log -v -r {20160127}: {20160227} --xml > test.log ? ?2.用code maat分析总结svn log maat -l <svnLogFile> -c svn -a revisions > <code_freqs.csv> 可以用下面的命令打印测试下 maat -l ?<svnLogFile>-c svn -a summary?? 例子: maat -l test.log -c svn -a summary?? maat -l test.log -c svn -a revisions > test_freqs.csv ? 注意: 需要打开结果文件把前面的三行删掉(打印的命令行) 另外svn log 打印出来的结果是在svn trunk的相对路径,如果工作目录不是svn trunk的根路径,需要修改文件里面代码的路径 /Test_proj/trunk/test/src/features/Log/log.cpp,94 /Test_proj/trunk/test/src/features/LogMgr/logMgr.cpp,94 /Test_proj/trunk/test/src/features/test/test.cc,75 ? 替换成下面这样 (当前工作目录为device),因为cloc 得出的文件路径是工作路径的相对路径,要保持两者一致才可以 Log/log.cpp,94 LogMgr/logMgr.cpp,94 test/test.cc,75 ?3. 用cloc 分析文件大小 ????cloc-1.64.exe? ./ --unix--by-file --csv --quiet --report-file=<code_lines.csv>? ????? ????例子: ????cloc-1.64.exe? ./ --unix--by-file --csv --quiet --report-file=test_lines.csv? ? ?4. 把前面结果merge生成json 文件 python csv_as_enclosure_json.py --structure <code_lines.csv>--weights <code_freqs.csv > ?> ?<jsonFile> (编辑:PHP编程网 - 湛江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

