1.一種基于makefile文件依賴關(guān)系的源碼分析方法,其特征在于,包括以下步驟:
1)依賴關(guān)系提取階段:
a信息轉(zhuǎn)換;
b冗余信息處理;
c依賴信息提??;
d結(jié)束;
2)源碼信息提取階段:
A解析源碼內(nèi)容;
b符號轉(zhuǎn)換;
c建立索引;
d結(jié)束;
3)對象定義查找階段:
a確認(rèn)查找的文件范圍;
b確認(rèn)文件內(nèi)查找結(jié)果;
c結(jié)束。
2.根據(jù)權(quán)利要求1所述的基于makefile文件依賴關(guān)系的源碼分析方法,其特征在于,其中步驟1)-a中所說的信息轉(zhuǎn)換是指用編譯器對makefile文件處理生成記錄有源碼文件依賴關(guān)系的中間文件,對該文件繼續(xù)進(jìn)行分析。
3.根據(jù)權(quán)利要求1所述的基于makefile文件依賴關(guān)系的源碼分析方法,其特征在于,其中步驟1)-b中冗余信息處理是指將中間文件中與依賴關(guān)系無關(guān)的數(shù)據(jù)進(jìn)行判斷并剔除,提高系統(tǒng)內(nèi)存利用率和執(zhí)行速度。
4.根據(jù)權(quán)利要求1所述的基于makefile文件依賴關(guān)系的源碼分析方法,其特征在于,其中步驟1)-c中依賴信息提取是將中間文件中的依賴信息判斷并提取生成可查詢的數(shù)據(jù)結(jié)構(gòu)。
5.根據(jù)權(quán)利要求1所述的基于makefile文件依賴關(guān)系的源碼分析方法,其特征在于,其中步驟2)-a中解析源碼內(nèi)容是指通過對源碼內(nèi)容做靜態(tài)分析得到對應(yīng)的語法樹結(jié)構(gòu),從語法樹結(jié)構(gòu)及其對應(yīng)的符號表中提取節(jié)點的符號、屬性、類型和位置等相關(guān)信息。
6.根據(jù)權(quán)利要求1所述的基于makefile文件依賴關(guān)系的源碼分析方法,其特征在于,其中步驟2)-b中符號轉(zhuǎn)換是指對提取出來的節(jié)點符號通過添加前綴和分隔符的方式進(jìn)行處理,排除不同作用域相同符號定義的混淆性。
7.根據(jù)權(quán)利要求1所述的基于makefile文件依賴關(guān)系的源碼分析方法,其特征在于,其中步驟2)-c中建立索引是指將提取的信息建立數(shù)據(jù)映射,用來保存數(shù)據(jù)并建立一一映射關(guān)系,將符號位置利用字符串哈希函數(shù)生成唯一的數(shù)字ID建立位置和符號內(nèi)容的映射,將符號內(nèi)容作為唯一ID生成與符號相關(guān)信息的數(shù)據(jù)映射。
8.根據(jù)權(quán)利要求1所述的基于makefile文件依賴關(guān)系的源碼分析方法,其特征在于,其中步驟3)-a中確認(rèn)查找的文件范圍是指根據(jù)查找文件信息從依賴關(guān)系結(jié)構(gòu)中獲取查找文件范圍。
9.根據(jù)權(quán)利要求1所述的基于makefile文件依賴關(guān)系的源碼分析方法,其特征在于,其中步驟3)-b中確認(rèn)定義位置是指在文件查找范圍內(nèi)對應(yīng)的文件數(shù)據(jù)索引中得到需要查找的符號信息。