国模大胆一区二区三区

<address id="jrzx9"><nobr id="jrzx9"></nobr></address>

    <sub id="jrzx9"><listing id="jrzx9"><mark id="jrzx9"></mark></listing></sub>

    <address id="jrzx9"><listing id="jrzx9"><mark id="jrzx9"></mark></listing></address>
        <sub id="jrzx9"></sub>
        <sub id="jrzx9"><listing id="jrzx9"><mark id="jrzx9"></mark></listing></sub><address id="jrzx9"><nobr id="jrzx9"></nobr></address>
        <address id="jrzx9"><var id="jrzx9"><ins id="jrzx9"></ins></var></address>
        <address id="jrzx9"><listing id="jrzx9"></listing></address><form id="jrzx9"><dfn id="jrzx9"></dfn></form>
        <span id="jrzx9"><dfn id="jrzx9"></dfn></span>
          <sub id="jrzx9"></sub>
        <address id="jrzx9"><dfn id="jrzx9"></dfn></address>

        <address id="jrzx9"></address>

        <address id="jrzx9"><dfn id="jrzx9"><ins id="jrzx9"></ins></dfn></address>
        <address id="jrzx9"><dfn id="jrzx9"></dfn></address>
        <address id="jrzx9"><dfn id="jrzx9"><ins id="jrzx9"></ins></dfn></address>

        <address id="jrzx9"><dfn id="jrzx9"></dfn></address>

        什么是代碼靜態分析?

        代碼靜態分析是指在不運行應用程序的情況下,對軟件的源代碼的語義、結構和行為進行分析,由此找出程序中的不規范、不合理的或者可能造成程序運行異常的代碼。最為人所熟知的代碼靜態分析手段就是“人工代碼走查”,隨著人工代碼審查的日益復雜化和工作量的增加,自動化的代碼靜態分析技術隨之得以迅速發展。時至今日,絕大部分的代碼靜態分析都已經可以由專業的代碼靜態分析工具所完成。

        那么代碼靜態分析到底可以為我們的軟件解決什么問題呢?

            ? 編碼規范檢查。最常用的代碼靜態分析手段?;诠咀远x的統一編碼規范,或者是特定行業通用的編碼規范,檢查軟件代碼中不合規的寫法,以保證代碼的統一風格,盡早預防可能造成軟件質量風險的各種不合理代碼的出現。編碼規則可以規范編碼格式、命名規范、內存和資源管理、宏定義、危險代碼等軟件代碼編寫的各個方面。

            ? 軟件質量缺陷檢測。更高級和深度的代碼靜態分析技術。檢測軟件代碼中隱藏的會導致運行時異?;虬踩缘拇a缺陷,如空指針、越界、除零、死鎖、安全漏洞等,實現快速查找并及時修復軟件錯誤。對比于編碼規范檢查,軟件質量缺陷檢測要求對代碼進行更深度的解析和掃描,以定位真正的代碼缺陷,除了找出問題點,往往還需要定位相關的代碼邏輯路徑。有別于編碼規范違規代碼,軟件缺陷檢查出的結果不只是可能造成代碼質量風險,而是它們本身就是質量問題,所以對于研發團隊來說,軟件缺陷檢查的結果可能在實施代碼靜態檢查工作之初會有更直接、立竿見影的效果。

            ? 代碼度量分析。針對軟件代碼的各項度量指標的代碼靜態分析。如復雜度、嵌套深度、分支結構等多種常見度量維度,以便準確了解和優化代碼結構。代碼度量檢查的思路與“二八原則”不謀而合,因為少數的最復雜的代碼中隱藏或導致了大部分的bug, 代碼度量正式為了規避或優化這些復雜代碼,而從整體結構上提高軟件的代碼質量和可維護性。

            ? 人工代碼評審。對代碼的算法、邏輯的實現合理與否的檢查,這部分由于其與業務需求的密切相關,目前更多還是通過人工代碼走讀來完成,這也是代碼靜態分析中最需要人工智慧的部分。

         為什么要做代碼靜態分析 

        簡言之,代碼靜態分析的目的就是為了更早、更徹底地檢測或預防代碼錯誤,減少后期測試的bug, 最終降低項目成本并提高軟件可靠性。

        正如下面廣為流傳的Capers Jones對軟件開發過程各個階段缺陷引入數量、錯誤所查找的數量和錯誤修復成本的分布圖所示,以往傳統的瀑布式開發流程,大部分的軟件缺陷都是在編碼階段被引入,而多數是在后期功能測試和系統測試階段才被發現,而越到項目后期修復每個所發現的缺陷的成本越高,導致整體項目的高成本,和測試周期的不可預測性。

        代碼靜態分析 p1小水印 .png

        代碼靜態分析要做的恰恰就是在軟件缺陷被引入最多的、修復最容易的階段 -- 也就是編碼之初,利用無論是人工還是自動化工具的方式發現并修復這些代碼錯誤。代碼靜態分析可以對軟件質量的諸多方面帶來好處,包括代碼的可靠性、可讀性、可維護性和可移植性。

        對于像國防軍工、航空航天、汽車電子、軌道交通、工業自動化和醫療器械等高安全和高可靠性行業來說,代碼靜態分析已經成為這些軟件研發流程中的強制要求環節,其出發點也是基于以上目的。

        難點和挑戰

        • 到底應該引入哪些編碼代碼規則難以抉擇,太多、太少都有問題。

        • 軟件缺陷檢測的誤報率太高,是否存在漏報?

        • 編碼規則重要還是缺陷檢測重要,如何取舍?

        • 如何保證代碼靜態分析的結果能被及時修復?

        • 歷史遺留代碼中的海量檢測結果如何處理?

        • 如何最大程度實現代碼靜態分析的自動化?

        • 開源工具和商業工具有什么區別?

        解決方案

        • Helix QAC提供業內最全、最準確的代碼合規性代碼靜態分析方案,內建MISRA C/C++, AutoSAR C++14, High Integrity C++, JSF等常用權威編碼規則集,并支持編碼規則的自定義

        • Klocwork提供側重于代碼質量的代碼靜態分析方法,憑借其領先的數據流分析技術,深度查找軟件代碼缺陷,快速支持百萬級行甚至千萬行以上大型軟件,精準定位缺陷發生點和相關觸發路徑,誤報率和漏報率低

        • 支持針對安全漏洞的靜態掃描,基于CERT C/C++, CWE, OWASP等常用安全開發規范對代碼的安全性進行檢測

        • 提供基于幾十種維度的代碼度量指標分析功能,提供各種度量統計圖表、結構圖和儀表板

        • Helix QAC和Klocwork都采用現代化的B/S + C/S部署方式,對代碼靜態分析結果進行直觀地展示、分配、協作和跟蹤,保證代碼靜態分析監測結果的及時修復和有效管理

        • 支持與持續集成系統的集成,無縫銜接到日常研發流程

        • 支持C/C++, Java, C#等多種開發語言,支持Windows和Linux等各種開發平臺

        • 完全符合ISO 26262, ASPICE, En 50128, IEC 61508, IEC 60880, IEC 62304, DO-178B/C等標準對工具鑒定和認證要求

        相關資源

        • 白皮書

        • 博客

        • 新聞資訊

        • 修復和預防Bug的成本量化對比_白皮書

          點擊下載

        • 通過靜態分析和持續集成保證代碼的質量_白皮書

          點擊下載

        • 實施代碼靜態分析的投資回報率_白皮書

          點擊下載

        • 如何開發高質量的軟件_白皮書

          點擊下載

        • 《MISRA-C合規檢驗工具對比研究》摘要_白皮書

          點擊下載

        RELATED RESOURCES

        下載申請

        是否需要技術支持

        驗證碼

        溫馨提示:

        我們將通過電子郵件向您發送下載地址,請核對您填寫的工作郵箱是否正確。

        提 交

        国模大胆一区二区三区 久久99精品久久久久久HB,99久久99久久久精品齐齐,精品久久久久久中文字幕女仆| 4399视频手机在线观看免费,男神插曲女生的完整视频4399,十分钟在线观看视频高清WWW| 久久无码精品一区二区三区,亚洲AV日韩精品久久久久久,亚洲熟妇无码一区二区三区