参考链接:
[[http://www.linuxpilot.net/software/kiji/2012030501AdLint][程式码分析工具AdLint公开]]
*** Adlint 介绍
以往要发现软体产品的潜在问题,必须由开发者亲自检视程式码,AdLint可将此等功能自动化,从不同视点进行调査、总结出所谓的软体品质测量(Software Quality Metrics)。软体品质测量是计算软体质量的一套量度标准,例如要测量软体的是否可靠,便可以利用平均故障间隔(MTBF)表示软体的正常运作时间和发生问题时间的比例。开发者可利用AdLint在一定时间内建立的数据,从而观测软体品质测量数值的变化。
AdLint由日本Ogis总研的开发者开发,并可配合同公司另一套开源程式码品质评估工具Adqua使用,将程式码品质评估过程可视化。AdLint拥有与程码编译工具式相同的工作界面,可以与Eclipse等跨平台工具一起使用,直接跳至程式码中有问题的部分。AdLint现时可输出多达597种警告讯息,可测定多达15种软体品质测量,并可在 Windows XP、Windows 7及各种Linux版本上运作,条件是必须安装Ruby 1.9.3-p0或以后的版本、及GNUMake 3以后的编译环境。AdLint采用GNU GPL version 3授权,可在Sourceforge网站下载。
*** Adlint安装
Adlint(1.0版 2012年2月29日公开)采用ruby编译,依赖于ruby1.9.3版本
**** Ruby1.9.3 编译安装
[[http://www.ruby-lang.org/zh_cn/][Ruby中文网]]
1. 下载Ruby1.9.3
下载地址:http://www.ruby-lang.org/zh_cn/downloads/ 下载1.9.3Pro
或者下载最新的源代码: 采用svn获取: svn co http://svn.ruby-lang.org/repos/ruby/trunk ruby
2. 编译安装
参照源代码目录下的README文件:
需要提前安装libyaml:运行sudo apt-get install libyaml-dev
否则编译完成后运行sudo gem install adlint 会出现如下错误:
sudo gem install adlint
/usr/local/lib/ruby/1.9.1/yaml.rb:56:in `<top (required)>':
It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your ruby.
主要步骤:
1.如果没有configure文件,那么就用autoconf来自动生成
2.最简单的自动配置生成makefile,直接运行./configure,如果要进一步进行配置则运行./configure --help 察看配置器的帮助,根据自己的需要进行配置
3.生成makefile以后,运行make命令,编译当前源码
4.测试ruby解释器是否正常工作:运行:make test
4.安装到系统,运行sudo make install
**** Adlint安装
[[http://adlint.sourceforge.net/][Adlint官网]]
1. 下载Adlint
下载地址http://sourceforge.net/projects/adlint/
下载版本 为Adlint1.0.0版本
2. 使用ruby1.9.3安装Adlint
察看当前ruby版本:运行 : ruby --version
首先cd到下载adlint目录,假设下载文件为adlint.gem (实际上可以不用下载,因为gem install会自动帮你下载,只要ruby的库中存在这个文件)
运行如下命令: sudo gem install adlint
*** Adlint使用
参考:
[[http://adlint.sourceforge.net/pmwiki/upload.d/Main/users_guide_en.html][Adlint使用手册 英文版]]
**** 分析adlint自带的例程(intro_demo)
1.将adlint提供的例程拷贝到自己的工作目录下运行
运行如下命令:% cp -r `adlint --prefix`/share/demo/intro_demo .
注意上面的"." 不要忘记, "`"不是"'",不要弄错了,最好就是直接复制上面的命令,上面的命令运行成功是否输出的
如果有输出的话,估计是存在错误,需要重新编译,个人建议先将系统里面其他已经安装好的ruby全部卸载,然后再重新通过源代码编译安装,注意不要缺少libyaml这个库,否则还是运行出错
2.通过adlintize生成静态测试的配置文件
运行命令
% cd intro_demo
% adlintize
上面命令均没有输出,但是运行adlintize后会生成一些文件如下:
GNUmakefile — Make file for GNU make describing the analysis procedure
adlint_traits.yml — Traits file for customize AdLint analysis behavior
adlint_pinit.h — Initial header file of specific project
adlint_cinit.h — Initial header file of compiler
adlint_all.sh — Shell script describing the analysis procedure
adlint_all.bat — Windows batch file describing the analysis procedure
adlint_files.txt — Analyzed file list for shell script and batch file
3.运行adlint代码分析
依赖于GNU make Version3或者以后的版本(make --version 查看版本号)
运行如下命令:
make verbose-all
命令正常运行的话,输出如下:
adlint -t adlint_traits.yml -o . -p 1 -v ./intro_demo.c
./intro_demo.c [fin] |============================| 0.321s
intro_demo [fin] |============================| 0.025s
0.760s user, 0.030s system, 00:00:00.79 total
如果没有安装GNU Make,也可以运行如下命令进行静态测试分析:
% adlint -v -t adlint_traits.yml -l adlint_files.txt
其实上面的命令,分别对应的是当前目录下的adlint_all.bat(windows用),adlint_all.sh(linux用),上面命令输出如下
intro_demo.c [fin] |============================| 0.513s
intro_demo [fin] |============================| 0.058s
0.790s user, 0.010s system, 00:00:00.80 total
如果代码分析运行没有任何错误的话,下面的文件将会成功输出:
intro_demo.i — Source files with pre-processed.
intro_demo.c.met.csv — Code information of single module analysis and metric information
intro_demo.c.msg.csv — Warning message list of single module analysis
intro_demo.met.csv — Metric information of cross module analysis
intro_demo.msg.csv — Warning message list of cross module analysis
[[http://www.linuxpilot.net/software/kiji/2012030501AdLint][程式码分析工具AdLint公开]]
*** Adlint 介绍
以往要发现软体产品的潜在问题,必须由开发者亲自检视程式码,AdLint可将此等功能自动化,从不同视点进行调査、总结出所谓的软体品质测量(Software Quality Metrics)。软体品质测量是计算软体质量的一套量度标准,例如要测量软体的是否可靠,便可以利用平均故障间隔(MTBF)表示软体的正常运作时间和发生问题时间的比例。开发者可利用AdLint在一定时间内建立的数据,从而观测软体品质测量数值的变化。
AdLint由日本Ogis总研的开发者开发,并可配合同公司另一套开源程式码品质评估工具Adqua使用,将程式码品质评估过程可视化。AdLint拥有与程码编译工具式相同的工作界面,可以与Eclipse等跨平台工具一起使用,直接跳至程式码中有问题的部分。AdLint现时可输出多达597种警告讯息,可测定多达15种软体品质测量,并可在 Windows XP、Windows 7及各种Linux版本上运作,条件是必须安装Ruby 1.9.3-p0或以后的版本、及GNUMake 3以后的编译环境。AdLint采用GNU GPL version 3授权,可在Sourceforge网站下载。
*** Adlint安装
Adlint(1.0版 2012年2月29日公开)采用ruby编译,依赖于ruby1.9.3版本
**** Ruby1.9.3 编译安装
[[http://www.ruby-lang.org/zh_cn/][Ruby中文网]]
1. 下载Ruby1.9.3
下载地址:http://www.ruby-lang.org/zh_cn/downloads/ 下载1.9.3Pro
或者下载最新的源代码: 采用svn获取: svn co http://svn.ruby-lang.org/repos/ruby/trunk ruby
2. 编译安装
参照源代码目录下的README文件:
需要提前安装libyaml:运行sudo apt-get install libyaml-dev
否则编译完成后运行sudo gem install adlint 会出现如下错误:
sudo gem install adlint
/usr/local/lib/ruby/1.9.1/yaml.rb:56:in `<top (required)>':
It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your ruby.
主要步骤:
1.如果没有configure文件,那么就用autoconf来自动生成
2.最简单的自动配置生成makefile,直接运行./configure,如果要进一步进行配置则运行./configure --help 察看配置器的帮助,根据自己的需要进行配置
3.生成makefile以后,运行make命令,编译当前源码
4.测试ruby解释器是否正常工作:运行:make test
4.安装到系统,运行sudo make install
**** Adlint安装
[[http://adlint.sourceforge.net/][Adlint官网]]
1. 下载Adlint
下载地址http://sourceforge.net/projects/adlint/
下载版本 为Adlint1.0.0版本
2. 使用ruby1.9.3安装Adlint
察看当前ruby版本:运行 : ruby --version
首先cd到下载adlint目录,假设下载文件为adlint.gem (实际上可以不用下载,因为gem install会自动帮你下载,只要ruby的库中存在这个文件)
运行如下命令: sudo gem install adlint
*** Adlint使用
参考:
[[http://adlint.sourceforge.net/pmwiki/upload.d/Main/users_guide_en.html][Adlint使用手册 英文版]]
**** 分析adlint自带的例程(intro_demo)
1.将adlint提供的例程拷贝到自己的工作目录下运行
运行如下命令:% cp -r `adlint --prefix`/share/demo/intro_demo .
注意上面的"." 不要忘记, "`"不是"'",不要弄错了,最好就是直接复制上面的命令,上面的命令运行成功是否输出的
如果有输出的话,估计是存在错误,需要重新编译,个人建议先将系统里面其他已经安装好的ruby全部卸载,然后再重新通过源代码编译安装,注意不要缺少libyaml这个库,否则还是运行出错
2.通过adlintize生成静态测试的配置文件
运行命令
% cd intro_demo
% adlintize
上面命令均没有输出,但是运行adlintize后会生成一些文件如下:
GNUmakefile — Make file for GNU make describing the analysis procedure
adlint_traits.yml — Traits file for customize AdLint analysis behavior
adlint_pinit.h — Initial header file of specific project
adlint_cinit.h — Initial header file of compiler
adlint_all.sh — Shell script describing the analysis procedure
adlint_all.bat — Windows batch file describing the analysis procedure
adlint_files.txt — Analyzed file list for shell script and batch file
3.运行adlint代码分析
依赖于GNU make Version3或者以后的版本(make --version 查看版本号)
运行如下命令:
make verbose-all
命令正常运行的话,输出如下:
adlint -t adlint_traits.yml -o . -p 1 -v ./intro_demo.c
./intro_demo.c [fin] |============================| 0.321s
intro_demo [fin] |============================| 0.025s
0.760s user, 0.030s system, 00:00:00.79 total
如果没有安装GNU Make,也可以运行如下命令进行静态测试分析:
% adlint -v -t adlint_traits.yml -l adlint_files.txt
其实上面的命令,分别对应的是当前目录下的adlint_all.bat(windows用),adlint_all.sh(linux用),上面命令输出如下
intro_demo.c [fin] |============================| 0.513s
intro_demo [fin] |============================| 0.058s
0.790s user, 0.010s system, 00:00:00.80 total
如果代码分析运行没有任何错误的话,下面的文件将会成功输出:
intro_demo.i — Source files with pre-processed.
intro_demo.c.met.csv — Code information of single module analysis and metric information
intro_demo.c.msg.csv — Warning message list of single module analysis
intro_demo.met.csv — Metric information of cross module analysis
intro_demo.msg.csv — Warning message list of cross module analysis