[發明專利]代碼克隆通知以及體系結構改變可視化無效
| 申請號: | 201110427723.6 | 申請日: | 2011-12-19 |
| 公開(公告)號: | CN102681835A | 公開(公告)日: | 2012-09-19 |
| 發明(設計)人: | 黨映農;S·卡恩;D·張;劉未鵬;戈頌;成功 | 申請(專利權)人: | 微軟公司 |
| 主分類號: | G06F9/44 | 分類號: | G06F9/44 |
| 代理公司: | 上海專利商標事務所有限公司 31100 | 代理人: | 潘明婳 |
| 地址: | 美國華*** | 國省代碼: | 美國;US |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 代碼 克隆 通知 以及 體系結構 改變 可視化 | ||
1.一種計算機實現的用于向軟件開發者通知存在與所述開發者正在修改的軟件代碼相關的軟件代碼的方法,所述方法包括:
解析(210)軟件代碼庫來標識與所述軟件代碼相關的信息;
對所解析的軟件代碼庫進行索引(220)以提供軟件代碼的匹配部分的快速標識;
檢測(230)編輯軟件代碼的開發者提供的軟件代碼改變;
標識(240)與所述開發者提供的代碼改變相關的任何代碼克隆;
在檢測到(250)標識了克隆時,向所述軟件開發者通知(260)存在至少一個克隆,使得所述開發者能夠確定是否要對所標識的克隆應用所檢測到的改變,
其中,前面的各步驟由至少一個處理器來執行。
2.如權利要求1所述的方法,其特征在于,解析所述軟件代碼庫包括標識以下各項中的至少一個:語言特征、代碼塊、變量信息、類和其它數據結構信息、以及函數信息。
3.如權利要求1所述的方法,其特征在于,解析所述軟件代碼庫包括:解析所述開發者當前正在從事的源代碼以與所述索引中之前解析的軟件代碼進行比較。
4.如權利要求1所述的方法,其特征在于,對所述軟件代碼進行索引包括:對來自所述開發者的計算設備的軟件代碼以及至少一個其它代碼庫的軟件代碼進行索引。
5.如權利要求1所述的方法,其特征在于,索引所述軟件代碼包括提供基于所述索引的查詢和搜索功能以標識與所述開發者正在從事的軟件的當前范圍相關的代碼克隆。
6.如權利要求1所述的方法,其特征在于,對所述軟件代碼進行索引包括:在開發者向代碼管理系統登記軟件代碼時或在其它重要里程碑處更新所述索引。
7.如權利要求1所述的方法,其特征在于,對所述軟件代碼的解析和索引在正在進行的基礎上、在連續標識并索引軟件代碼改變的代碼庫索引服務器上進行。
8.如權利要求1所述的方法,其特征在于,檢測所述軟件代碼改變包括:檢測所述開發者為修補軟件代碼中所標識的缺陷進行的鍵入,并在用戶鍵入時,在針對所述索引的查詢中提交改變,以標識與所述開發者正在從事的代碼相關的代碼克隆。
9.如權利要求1所述的方法,其特征在于,檢測所述軟件代碼改變包括:檢測所述開發者選擇了特定代碼塊并選擇了標識與所選代碼塊相關的代碼克隆的選項。
10.如權利要求1所述的方法,其特征在于,標識代碼克隆包括:向所述索引查詢,并提供所述代碼改變周圍的代碼部分以標識相關代碼。
11.如權利要求1所述的方法,其特征在于,標識代碼克隆包括:標識與所述開發者正在從事的代碼庫相同或不同的代碼庫中的克隆。
12.如權利要求1所述的方法,其特征在于,向開發者通知包括:提供標識集成開發環境(IDE)內的克隆的用戶界面消息。
13.如權利要求1所述的方法,其特征在于,通知所述開發者包括:向與所標識的代碼克隆相關聯的另一開發者提供附加通知。
14.一種用代碼克隆標識和體系結構改變可視化擴充軟件代碼評審的計算機系統,所述系統包括:
被配置成執行包含在以下組件內的軟件指令的處理器和存儲器;
解析組件(110),解析用編程語言編寫的軟件代碼以標識與所述軟件代碼相關的信息以便索引;
索引組件(120),對解析期間標識的軟件代碼信息進行索引以提供對代碼信息的快速查找和匹配;
改變檢測組件(130),檢測開發者對所標識的軟件代碼范圍作出的當前改變;
代碼克隆檢測組件(140),標識與所檢測到的所述軟件開發者作出的改變的標識范圍相關的一個或多個代碼克隆;
差異可視化組件(150),創建源代碼的體系結構模型,并將所述體系結構模型與其它體系結構模型進行比較以標識體系結構差異;以及
用戶界面組件(160),向開發者可視地提供所標識的代碼克隆以及所標識的體系結構差異。
15.如權利要求14所述的系統,其特征在于,所述改變檢測組件與所述開發者用來編輯軟件代碼的集成開發環境(IDE)相關聯,其中所述改變檢測組件監視鍵入和其它開發者輸入以檢測開發者正在對軟件代碼作出改變,并將一個或多個代碼范圍提交給所述代碼克隆檢測組件以便與已知代碼克隆的索引進行比較。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于微軟公司,未經微軟公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110427723.6/1.html,轉載請聲明來源鉆瓜專利網。





