源代碼靜態(tài)分析工具(靜態(tài)代碼檢測工具)
今天給各位分享源代碼靜態(tài)分析工具的知識,其中也會對靜態(tài)代碼檢測工具進行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關注本站,現(xiàn)在開始吧!
本文目錄一覽:
- 1、當前市面上的代碼審計工具哪個比較好?
- 2、C和C++語言有哪些主流開發(fā)工具?
- 3、靜態(tài)分析是指?
- 4、程序靜態(tài)分析的著名的靜態(tài)分析工具
- 5、findbugs和pclint有什么區(qū)別
- 6、C++靜態(tài)代碼檢查工具?
當前市面上的代碼審計工具哪個比較好?
第一類:Seay源代碼審計系統(tǒng)
這是基于C#語言開發(fā)的一款針對PHP代碼安全性審計的系統(tǒng),主要運行于Windows系統(tǒng)上。這款軟件能夠發(fā)現(xiàn)SQL注入、代碼執(zhí)行、命令執(zhí)行、文件包含、文件上傳、繞過轉義防護、拒絕服務、XSS跨站、信息泄露、任意URL跳轉等漏洞,基本上覆蓋常見的PHP漏洞。在功能上,它支持一鍵審計、代碼調試、函數(shù)定位、插件擴展、自定會規(guī)則配置、代碼高亮、編碼調試轉換、數(shù)據(jù)庫執(zhí)行監(jiān)控等數(shù)十項強大功能。
第二類:Fortify SCA
Fortify
SCA是由惠普研發(fā)的一款商業(yè)軟件產品,針對源代碼進行專業(yè)的白盒安全審計。當然,它是收費的,而且這種商業(yè)軟件一般都價格不菲。它有Windows、Linux、Unix以及Mac版本,通過內置的五大主要分析引擎對應用軟件的源代碼進行靜態(tài)分析。
第三類:RIPS
RIPS是一款基于PHP開發(fā)的針對PHP代碼安全審計的軟件。另外,它也是一款開源軟件,由國外安全研究員開發(fā),程序只有450KB,目前能下載到的最新版本是0.54,不過這款程序已經停止更新了。它最大的亮點在于調用了PHP內置解析器接口token_get_all,并且使用Parser做了語法分析,實現(xiàn)了跨文件的變量及函數(shù)追蹤,掃描結果中非常直觀地展示了漏洞形成及變量傳遞過程,誤報率非常低。RIPS能夠發(fā)現(xiàn)SQL注入、XSS跨站、文件包含、代碼執(zhí)行、文件讀取等多種漏洞,文件多種樣式的代碼高亮。
C和C++語言有哪些主流開發(fā)工具?
AppCode :構建與JetBrains’ IntelliJ IDEA 平臺上的用于Objective-C,C,C++,Java和Java開發(fā)的集成開發(fā)環(huán)境
CLion:來自JetBrains的跨平臺的C/C++的集成開發(fā)環(huán)境
Code::Blocks :免費C,C++和Fortran的集成開發(fā)環(huán)境
CodeLite :另一個跨平臺的免費的C/C++集成開發(fā)環(huán)境
Dev-C++:可移植的C/C++/C++11集成開發(fā)環(huán)境
Eclipse CDT:基于Eclipse平臺的功能齊全的C和C++集成開發(fā)環(huán)境
Geany :輕量級的快速,跨平臺的集成開發(fā)環(huán)境。
IBM VisualAge :來自IBM的家庭計算機集成開發(fā)環(huán)境。
Irony-mode:由libclang驅動的用于Emacs的C/C++微模式
KDevelop:免費開源集成開發(fā)環(huán)境
Microsoft Visual Studio :來自微軟的集成開發(fā)環(huán)境
NetBeans :主要用于Java開發(fā)的的集成開發(fā)環(huán)境,也支持其他語言,尤其是PHP,C/C++和HTML5。
Qt Creator:跨平臺的C++,Javascript和QML集成開發(fā)環(huán)境,也是Qt SDK的一部分。
rtags:C/C++的客戶端服務器索引,用于 跟基于clang的emacs的集成
Xcode :由蘋果公司開發(fā)
YouCompleteMe:一個用于Vim的根據(jù)你敲的代碼快速模糊搜索并進行代碼補全的引擎。
構建系統(tǒng)
Bear :用于為clang工具生成編譯數(shù)據(jù)庫的工具
Biicode:基于文件的簡單依賴管理器。
CMake :跨平臺的免費開源軟件用于管理軟件使用獨立編譯的方法進行構建的過程。
CPM:基于CMake和Git的C++包管理器
FASTBuild:高性能,開源的構建系統(tǒng),支持高度可擴展性的編譯,緩沖和網絡分布。
Ninja :專注于速度的小型構建系統(tǒng)
Scons :使用Python scipt 配置的軟件構建工具
tundra :高性能的代碼構建系統(tǒng),甚至對于非常大型的軟件項目,也能提供最好的增量構建次數(shù)。
tup:基于文件的構建系統(tǒng),用于后臺監(jiān)控變化的文件。
靜態(tài)代碼分析
提高質量,減少瑕疵的代碼分析工具列表
Cppcheck :靜態(tài)C/C++代碼分析工具
include-what-you-use :使用clang進行代碼分析的工具,可以#include在C和C++文件中。
OCLint :用于C,C++和Objective-C的靜態(tài)源代碼分析工具,用于提高質量,減少瑕疵。
Clang Static Analyzer:查找C,C++和Objective-C程序bug的源代碼分析工具
靜態(tài)分析是指?
經濟領域概念
靜態(tài)分析是一種分析經濟現(xiàn)象的均衡狀態(tài)以及有關的經濟變量達到均衡狀態(tài)所需要條件的分析方法。[1]而不考慮經濟現(xiàn)象達到均衡狀態(tài)的過程,它完全抽象掉了時間因素和具體的變化過程,是一種靜止地、孤立地考察某種經濟事物的方法。?
百科
?
?
靜態(tài)分析
經濟領域概念
靜態(tài)分析是一種分析經濟現(xiàn)象的均衡狀態(tài)以及有關的經濟變量達到均衡狀態(tài)所需要條件的分析方法。[1]而不考慮經濟現(xiàn)象達到均衡狀態(tài)的過程,它完全抽象掉了時間因素和具體的變化過程,是一種靜止地、孤立地考察某種經濟事物的方法。
中文名
靜態(tài)分析
外文名
static analysis
指標
總量指標、相對指標、平均指標、標志變異指標等
應用
靜態(tài)計算機科學、經濟學、工程、力學、機械
釋義
根據(jù)既定的外生變量值求得內生變量的分析方法
內涵
靜態(tài)分析法是根據(jù)既定的外生變量值求得內生變量的分析方法,是對已發(fā)生的經濟活動成果,進行綜合性的對比分析的一種分析方法。
如研究均衡價格時,舍掉時間、地點等因素,并假定影響均衡價格的其他因素,如消費者偏好、收入及相關商品的價格等靜止不變,單純分析該商品的供求達于均衡狀態(tài)的產量和價格的決定。簡單地說就是抽象了時間因素和具體變動的過程,靜止地孤立地考察某些經濟現(xiàn)象。它一般用于分析經濟現(xiàn)象的均衡狀態(tài)以及有關經濟變量達到均衡狀態(tài)所需要的條件。
常用的靜態(tài)分析法有:相對數(shù)分析法、平均數(shù)分析法、比較分析法、結構分析法、因素替換分析法、綜合計算分析法、價值系數(shù)分析法等。
指標
程序靜態(tài)分析的著名的靜態(tài)分析工具
Meta-Compilation(Coverity)
由Stanford大學的Dawson Engler副教授等研究開發(fā),該靜態(tài)分析工具允許用戶使用一種稱作metal的狀態(tài)機語言編寫自定義的時序規(guī)則,從而實現(xiàn)了靜態(tài)分析工具的可擴展性。MC的實際效果非常優(yōu)秀,號稱在Linux內核中找出來數(shù)百個安全漏洞。MC目前已經商業(yè)化,屬于Coverity Inc.2014年被Synopsys收購。目前學術領域比較認可的靜態(tài)分析工具,其技術處于領先地位。
mygcc 由一個法國人N. Volanschi開發(fā),其思想來源于MC,試圖將自定義的錯誤檢測集成到編譯時。
Klocwork
國內用的最為廣泛的靜態(tài)分析工具,由加拿大北電于1996年研發(fā),是中國最早的能夠檢測語義缺陷的靜態(tài)分析工具。截止到2015年其版本號為V10,也就是大家常說的K10
LDRA Testbed
英國的編碼規(guī)則類檢測工具,前身為Liverpool大學開發(fā),能夠支持C/C++數(shù)千種條目的規(guī)則檢測,包括MISRA C/C++, GJB5369等,是最早進入中國市場的靜態(tài)分析工具,在軍隊、軍工廣泛使用,但其技術僅支持風格類檢測,無法進行語義缺陷分析,導致一些常用的運行時缺陷無法發(fā)現(xiàn)或者較高誤漏報,由此市場占有率逐步下降。截止到2015年其版本號為9.5
HP Fortify
美國HP公司的支持安全漏洞類的檢測工具,能夠檢測C/C++/Java/PHP/ASP/JavaScript等多種語言,數(shù)千種檢測項,是國內使用最為廣泛的靜態(tài)分析工具。但該工具整體的誤報漏報率較高,雖然支持很多種安全漏洞,但需要用戶做很多的二次開發(fā)工作。
Cobot(庫博)
北京大學軟件工程中心研發(fā)的靜態(tài)分析工具,能夠支持編碼規(guī)則,語義缺陷的程序分析,能夠支持C/C++數(shù)千條規(guī)則和缺陷的檢測,是我國唯一可以稱的上是靜態(tài)分析產品的商業(yè)化工具。由于其自主知識產權,對國內的操作系統(tǒng),編碼標準支持的較好,檢測精度也基本與上述工具持平,所以也得到了很多用戶的認可。
Parasoft C++Test
美國Parasoft公司研發(fā)的支持C、C++靜態(tài)分析的工具,該工具除了可以檢測編碼規(guī)則外,還能檢測少量的語義缺陷,此外能夠進行測試用例生成。
findbugs和pclint有什么區(qū)別
區(qū)別是:
findbug與pclint都是針對軟件漏洞進行代碼檢測的工具軟件。findbug針對的是Java代碼,pclint針對的是C代碼或者C++。
Findbugs是一款Java靜態(tài)代碼分析工具,與其他靜態(tài)分析工具(如Checkstyle和PMD)不同,F(xiàn)indbugs 不注重樣式或者格式,它專注于尋找真正的缺陷或者潛在的性能問題,它可以幫助java工程師提高代碼質量以及排除隱含的缺陷。有了靜態(tài)分析工具,就可以在不實際運行程序的情況對軟件進行分析。
Findbugs運用Apache BCEL 庫分析類文件(class文件)而不是源代碼,將字節(jié)碼與一組缺陷模式進行對比以發(fā)現(xiàn)可能的問題。
pclint是GIMPEL SOFTWARE 公司研發(fā)的C/C++軟件代碼靜態(tài)分析工具,他的全稱是PC-Lint/FlexeLint for C/C++。PC-Lint 能夠在Windows、MS-DOS 和OS/2 平臺上使用,以二進制可執(zhí)行文檔的形式發(fā)布,而FlexeLint 運行于其他平臺,以源代碼的形式發(fā)布。pclint在全球擁有廣泛的客戶群,許多大型的軟件研發(fā)組織都把pclint檢查作為代碼走查的第一道工序。pclint不但能夠對程式進行全局分析,識別沒有被適當檢驗的數(shù)組下標,報告未被初始化的變量,警告使用空指針連同冗余的代碼,還能夠有效地提出許多程序在空間利用、運行效率上的改進點。
C++靜態(tài)代碼檢查工具?
PC Lint被稱為C / c++的PC - Lint / FlexeLint。它是由GIMPEL軟件開發(fā)的C / c++靜態(tài)代碼檢測工具,由許多大型軟件公司的程序員使用。
C++
我們知道,許多用戶從事開發(fā)C / c++編程語言,其語法沒有其他語言的靈活性,這種靈活性使促進代碼的效率,但由于C / c++編譯器不是強制性的類型檢查,不做任何邊境檢查,這就增加了代碼中存在的隱患的可能性。PC Lint,這個軟件的重點是對代碼的邏輯分析,它可以在潛在錯誤的代碼中找到,比如數(shù)組訪問跨界、內存泄漏、使用未初始化的變量等,用于檢測編譯器無法檢測到的bug通常類型。
內容
PC線頭是靜態(tài)代碼檢測工具,可以說,PC -線頭更嚴格的編譯器,不僅可以像普通編譯器檢查一般的語法錯誤,也可以看看那些盡管語法要求完全,但是可能是潛在的,不容易找到錯誤。
PC的棉絮不僅可以檢測單個文件,也可以從整個項目的角度檢測問題,因為一個固有的C語言編譯器編譯,編譯器環(huán)境中這些問題很難發(fā)現(xiàn),線頭和PC的檢查當前文件同時還將檢查所有相關的文檔,可想而知,它將對我們有很大的幫助。
方式
PC lint幾乎支持所有流行的編輯器和編譯器環(huán)境,例如Borland c++從1到5。xx版本,Borland c++構建,GCC,VC,watcomC / c++,insight的來源,intelC / c++,等等,也支持16 /32/ 64平臺環(huán)境。
所示。支持Scott Meyes的經典(有效的c++ /更有效的c++),各種提高效率和防止錯誤的方法。
關于源代碼靜態(tài)分析工具和靜態(tài)代碼檢測工具的介紹到此就結束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關注本站。