
發(fā)布
注冊
/
登錄靜態(tài)代碼檢查
關(guān)注創(chuàng)建者:匿名 創(chuàng)建時間:2026-03-20

靜態(tài)代碼檢查的實例教程
Qt Group的Axivion Suite是業(yè)界領(lǐng)先的靜態(tài)代碼分析工具,包含 Axivion Static Code Analysis 和 Axivion Architecture Verification,為您提供業(yè)界領(lǐng)先的代碼深入分析服務(wù)。
靜態(tài)代碼分析從項目之初開始保證質(zhì)量
Axivion Static Code Analysis
靜態(tài)代碼分析可檢查軟件項目的風(fēng)格和編碼違規(guī)。在項目早期階段檢測克--隆代碼、死代碼、被零除及其他代碼缺陷,可減少后期修復(fù)所需的時間和成本。該工具支持眾多指標(biāo)和編碼規(guī)則。尤其是與安全與保障相關(guān)的方面,因此可以輕松監(jiān)控。此外,還可添加獨(dú)立編碼規(guī)則以及配置選項,確保從項目之初就保持高質(zhì)量標(biāo)準(zhǔn)。
Axivion Architecture Verification
實現(xiàn)架構(gòu)驗證可確保系統(tǒng)結(jié)構(gòu)保持清晰明了。為創(chuàng)建軟件架構(gòu)的結(jié)構(gòu)模型,您可以手動設(shè)置,也可以從UML模型或其他形式的圖形結(jié)構(gòu)中導(dǎo)入。軟件架構(gòu)侵蝕和架構(gòu)債務(wù)變得透明,因此可以有效地應(yīng)對。為了檢查代碼是否符合架構(gòu),需標(biāo)記偏差、阻止進(jìn)一步的架構(gòu)侵蝕。已存在的架構(gòu)設(shè)計債務(wù)可以通過有針對性的重構(gòu)措施加以糾正,您可以在架構(gòu)驗證的結(jié)果報告中直接監(jiān)控這些措施。
可根據(jù)您的開發(fā)環(huán)境進(jìn)行定制
Axivion Static Code Analysis與Axivion Architecture Verification無縫集成到您現(xiàn)有的開發(fā)環(huán)境中。這些工具可高度定制以滿足您的個性化需求。我們的專家將支持整個執(zhí)行過程,確保您從項目之初就能從中獲益。
展開 首先要知道,所有的DoD都不是一成不變的,在隨著時間的推移、經(jīng)驗的積累、成員的變更、項目的變更,我們的DoD也會有很大的不同,所以,我們也需要定期地檢查和改進(jìn)。
二、 DoD的分類
有了上面的思想準(zhǔn)備,我們再來看下面的DoD定義,就會覺得并沒有那么難了。
一、迭代DoD
最典型的是迭代DoD,這也是最初DoD應(yīng)用的地方。常見的一些規(guī)則有:
1. 所有代碼通過靜態(tài)檢測,嚴(yán)重問題都已修改,靜態(tài)分析的規(guī)則參見...
2. 所有新增代碼得到人工評審
3. 所有完成的用戶故事都有對應(yīng)的測試用例
4. 測試用例都已執(zhí)行
5. 所有完成的用戶故事得到Product Owner的驗證
二、發(fā)布DoD
對于發(fā)布,一般就有更加嚴(yán)格的要求,發(fā)布DoD的典型條款有:
1. 完成發(fā)布規(guī)劃所要求的重點需求
2. 至少通過一次全量回歸測試
3. 修復(fù)所有等級為1、2的缺陷,3、4級缺陷不超過20個
三、版本DoD
版本DoD就是針對每個版本上線前后的一些規(guī)則,比如:
1. 產(chǎn)品文檔已全部更新
2. 代碼已部署到產(chǎn)品服務(wù)器上
3. 運(yùn)維在驗收測試環(huán)境上冒煙通過
4. 原始需求提交人對功能已經(jīng)驗收通過
5. 對運(yùn)維、市場、客服的新功能培訓(xùn)已完成
四、每日DoD
其他典型的DoD有每日DoD,典型條款有:搭建每日構(gòu)建環(huán)境,晚上自動靜態(tài)代碼檢查、編譯、部署和測試,每日修復(fù)前一日構(gòu)建和測試發(fā)現(xiàn)的缺陷和問題。
1. 下班前必須檢入當(dāng)天編寫的代碼,check in的backlog要填寫清晰
2. 當(dāng)天的代碼必須在當(dāng)天或者第2天邀請同伴進(jìn)行代碼評審
3. 檢入的功能代碼必須要有對應(yīng)的單元測試(嚴(yán)格采用TDD)
4.
展開 圖五 鏈接器案例及其剖面圖
圖六 CAE仿真結(jié)果,顯示兩側(cè)流動不平衡
圖七 可能因流動不平衡而造成的翹曲變形
圖八 對幾何參數(shù)設(shè)置變化范圍并一次產(chǎn)生所有分析組別
圖九 某一組分析結(jié)果,兩側(cè)波前幾乎在末端重合
從上述的例子可得知,可制造性(DFM)的靜態(tài)的規(guī)范檢查,無法百分之百反映動態(tài)生產(chǎn)過程所造成的問題。CAE模流分析則可協(xié)助用戶彌補(bǔ)這一部分;而Moldex3D SYNC幾何優(yōu)化工具更可進(jìn)一步幫助使用者簡化分析所需的工作。若將模流分析提供的分析結(jié)果項目也視為產(chǎn)品可制造性的一環(huán),結(jié)合CAD與CAE的優(yōu)點與功能,即可有效提升產(chǎn)品設(shè)計效率,縮短產(chǎn)品上市時間。
能夠為客戶提供較完整的確保代碼安全的性能分析工具套件以及軟件分析、驗證、確認(rèn)和編譯器技術(shù)相關(guān)咨詢服務(wù)。AbsInt產(chǎn)品廣泛地應(yīng)用于工業(yè)、交通、汽車、通信和能源等行業(yè)的安全苛求軟件研發(fā)過程中。
產(chǎn)品介紹
AbsInt 代碼安全性能分析套件主要包括以下幾種產(chǎn)品:
aiT WCET Analyzer/ 最差情況執(zhí)行時間分析工具
StackAnalyzer / 最差情況堆棧使用量分析工具
TimingProfiler/ 代碼執(zhí)行時間分析工具
Astrée /C 代碼運(yùn)行時錯誤和數(shù)據(jù)競爭檢查工具
RuleChecker/C 代碼規(guī)則檢查工具
CompCert/ 形式化方法驗證的優(yōu)化 C 語言編譯器
- 二進(jìn)制代碼分析工具
aiT
針對特定的處理器和編譯器,能夠分析出較接近實際運(yùn)行情況的最差執(zhí)行時間,真實反映系統(tǒng)性能。在分析過程中充分考慮了高速緩存和流水線(pipeline)的影響,從而避免了過于保守的WCET值,亦避免了硬件資源的浪費(fèi)。
StackAnalyzer
針對特定的處理器族和編譯器,能夠自動分析出任務(wù)的最差堆棧使用量,即避免了人為低估造成的堆棧溢出,又避免了人為高估而造成的資源浪費(fèi)。
TimingProfiler
針對特定的處理器族和編譯器,能夠從初期開始對代碼執(zhí)行時間進(jìn)行持續(xù)分析和評估。
展開 什么是靜態(tài)測試?
靜態(tài)方法是指不運(yùn)行被測程序本身,僅通過分析或檢查源程序的語法、結(jié)構(gòu)、過程、接口等來檢查程序的正確性。對需求規(guī)格說明書、軟件設(shè)計說明書、源程序做結(jié)構(gòu)分析、流程圖分析、符號執(zhí)行來找錯。
靜態(tài)方法通過程序靜態(tài)特性的分析,找出欠缺和可疑之處,例如不匹配的參數(shù)、不適當(dāng)?shù)难h(huán)嵌套和分支嵌套、不允許的遞歸、未使用過的變量、空指針的引用和可疑的計算等。靜態(tài)測試結(jié)果可用于進(jìn)一步的查錯,并為測試用例選取提供指導(dǎo)。
Axivion特性概覽
靜態(tài)代碼分析
-支持語言:C/C++,C#/.NET,Java和Ada83/Ada95
-編碼指南:涵蓋了MISRA C:2004、MISRA C:2012(包括MISRA C:2012修正1安全規(guī)則和MISRA C:2012修正2)和MISRA C++:2008的100%的自動檢查規(guī)則,AUTOSAR C++14(17.03、17.10、18.03、18.10和19.03)以及安全標(biāo)準(zhǔn)CERT C和CERT C++、CWE和ISO/IEC TS 17961(C安全編碼標(biāo)準(zhǔn))等。您也可以使用Axivionsuite的規(guī)則編輯器設(shè)置和檢查自定義的規(guī)則。
-度量:包含許多常見軟件指標(biāo)的規(guī)則集。包含基于行、嵌套、循環(huán)復(fù)雜度、控制流等黃金老牌的指標(biāo)。同時也包括HIS(Metrics QAC warning discription)這樣的指標(biāo)集。
-缺陷分析:檢查源代碼中潛在的運(yùn)行時錯誤。包括可擴(kuò)展的數(shù)據(jù)和控制流檢查,例如越界訪問或除以零等錯誤可以提早發(fā)現(xiàn)。
展開 
靜態(tài)代碼檢查的相關(guān)專題、標(biāo)簽、搜索
靜態(tài)代碼檢查的最新內(nèi)容
產(chǎn)品概述
德國AbsInt公司是專注于安全苛求軟件研發(fā)、確認(rèn)、驗證和認(rèn)證的工具鏈供應(yīng)商,能夠為客戶提供完整的確保代碼安全的性能分析工具套件以及軟件分析、驗證、確認(rèn)和編譯器技術(shù)相關(guān)咨詢服務(wù)。AbsInt產(chǎn)品廣泛地應(yīng)用于工業(yè)、交通、汽車、通信和能源等行業(yè)的安全苛求軟件研發(fā)過程中。
產(chǎn)品介紹
AbsInt代碼安全性能分析套件主要包括以下幾種產(chǎn)品:
靜態(tài)代碼分析從項目之初開始保證質(zhì)量
Axivion Static Code Analysis
靜態(tài)代碼分析可檢查軟件項目的風(fēng)格和編碼違規(guī)。在項目早期階段檢測克--隆代碼、死代碼、被零除及其他代碼缺陷,可減少后期修復(fù)所需的時間和成本。該工具支持眾多指標(biāo)和編碼規(guī)則。尤其是與安全與保障相關(guān)的方面,因此可以輕松監(jiān)控。此外,還可添加獨(dú)立編碼規(guī)則以及配置選項,確保從項目之初就保持高質(zhì)量標(biāo)準(zhǔn)。
作為全球領(lǐng)先的醫(yī)療技術(shù)公司之一,西門子醫(yī)療(Siemens Healthineers)在七十多個國家擁有約66,000名員工。公司主要提供診斷與治療成像、實驗室診斷以及分子醫(yī)學(xué)等領(lǐng)域的多類產(chǎn)品。這些產(chǎn)品系列的軟件由公司分布在全球各地的開發(fā)團(tuán)隊負(fù)責(zé)設(shè)計、開發(fā)和維護(hù)。
為在如此龐大的團(tuán)隊中始終保持高質(zhì)量的軟件品質(zhì),西門子醫(yī)療的計算機(jī)斷層掃描(CT)嵌入式軟件團(tuán)隊需要一款自動分析和驗證軟件架構(gòu)及源代碼的自動化工具
一般塑料制品的生產(chǎn)流程,從產(chǎn)品造型及結(jié)構(gòu)設(shè)計、模具設(shè)計、模具制造到射出成型,須歷經(jīng)許多階段。若在前段設(shè)計上有不周全的地方,就會造成后段生產(chǎn)的困難,或是需要來回溝通以調(diào)整產(chǎn)品設(shè)計、模具設(shè)計或修整模具。本文即著重在塑料產(chǎn)品設(shè)計時間,說明如何透過模流分析找較佳的產(chǎn)品設(shè)計,藉此預(yù)先排除潛在問題,使產(chǎn)品能順利量產(chǎn)。
在產(chǎn)品設(shè)計時間,通常會有可制造性(DFM)的規(guī)范檢查;而常見的DFM項目包括塑料材料的預(yù)放值
什么是靜態(tài)測試?
靜態(tài)方法是指不運(yùn)行被測程序本身,僅通過分析或檢查源程序的語法、結(jié)構(gòu)、過程、接口等來檢查程序的正確性。對需求規(guī)格說明書、軟件設(shè)計說明書、源程序做結(jié)構(gòu)分析、流程圖分析、符號執(zhí)行來找錯。
靜態(tài)方法通過程序靜態(tài)特性的分析,找出欠缺和可疑之處,例如不匹配的參數(shù)、不適當(dāng)?shù)难h(huán)嵌套和分支嵌套、不允許的遞歸、未使用過的變量、空指針的引用和可疑的計算等。
Qt質(zhì)量管理工具:
您在軟件質(zhì)量管理中需要的一切
您可以利用Qt質(zhì)量保證工具執(zhí)行跨技術(shù)、跨設(shè)備的GUI測試,整個測試框架的代碼覆蓋率分析、靜態(tài)代碼分析,并檢查軟件架構(gòu)的合規(guī)性。您可單獨(dú)使用一種工具,或成對使用,或同時使用所有工具,以攔截軟件侵蝕。
質(zhì)量管理工具包的最新成員來自靜態(tài)代碼分析和軟件架構(gòu)驗證方面的技術(shù)領(lǐng)導(dǎo)者。
全面遵循 ISO 26262 / GBT 34590 的流程、方法和要求
多類型(供電、通訊、傳感器、邏輯等)故障注入,確保與開發(fā)對應(yīng)的各層級安全需求得到完整驗證
提供完整的測試活動及證據(jù),包含各階段完善的交付物,保障功能安全審核評估認(rèn)證
?? 軟件級功能安全測試
基于業(yè)界成熟軟件搭建適配的軟件單元/集成測試環(huán)境
綜合靜態(tài)代碼檢查與動態(tài)測試
德國AbsInt公司是專注于安全苛求軟件研發(fā)、確認(rèn)、驗證和認(rèn)證的工具鏈供應(yīng)商。能夠為客戶提供較完整的確保代碼安全的性能分析工具套件以及軟件分析、驗證、確認(rèn)和編譯器技術(shù)相關(guān)咨詢服務(wù)。AbsInt產(chǎn)品廣泛地應(yīng)用于工業(yè)、交通、汽車、通信和能源等行業(yè)的安全苛求軟件研發(fā)過程中。
產(chǎn)品介紹
AbsInt 代碼安全性能分析套件主要包括以下幾種產(chǎn)品:
aiT
相反通過分析某些特性,如復(fù)雜性、代碼靜態(tài)檢查等,可以估計軟件中錯誤數(shù)量的概率。然而,ISO 26262-6第7節(jié)也要求,對于某些類型的錯誤,在架構(gòu)級(車輛功能)層面,應(yīng)該進(jìn)行全面的分析。以下就是基于此發(fā)展的一種方法。
每天晚上觸發(fā)靜態(tài)代碼檢查、自動化回歸測試
5. 當(dāng)天持續(xù)集成、構(gòu)建環(huán)境中的問題,請當(dāng)天解決
五、用戶故事DoD
還有針對用戶故事(或者用例)的DoD,比如:
1. 用戶故事最終的描述符合INVEST
2. 用戶故事得到測試用例的對應(yīng)覆蓋
3. 用戶故事得到對應(yīng)的自動化測試用例
4.