[發(fā)明專利]軟件開發(fā)工具無效
| 申請?zhí)枺?/td> | 201110118036.6 | 申請日: | 2011-04-29 |
| 公開(公告)號: | CN102236551A | 公開(公告)日: | 2011-11-09 |
| 發(fā)明(設(shè)計)人: | D·J·帕克;H·常;T·揚 | 申請(專利權(quán))人: | 微軟公司 |
| 主分類號: | G06F9/44 | 分類號: | G06F9/44 |
| 代理公司: | 上海專利商標(biāo)事務(wù)所有限公司 31100 | 代理人: | 陳斌 |
| 地址: | 美國華*** | 國省代碼: | 美國;US |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 軟件 開發(fā) 工具 | ||
1.一種用于生成和目標(biāo)程序源代碼(102)中的目標(biāo)程序變量相對應(yīng)的完成列表(116)的基于計算機的方法(800),包括:
a)執(zhí)行(806)控制流分析來定位一個或多個源代碼指令,每個源代碼指令表示對象到目標(biāo)程序變量的運行時賦值;
b)分析所述一個或多個源代碼指令中的每一個以確定(808)對應(yīng)于所述目標(biāo)程序變量的至少一個候選類型;
c)對于每個候選類型,確定(810)與該類型相關(guān)聯(lián)的一組類成員;以及
d)聚集(813)一組或多組類成員。
2.如權(quán)利要求1所述的基于計算機的方法,其特征在于,所述一個或多個源代碼指令包括表示表達(dá)式到所述目標(biāo)變量的運行時賦值的至少一個指令,確定至少一個候選類型包括分析所述表達(dá)式以確定對應(yīng)于所述表達(dá)式的至少一個類型。
3.如權(quán)利要求1所述的基于計算機的方法,其特征在于,所述一個或多個源代碼指令包括表示對目標(biāo)變量的使用的至少一個指令,確定至少一個候選類型包括分析所述對目標(biāo)變量的使用以確定至少一個對應(yīng)的類型。
4.如權(quán)利要求1所述的基于計算機的方法,其特征在于,所述目標(biāo)變量是程序功能的程序功能參數(shù),所述一個或多個源代碼指令包括對所述程序功能的調(diào)用,所述調(diào)用包括對應(yīng)于所述程序功能參數(shù)的自變量,確定至少一個候選類型基于所述自變量的對象類型。
5.如權(quán)利要求1所述的基于計算機的方法,其特征在于,所述一個或多個源代碼指令包括至少兩個源代碼指令,每個源代碼指令表示對象到所述目標(biāo)程序變量的相應(yīng)的運行時賦值,每個對象具有與另一個對象不同的對應(yīng)的對象類型,所述至少一個候選類型包括至少兩個候選類型,聚集一組或多組類成員包括聚集對應(yīng)于每個候選類型的至少一個類成員。
6.如權(quán)利要求1所述的基于計算機的方法,其特征在于,還包括從系統(tǒng)匯編件檢索至少一個匯編件候選類型和對應(yīng)的一組匯編件類成員,以及將所述一組匯編件類成員與聚集的一組類成員包含在一起。
7.如權(quán)利要求1所述的基于計算機的方法,其特征在于,還包括,在編輯會話中:
a)確定目標(biāo)程序源代碼是否包括在運行時期間加載匯編件的指令;
b)加載該匯編件;
c)從該匯編件創(chuàng)建類的實例;
d)采用反射以從該匯編件檢索該類的成員;以及
e)將檢索到的成員與聚集的一組類成員包含在一起。
8.如權(quán)利要求1所述的基于計算機的方法,其特征在于,所述源代碼包括將所述目標(biāo)變量聲明為dynamic類型。
9.如權(quán)利要求1所述的基于計算機的方法,其特征在于,還包括:
a)分析來自包括第一程序流和第二程序流的兩個備選程序流中的每一個備選程序流的程序指令;以及
b)從所述兩個備選程序流中的每一個確定一組候選類型,來自第一程序流的一組候選類型包括不在來自第二程序流的一組候選類型中的至少一個候選類型。
10.一種用于生成和目標(biāo)程序源代碼(102)中的目標(biāo)程序變量相對應(yīng)的完成列表(116)的基于計算機的系統(tǒng)(100),包括:
a)分析器(115),被配置成執(zhí)行對目標(biāo)程序源代碼的語法分析;
b)類型確定裝置(114),用于采用所述分析器來執(zhí)行(806)對目標(biāo)程序源代碼的控制流分析,以及確定程序?qū)ο蟮侥繕?biāo)程序變量的至少一個運行時賦值,以及對于程序?qū)ο蟮拿總€賦值,確定(808)至少一個對應(yīng)的候選類型;
c)成員確定裝置(114),用于對每個候選類型,確定(810)一個或多個成員的對應(yīng)列表;以及
d)可執(zhí)行程序代碼(114),被配置成將每個成員列表插入(813)完成列表中。
11.如權(quán)利要求10所述的基于計算機的系統(tǒng),其特征在于,所述類型確定裝置包括被配置成通過遞歸地確定賦給所述目標(biāo)程序變量的表達(dá)式的類型,來遞歸地確定所述至少一個對應(yīng)的候選類型。
12.如權(quán)利要求10所述的基于計算機的系統(tǒng),其特征在于,所述類型確定裝置包括用于基于表達(dá)式中對程序變量的使用來確定目標(biāo)程序變量的一個或多個候選類型的裝置。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于微軟公司,未經(jīng)微軟公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110118036.6/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:抗菌地毯
- 下一篇:一種寬度可調(diào)的便攜式衣架
- 一種基于應(yīng)用軟件散布的軟件授權(quán)與保護(hù)方法及系統(tǒng)
- 一種用于航空機載設(shè)備的軟件在線加載系統(tǒng)及方法
- 軟件構(gòu)建方法、軟件構(gòu)建裝置和軟件構(gòu)建系統(tǒng)
- 惡意軟件檢測方法及裝置
- 一種基于軟件基因的軟件同源性分析方法和裝置
- 軟件引入系統(tǒng)、軟件引入方法及存儲介質(zhì)
- 軟件驗證裝置、軟件驗證方法以及軟件驗證程序
- 使用靜態(tài)和動態(tài)惡意軟件分析來擴(kuò)展惡意軟件的動態(tài)檢測
- 一種工業(yè)控制軟件構(gòu)建方法和軟件構(gòu)建系統(tǒng)
- 可替換游戲軟件與測驗軟件的裝置與方法
- 商品開發(fā)方法、商品開發(fā)系統(tǒng)、商品開發(fā)程序以及存儲商品開發(fā)程序的存儲介質(zhì)
- 開發(fā)支援裝置和開發(fā)支援程序
- 用于web開發(fā)系統(tǒng)的開發(fā)方法和web開發(fā)系統(tǒng)
- 控制裝置、開發(fā)裝置、以及開發(fā)程序
- 系統(tǒng)開發(fā)裝置、程序開發(fā)方法及開發(fā)程序
- 軟件開發(fā)平臺及其開發(fā)方法
- 菜譜開發(fā)方法和菜譜開發(fā)系統(tǒng)
- EasyApp移動開發(fā)平臺和開發(fā)方法
- 開發(fā)支援裝置、開發(fā)支援方法以及存儲介質(zhì)
- 開發(fā)輔助裝置、開發(fā)輔助系統(tǒng)和開發(fā)輔助方法





