⑴ 程序靜態分析的著名的靜態分析工具
雨田靜態分析系統V2.1
產品介紹
簡介
雨田靜態分析系統是擁有獨立知識產權的國產軟體,能夠對.c/.cpp文件進行靜態分析。主要分析內容包括控制流分析、數據流分析、基本度量指標的計算、編碼規則的違反情況檢查等。在對文件進行詳盡分析基礎上,結合系統特有的質量模型,雨田靜態分析系統對被分析的代碼進行了綜合質量評估,以直觀的形式顯示編碼的質量水平。系統提供了內容豐富的靜態分析結果和多角度的質量分析報告,為對編碼進行有效評估提供重要的參考,也為解決代碼中存在的問題提供明確的線索,進而促進軟體質量得到有效地改善與提高。
特點
指標豐富
雨田靜態分析系統詳細計算了代碼相關指標、注釋信息相關指標、數據流相關指標、復雜度相關指標、循環相關指標、操作符及操作數指標、路徑指標等多個方面的指標,為對代碼質量進行有效的評價提供堅實的基礎。
規則全面
雨田靜態分析系統以MISRA為基礎,結合眾多c語言專家的研究成果以及多名資深c/c++開發人員的經驗,提煉出了300餘條可檢查的質量規則,從代碼的正確性、健壯性、可讀性、語義唯一性、環境兼容性等多個方面對之進行詳盡地檢查,輔助開發及測評人員查找代碼中的問題。
功能緊湊、簡單易用
雨田靜態分析系統力求以最簡潔的方式提供最實用的分析結果。用戶僅僅需要執行「打開」操作,就可以查看工程中所有源文件的度量指標、相關代碼、控制流圖、以及規則檢查結果等重要信息。在執行一次「綜合質量分析」操作,就可以查閱工程中所有源文件及其逐函數的指標匯總報告、規則檢查報告、可讀性報告、可維護性報告、可測試性報告以及質量評估報告等眾多分析報告。
使用靈活
雨田靜態分析系統允許用戶選擇語法分析策略、分析報告內容以及編碼規則,還允許用戶調整相關編碼規則的邊界(閥值),從而使之成為自己特定的編碼規則。藉助於自身具備的靈活性,雨田靜態分析系統盡可能的適應用戶的應用環境。
主要功能
控制流分析
通過對c語言及c++語言的順序結構、選擇結構和循環結構等類型代碼塊自身及相互關系的詳盡分析,從而獲取被測文件中每個函數及類方法對應的控制流圖。通過對文件中函數間調用關系的分析,系統能夠獲取文件內函數間的調用關系;通過對文件中類對象的使用情況分析,可以獲得文件中的類關系圖。
數據流分析
系統對全局變數、類屬性、函數參數、局部變數等數據載體進行了其所在的作用域內的
詳盡的數據分析,對函數間的調用關系及數據傳遞也進行了必要的分析,從而能夠以靜態的視角把握文件中每個變數的數據變化過程,為後續的同數據流相關指標計算及代碼質量檢查打下了堅實的基礎。
基本指標計算
基於對文件中代碼進行分析而獲取的數據,雨田靜態分析系統從代碼、注釋、數據流、
路徑、復雜度、循環、操作符及操作數等多個角度計算出相應的指標。
規則檢查
系統以 MISRA編碼規則為依據,系統分析了三百餘條最常見的編碼問題。對於檢查出的問題,系統會給出問題發生的位置,原因以及對應的規則,方便用戶查證並改進。
綜合質量評估
通過對計算出的指標以及查找出的違反編碼規則信息的分類、甄別,根據相關信息在代碼綜合質量中的影響程度,雨田靜態分析系統從可讀性、可維護性以及可測試性等三個角度對文件整體、類整體、逐函數等不同層級的代碼進行了綜合質量評定,並給出直觀的分類評價報告及綜合評價報告,
⑵ 幾種C/C++語言安全檢測工具介紹
FormatGuard:Linux下防止格式化字元串攻擊的工具,是對glibc的增強。具體通過預處理提供的宏功能來對類printf函數中的參數個數進行計數,通過glibc提供的parse_printf_format函數來對轉換說明符進行計數。如果轉換說明符的數目大於提供給printf的參數個數,_proteced_printf函數認為可能遭受格式串攻擊,發出警告。但該工具不能分析類vprintf函數(而此類函數卻大量存在)
LibFormat:Unix中提供了一個有用的環境變數LD_PRELOAD,它允許我們定義在程序允許前優先載入的動態鏈接庫。主要思想,通過動態連接器將自己插入到程序中,在程序以後的運行中如果發現了包含%n的格式串出現在可寫內存中,則終止程序。但對讀操作卻無能為力,而且遇到的任何%n格式串,都會終止程序,誤報高。
⑶ 數據統計分析工具有哪些
這一類的軟體比較多,專業點的用SPSS,這一個比較簡單。再就是excel了,也可以做回歸,方差檢驗。還有就是更專業的了SAS、EVIEWS、MALTABL了
⑷ 有哪些好用的輕量級 C 代碼靜態檢測工具
由Stanford大學的Dawson Engler副教授等研究開發,該靜態分析工具允許用戶使用一種稱作metal的狀態機語言編寫自定義的時序規則,從而實現了靜態分析工具的可擴展性。MC的實際效果非常優秀,號稱在Linux內核中找出來數百個安全漏洞。MC目前已經商業化,屬於Coverity Inc.2014年被Synopsys收購。目前學術領域比較認可的靜態分析工具,其技術處於領先地位。
mygcc 由一個法國人N. Volanschi開發,其思想來源於MC,試圖將自定義的錯誤檢測集成到編譯時。
⑸ C/C++中有哪些簡單好用的命令行參數解析工具
這意味這程序是在DOS、或者linux等命令行界面執行,參數信息傳到main(intagrn,char*argv)兩個參數中
⑹ 常用的數據分析工具有哪些
雖然數據分析的工具千萬種,綜合起來萬變不離其宗。無非是數據獲取、數據存儲、數據管理、數據計算、數據分析、數據展示等幾個方面。而SAS、R、SPSS、python、excel是被提到頻率最高的數據分析工具。
Python
Python,是一種面向對象、解釋型計算機程序設計語言。Python語法簡潔而清晰,具有豐富和強大的類庫。它常被昵稱為膠水語言,能夠把用其他語言製作的各種模塊(尤其是C/C++)很輕松地聯結在一起。
常見的一種應用情形是,使用Python快速生成程序的原型(有時甚至是程序的最終界面),然後對其中有特別要求的部分,用更合適的語言改寫,比如3D游戲中的圖形渲染模塊,性能要求特別高,就可以用C/C++重寫,而後封裝為Python可以調用的擴展類庫。需要注意的是在您使用擴展類庫時可能需要考慮平台問題,某些可能不提供跨平台的實現。
R軟體
R是一套完整的數據處理、計算和制圖軟體系統。它可以提供一些集成的統計工具,但更大量的是它提供各種數學計算、統計計算的函數,從而使使用者能靈活機動的進行數據分析,甚至創造出符合需要的新的統計計算方法。
SPSS
SPSS是世界上最早的統計分析軟體,具有完整的數據輸入、編輯、統計分析、報表、圖形製作等功能,能夠讀取及輸出多種格式的文件。
Excel
可以進行各種數據的處理、統計分析和輔助決策操作,廣泛地應用於管理、統計財經、金融等眾多領域。
SAS軟體
SAS把數據存取、管理、分析和展現有機地融為一體。提供了從基本統計數的計算到各種試驗設計的方差分析,相關回歸分析以及多變數分析的多種統計分析過程,幾乎囊括了所有最新分析方法,其分析技術先進,可靠。分析方法的實現通過過程調用完成。許多過程同時提供了多種演算法和選項。
⑺ 請教Linux C代碼規范性檢測工具有哪些
由Stanford大學的Dawson Engler副教授等研究開發,該靜態分析工具允許用戶使用一種稱作metal的狀態機語言編寫自定義的時序規則,從而實現了靜態分析工具的可擴展性。MC的實際效果非常優秀,號稱在Linux內核中找出來數百個安全漏洞。MC目前已經商業化,屬於Coverity Inc.2014年被Synopsys收購。目前學術領域比較認可的靜態分析工具,其技術處於領先地位。
⑻ 什麼是常用的數據分析工具
雖然數據分析的工具千萬種,綜合起來萬變不離其宗。無非是數據獲取、數據存儲、數據管理、數據計算、數據分析、數據展示等幾個方面。而SAS、R、SPSS、python、excel是被提到頻率最高的數據分析工具。
Python
Python,是一種面向對象、解釋型計算機程序設計語言。Python語法簡潔而清晰,具有豐富和強大的類庫。它常被昵稱為膠水語言,能夠把用其他語言製作的各種模塊(尤其是C/C++)很輕松地聯結在一起。
常見的一種應用情形是,使用Python快速生成程序的原型(有時甚至是程序的最終界面),然後對其中有特別要求的部分,用更合適的語言改寫,比如3D游戲中的圖形渲染模塊,性能要求特別高,就可以用C/C++重寫,而後封裝為Python可以調用的擴展類庫。需要注意的是在您使用擴展類庫時可能需要考慮平台問題,某些可能不提供跨平台的實現。
R軟體
R是一套完整的數據處理、計算和制圖軟體系統。它可以提供一些集成的統計工具,但更大量的是它提供各種數學計算、統計計算的函數,從而使使用者能靈活機動的進行數據分析,甚至創造出符合需要的新的統計計算方法。
SPSS
SPSS是世界上最早的統計分析軟體,具有完整的數據輸入、編輯、統計分析、報表、圖形製作等功能,能夠讀取及輸出多種格式的文件。
Excel
可以進行各種數據的處理、統計分析和輔助決策操作,廣泛地應用與管理、統計財經、金融等眾多領域。
SAS軟體
SAS把數據存取、管理、分析和展現有機地融為一體。提供了從基本統計數的計算到各種試驗設計的方差分析,相關回歸分析以及多變數分析的多種統計分析過程,幾乎囊括了所有最新分析方法,其分析技術先進,可靠。分析方法的實現通過過程調用完成。許多過程同時提供了多種演算法和選項。
⑼ 數據分析工具有哪些,有什麼區別
分析軟體有Excel、SPSS、MATLAB、 SAS、Finereport等
其中Excel我就不多說了相信大家都懂。
SPSS是世界上最早採用圖形菜單驅動界面的統計軟體它將幾乎所有的功能都以統一、規范的界面展現出來。SPSS採用類似EXCEL表格的方式輸入與管理數據,數據介面較為通用,能方便的從其他資料庫中讀入數據。其統計過程包括了常用的、較為成熟的統計過程,完全可以滿足大部分的工作需要。
MATLAB是美國MathWorks公司出品的商業數學軟體,用於演算法開發、數據可視化、數據分析以及數值計算的高級技術計算語言和互動式環境使用的。
其優點如下:
1、高效的數值計算及符號計算功能,能使用戶從繁雜的數學運算分析中解脫出來;
2、 具有完備的圖形處理功能,實現計算結果和編程的可視化;
3、友好的用戶界面及接近數學表達式的自然化語言,使學者易於學習和掌握;
4、功能豐富的應用工具箱(如信號處理工具箱、通信工具箱等) ,為用戶提供了大量方便實用的處理工具。
但是這款軟體的使用難度較大,非專業人士不推薦使用。
SAS是把數據存取,管理,分析和展現有機地融為一體。其功能非常強大統計方法齊,全,新。它由數十個專用模塊構成,功能包括數據訪問、數據儲存及管理、應用開發、圖形處理、數據分析、報告編制、運籌學方法、計量經濟學與預測等。SAS系統基本上可以分為四大部分:SAS資料庫部分;SAS分析核心;SAS開發呈現工具;SAS對分布處理模式的支持及其數據倉庫設計。不過這款軟體的使用需要一定的專業知識,非專業人士不推薦使用。
Finereport類EXCEL設計模式,EXCEL+綁定數據列」形式持多SHEET和跨SHEET計算,完美兼容EXCEL公式,用戶可以所見即所得的設計出任意復雜的表樣,輕松實現中國式復雜報表。它的功能也是非常的豐富,比如說 數據支持與整合、聚合報表、數據地圖、Flash列印、交互分析等。
⑽ 在linux上有哪些C語言的代碼靜態/動態分析工具 最好開源的
用cygwin咯
win下模擬linux平台
需要c的話只要gcc就好,編輯器用vi或者emacs什麼的都可以
完全開源免費