[發明專利]基于上下文的代碼分析有效
| 申請號: | 200680052035.3 | 申請日: | 2006-12-28 |
| 公開(公告)號: | CN101589380A | 公開(公告)日: | 2009-11-25 |
| 發明(設計)人: | G·J·凡;M·C·范寧;S·D·桑蒂斯 | 申請(專利權)人: | 微軟公司 |
| 主分類號: | G06F17/00 | 分類號: | G06F17/00 |
| 代理公司: | 上海專利商標事務所有限公司 | 代理人: | 陳 斌 |
| 地址: | 美國華*** | 國省代碼: | 美國;US |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 上下文 代碼 分析 | ||
1.一種用于在一個具有使用一組預定義規則檢查軟件的代碼分析工具的計算機系統中的、通過動態跟蹤分析上下文并且應用所述規則中對應于當前上下文條件的至少一部分來管理所述一組預定義規則以便平衡性能考量的方法,其中所述規則通常由通過配置設置控制的整體操作來執行,所述代碼在所述分析上下文下開發,所述方法包括:
接收要基于一組預定義規則對正確性、完整性或質量中的一或多項進行分析的目標代碼;
從一或多個開發設備接收代碼分析上下文信息用于動態跟蹤正為其開發所述目標代碼的當前代碼分析上下文;
接收對應于從所述一組預定義規則中選擇的規則的上下文參數,所述上下文參數按照所述代碼分析上下文信息為所述規則的至少一部分描述執行條件;以及
根據所述當前代碼分析上下文評估所述規則上下文參數,用于動態確定所述規則的所述至少一部分是否可以針對正在分析的所述目標代碼來執行,以便在所述開發過程中的適當階段處應用所述規則的所述至少一部分。
2.如權利要求1所述的方法,其特征在于,所述當前代碼分析上下文是按照所述目標代碼開發階段、所述目標代碼類型或狀態、操縱所述目標代碼的源、所述目標代碼的用途或者一或多個開發或運行時要求中的一或多項來定義的。
3.如權利要求2所述的方法,其特征在于,所述目標代碼開發階段包括設計、構建或部署中的一或多級,以及其中所述代碼類型或狀態包括源代碼、目標代碼、二進制代碼或抽象代碼狀態中的一或多項。
4.如權利要求3所述的方法,其特征在于,所述抽象代碼狀態是對不提供其完整描述的目標代碼的設計時分析。
5.如權利要求3所述的方法,其特征在于,所述構建階段包括針對還未編譯至盤的所述目標代碼進行的后臺分析,并且包括編輯階段、用于增量構建的編譯階段或者開工之前階段中的一或多項。
6.如權利要求3所述的方法,其特征在于,所述構建階段包括由于按照分?析持續時間、要求的輸入、要求的輸出、假陽性的高發生率、調度考量的一或多項執行所述規則的所述至少一部分所需的花費,或者因為執行最易于作為隨其它規則的批處理的一部分來完成而要求特定用戶輸入以執行所述規則的所述至少一部分的里程碑階段。
7.如權利要求1所述的方法,其特征在于,用于所述上下文參數的所述執行條件是由元數據定義的,以及其中所述元數據還按照完成分析的運行時持續時間、需要輸入的信息或者得到的輸出中的一或多項來定義所述規則的行為。
8.如權利要求1所述的方法,其特征在于,所述上下文參數定義所支持的代碼分析上下文的執行條件,它們按照優選的、可任選的或被要求的中的一或多項來確定優先級。
9.如權利要求8所述的方法,其特征在于,評估允許通過進一步評估所述一或多個開發設備中的配置設置、關聯于所述代碼分析工具的控制文件中的一或多項或者允許所述上下文參數可被配置來覆蓋所述執行條件。
10.如權利要求1所述的方法,其特征在于,所述規則上下文參數是可配置的以允許擴展現有的上下文條件。
11.如權利要求1所述的方法,其特征在于,所述根據當前代碼分析對規則上下文參數的評估考慮所述代碼分析上下文之間的分層關系、所述一組預定義規則或者兩者。
12.一種使用一組預定義的規則檢查軟件的代碼分析工具,所述規則通常由通過配置設置控制的整體操作來執行,所述代碼分析工具被配置為通過動態跟蹤分析上下文并且應用所述規則中對應于當前上下文條件的至少一部分來管理所述一組預定義的規則的執行以便平衡性能考量,其中所述代碼在所述分析上下文下開發,所述代碼分析工具包括:
動態上下文跟蹤模塊,用于從一或多個開發設備接收用于確定正為其開發目標代碼的當前代碼分析上下文的代碼分析上下文信息;規則管理模塊,用于按照所述代碼分析上下文信息評估所述當前代碼分析上下文和指示規則的至少一部分的執行條件的上下文參數,其中基于所述評估,所述規則管理模塊動態確定所述規則的至少一部分可以針對要對正確性、完整性或質量中的一或多項進行分析的目標代碼執行;以及?
執行模塊,用于針對正在分析的所述目標代碼執行所述規則的所述至少一部分,使得所述規則的所述至少一部分在所述開發過程中的適當階段處得到應用。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于微軟公司,未經微軟公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200680052035.3/1.html,轉載請聲明來源鉆瓜專利網。





