亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種快速診斷系統(tǒng)軟件缺陷的系統(tǒng)及方法

文檔序號:6612894閱讀:188來源:國知局

專利名稱::一種快速診斷系統(tǒng)軟件缺陷的系統(tǒng)及方法
技術(shù)領(lǐng)域
:本發(fā)明涉及一種診斷系統(tǒng)軟件缺陷的系統(tǒng)及方法[特別是涉及一種對導(dǎo)致系統(tǒng)錯誤的系統(tǒng)程序缺陷進行快速定位并向用戶回饋的系統(tǒng)及方法。
背景技術(shù)
:目前,一個OS(OperatingSystem,操作系統(tǒng))中可能會出現(xiàn)各種的問題,比如硬件損壞、配置錯誤、軟件缺陷(bug)等,在面對各種使用者的需求時,軟件設(shè)計者必須要先了解清楚使用者的需要,然后進行軟件需求的規(guī)劃,其次定義軟件的系統(tǒng)模式,再以樹形圖將每一項功能模式的關(guān)系表達清楚,以確定不同功能模式間的影響程度、數(shù)據(jù)來源與安全性等,接著軟件設(shè)計者便開始構(gòu)建各功能模式的主題架構(gòu),然后針對每一功能模式作細部規(guī)劃,規(guī)劃完成后,則開始進行實際的程序代碼編寫,此時必需依據(jù)主題架構(gòu)與細部設(shè)計所構(gòu)建的各功能模式來編寫程序代碼,以求軟件的功能達到使用者的要求,當軟件的程序代碼編寫完成以后,必須進行軟件缺陷的診斷,其次是診斷程序執(zhí)行的結(jié)果是否符合原先設(shè)計的要求,此時,軟件設(shè)計者必需判斷每一項單獨功能模式的輸入與輸出的數(shù)據(jù)是否符合原來的要求,除此之外,系統(tǒng)的整體表現(xiàn)也要加以診斷,即使功能合乎需求,若執(zhí)行速度非常慢,則此軟件也無法滿足使用者的需求。在軟件程序的編碼及缺陷診斷的過程中,最繁瑣的步驟即為除錯步驟,軟件設(shè)計者必須了解軟件中的每一項缺陷,并以最簡捷的步驟快速診斷出軟件的缺陷,所以軟件設(shè)計者通常要依據(jù)本身的經(jīng)驗,針對經(jīng)常遇到的缺陷進行軟件程序的診斷,若是,無法全面地診斷出軟件的所有缺陷,結(jié)果往往會導(dǎo)致當軟件設(shè)計者將軟件送交給軟件使用者使用時,在使用者對軟件進行測試的過程中,經(jīng)常會發(fā)現(xiàn)很多之前沒有診斷到的軟件缺陷。另外,如果軟件設(shè)計者針對軟件的每一項功能逐一進行診斷,又會浪費許多時間,而且,若只是針對每一項功能進行診斷,將無法對軟件的整體功能作出較為完整的診斷,有些情況下,有經(jīng)驗的軟件測試者可以很快定位問題或缺陷的癥結(jié)所在,但是有些情況下,即使是有經(jīng)驗的軟件測試者也需要幾個小時甚至數(shù)天時間才能準確定位軟件中的問題或缺陷所在,這樣,無疑會延長診斷軟件故障或缺陷的時間,增加了軟件維護、更新的成本。
發(fā)明內(nèi)容本發(fā)明的目的在于提供一種快速診斷系統(tǒng)軟件缺陷的系統(tǒng)及方法,用以對導(dǎo)致系統(tǒng)錯誤(error)的系統(tǒng)程序缺陷(fault)進行快速定位并向用戶回饋,解決上述公知技術(shù)中的問題。本發(fā)明所提供的一種快速診斷系統(tǒng)軟件缺陷的系統(tǒng)的較佳方案之一,包含一個操作系統(tǒng)單元、數(shù)個功能模塊、一個硬件單元、一個缺陷監(jiān)控模塊、一個缺陷分析模塊及一個最小缺陷集合記錄回饋模塊,其中操作系統(tǒng)單元,用以在系統(tǒng)中寫入系統(tǒng)缺陷分析準則的程序,并在系統(tǒng)的程序模塊中依照對缺陷分析結(jié)果的精細度需求加入數(shù)個缺陷插入點;上述各功能模塊,用以將系統(tǒng)程序運行過程中在上述各功能模塊的缺陷插入點處產(chǎn)生的缺陷管理信息傳輸至上述缺陷監(jiān)控模塊;硬件單元,通過上述操作系統(tǒng)單元傳輸系統(tǒng)程序運行過程中硬件程序模塊的缺陷插入點產(chǎn)生的缺陷管理信息至上述缺陷監(jiān)控模塊;缺陷監(jiān)控模塊,用以接收操作系統(tǒng)單元及上述各功能模塊所傳輸?shù)娜毕莨芾硇畔ⅲ冶O(jiān)控此缺陷管理信息,并收集相關(guān)的系統(tǒng)缺陷數(shù)據(jù)傳輸給缺陷分析模塊;缺陷分析模塊,通過系統(tǒng)缺陷分析準則的程序?qū)崟r分析所收集到的系統(tǒng)缺陷數(shù)據(jù),借以獲得造成系統(tǒng)錯誤的最小缺陷集合;以及最小缺陷集合記錄回饋模塊,用以將上述最小缺陷集合實時記錄到系統(tǒng)日志中,并回報給用戶。其中上述缺陷分析模塊通過系統(tǒng)缺陷分析準則的程序?qū)ο到y(tǒng)中運行著的多個程序任務(wù)進行分組,并將從上述各缺陷插入點收集的缺陷數(shù)據(jù)依照上述程序任務(wù)的分組進行分類匯總,且依照系統(tǒng)缺陷分析準則得到單個任務(wù)的最小缺陷集合,然后依據(jù)系統(tǒng)中各程序任務(wù)的調(diào)用關(guān)系拓撲結(jié)構(gòu)以及對各單個任務(wù)的最小缺陷集合的分析結(jié)果,再次依照系統(tǒng)缺陷分析準則過濾并選擇得出當前系統(tǒng)缺陷的最小缺陷集合。其中上述系統(tǒng)缺陷分析準則為顯示所有相關(guān)缺陷、顯示所有根源缺陷及顯示首個關(guān)鍵缺陷。此外,當其中的單個程序任務(wù)中出現(xiàn)多個缺陷時,則初始出現(xiàn)的缺陷為此單個程序任務(wù)的關(guān)鍵缺陷。本發(fā)明所提供的一種快速診斷系統(tǒng)軟件缺陷的方法,包含以下步驟預(yù)先設(shè)定并在系統(tǒng)中寫入系統(tǒng)缺陷分析準則的程序;在系統(tǒng)的程序模塊中依照對缺陷分析結(jié)果的精細度需求加入數(shù)個缺陷插入點;系統(tǒng)程序運行過程中在上述各缺陷插入點處產(chǎn)生缺陷管理信息;對此缺陷管理信息進行監(jiān)控,并收集相關(guān)的系統(tǒng)缺陷數(shù)據(jù);通過上述系統(tǒng)缺陷分析準則的程序?qū)崟r分析所收集到的系統(tǒng)缺陷數(shù)據(jù),借以獲得造成系統(tǒng)錯誤的最小缺陷集合;以及將此最小缺陷集合實時記錄到系統(tǒng)日志中,并回報給用戶。上述本發(fā)明所提供的一種快速診斷系統(tǒng)軟件缺陷的方法,進一步包含以下步驟對上述系統(tǒng)中運行著的多個程序任務(wù)進行分組;將從上述各缺陷插入點收集的缺陷數(shù)據(jù)依照上述程序任務(wù)的分組進行分類匯總,并依照系統(tǒng)缺陷分析準則得到單個任務(wù)的最小缺陷集合;以及依據(jù)系統(tǒng)中各程序任務(wù)的調(diào)用關(guān)系拓撲結(jié)構(gòu)以及對各單個任務(wù)的最小缺陷集合的分析結(jié)果,再次依照系統(tǒng)缺陷分析準則過濾并選擇得出當前系統(tǒng)缺陷的最小缺陷集合。此外,上述系統(tǒng)缺陷分析準則為顯示所有相關(guān)缺陷、顯示所有根源缺陷及顯示首個關(guān)鍵缺陷。另外,當其中的單個程序任務(wù)中出現(xiàn)多個缺陷時,則初始出現(xiàn)的缺陷為此單個程序任務(wù)的關(guān)鍵缺陷。綜上所述,本發(fā)明的優(yōu)點在于本發(fā)明所提供的一種快速診斷系統(tǒng)軟件缺陷的系統(tǒng)及方法,用以對導(dǎo)致系統(tǒng)錯誤的系統(tǒng)程序缺陷進行快速定位并向用戶回饋,其通過預(yù)先寫入系統(tǒng)的系統(tǒng)缺陷分析準則的程序以及在系統(tǒng)的程序模塊中依照對缺陷分析結(jié)果的精細度需求所加入的多個缺陷插入點,借以在系統(tǒng)程序運行過程中收集各缺陷插入點處產(chǎn)生的缺陷管理信息及相關(guān)的系統(tǒng)缺陷數(shù)據(jù),并依據(jù)系統(tǒng)缺陷分析準則得到造成系統(tǒng)錯誤的最小缺陷集合,因而,實現(xiàn)了輔助系統(tǒng)軟件測試人員及軟件用戶快速定位導(dǎo)致系統(tǒng)錯誤或故障的軟件程序缺陷的根源所在,進而大大提高了公知技術(shù)中診斷系統(tǒng)軟件缺陷的效率,有助于簡化公知技術(shù)中定位系統(tǒng)故障的難度,減少系統(tǒng)錯誤定位所消耗的時間。下面結(jié)合附圖和具體實施例對本發(fā)明進行詳細描述,但不作為對本發(fā)明的限定。圖1為本發(fā)明的一種快速診斷系統(tǒng)軟件缺陷的系統(tǒng)的系統(tǒng)方塊圖;圖2為本發(fā)明中多個程序任務(wù)的拓撲結(jié)構(gòu)關(guān)系圖;圖3為本發(fā)明的一種快速診斷系統(tǒng)軟件缺陷的方法的方法流程圖;以及圖4為圖3所示的方法中一個步驟的步驟分解流程圖。其中,附圖標記10硬件單元20操作系統(tǒng)單元30功能模塊40缺陷插入點50缺陷監(jiān)控模塊60缺陷分析模塊70最小缺陷集合記錄回饋模塊80操作系統(tǒng)歩驟200依據(jù)用戶需求,預(yù)先設(shè)定并在系統(tǒng)中寫入系統(tǒng)缺陷分析準則的程序步驟201在系統(tǒng)的程序模塊中依照用戶對缺陷分析結(jié)果的精細度需求加入數(shù)個缺陷插入點步驟202系統(tǒng)程序運行過程中在各缺陷插入點處產(chǎn)生缺陷管理信息步驟203監(jiān)控此缺陷管理信息,并收集相關(guān)的系統(tǒng)缺陷數(shù)據(jù)步驟204通過系統(tǒng)缺陷分析準則的程序?qū)崟r分析所收集到的系統(tǒng)缺陷數(shù)據(jù),借以獲得造成系統(tǒng)錯誤的最小缺陷集合步驟205將此最小缺陷集合實時記錄到系統(tǒng)日志中,并回報給用戶步驟2041對系統(tǒng)中運行著的多個程序任務(wù)進行分組步驟2042將從各缺陷插入點收集的缺陷數(shù)據(jù)依照程序任務(wù)的分組進行分類匯總,并依照系統(tǒng)缺陷分析準則得到單個任務(wù)的最小缺陷集合步驟2043依據(jù)系統(tǒng)中各程序任務(wù)的調(diào)用關(guān)系拓撲結(jié)構(gòu)以及對各單個任務(wù)的最小缺陷集合的分析結(jié)果,再次依照系統(tǒng)缺陷分析準則過濾并選擇得出當前系統(tǒng)缺陷的最小缺陷集合實施方式以下,將結(jié)合圖式部分對本發(fā)明的較佳實施方式作詳細說明。請參考圖1,圖中表示了本發(fā)明的一種快速診斷系統(tǒng)軟件缺陷的系統(tǒng)的系統(tǒng)方塊圖,用以對導(dǎo)致系統(tǒng)錯誤的系統(tǒng)程序缺陷進行快速定位并向用戶回饋,此系統(tǒng)包含操作系統(tǒng)單元20、數(shù)個功能模塊30、硬件單元IO、缺陷監(jiān)控模塊50、缺陷分析模塊60及最小缺陷集合記錄回饋模塊70,其中操作系統(tǒng)單元20,用以在系統(tǒng)中寫入系統(tǒng)缺陷分析準則的程序,并在系統(tǒng)的程序模塊中依照用戶對缺陷分析結(jié)果的精細度需求加入多個缺陷插入點40;上述各功能模塊30,可以將系統(tǒng)程序運行過程中在各功能模塊30的缺陷插入點40處產(chǎn)生的缺陷管理信息傳輸至缺陷監(jiān)控模塊50;硬件單元10可借助例如中斷(interrupt)方式通過操作系統(tǒng)單元20將系統(tǒng)程序運行過程中硬件程序模塊的缺陷插入點40處產(chǎn)生的缺陷管理信息傳輸至缺陷監(jiān)控模塊50;缺陷監(jiān)控模塊50,用以接收操作系統(tǒng)單元20及各功能模塊30所傳輸?shù)娜毕莨芾硇畔?,且監(jiān)控此缺陷管理信息,并收集相關(guān)的系統(tǒng)缺陷數(shù)據(jù)傳輸給缺陷分析模塊60;缺陷分析模塊60,通過系統(tǒng)缺陷分析準則的程序?qū)崟r分析所收集到的系統(tǒng)缺陷數(shù)據(jù),借以獲得造成系統(tǒng)錯誤的最小缺陷集合;以及最小缺陷集合記錄回饋模塊70,用以將上述最小缺陷集合實時記錄到系統(tǒng)日志中,并回報給用戶。其中上述缺陷分析模塊60通過系統(tǒng)缺陷分析準則的程序?qū)ο到y(tǒng)中運行著的多個程序任務(wù)進行分組,并將從上述各缺陷插入點40收集的缺陷數(shù)據(jù)依照上述程序任務(wù)的分組進行分類匯總,且依照系統(tǒng)缺陷分析準則得到單個任務(wù)的最小缺陷集合,其中獲得單個任務(wù)的最小缺陷集合的過程舉例如下假設(shè)某個程序任務(wù)OAM—xxxl,其內(nèi)部需要調(diào)用三個歩驟,如果這三個步驟要求逐步成功執(zhí)行,對此任務(wù)我們可以得到如下表格中所示的缺陷信息匯總-〉Job:OAMxxxl,Start,PID:26,JoblD:0012-3242-234234-234234,AllStep:3->Job:OAM—xxxl,process,Step:l,begin,JobID:0012-3242-234234-234234->Module:HDD—module,PID:26,File:hdd—write.c,Func:hdd—write—ablock,Line:596,Error國..message:writehdd2error!-〉Job:OAM—xxxl,process,Step:l,end,JobID:0012-3242-234234-234234->Job:OAM—xxxl,process,Step:2,begin,JobID:OO12-3242-234234-234234》Module丄VM一module,PID:26,File:lvm一create.c,F(xiàn)unc:lvm—create—inner,Line:596,Error—message:lvm4createerror!-〉Job:OAMxxxl,process,Step:2,end,JobID:OO12-3242-234234-234234->Job:OAM—xxxl,process,Step:3,begin,JobID:0012-3242-234234-234234->Module:RAID—module,PID:26,F(xiàn)ile:raid一write.c,F(xiàn)unc:raid—write—a—block,Line:596,Error—message:RAIDwrite—a—blockcometoanerror!->Module:RAID—module,PID:26,F(xiàn)ile:raid—write.c,F(xiàn)unc:raid—write—a—block,Line:666,Error—message:RAIDwrite—a一blockfreememoryerror!->Module:RAID—module,PID:26,File:raid—write.c,Func:hdd—write,Line:256,Error一message:Raidwriteerror!->Job:OAM—xxxl,process,Step:3,end,JobID:0012-3242-234234-234234->Job:OAM—xxxl,Stop,PID:26,JobID:0012-3242-234234-234234那么我們依據(jù)系統(tǒng)缺陷分析準則通過分析上面表格中所示的缺陷信息匯總就可以得到這個任務(wù)的最小缺陷集合如下-〉Module:HDD—module,PID:26,F(xiàn)ile:hdd—write,c,F獄hdd—write—a—block,Line:596,Error—message:writehdd2error!當然單個任務(wù)的最小缺陷集合的具體表現(xiàn)形式并不一定要與上面所述的一致,采用上述形式只是從功能上來說較為簡單的說明而己,當然,有可能用戶希望得到這個任務(wù)中的所有缺陷或錯誤信息,對于這種情況,則可以依據(jù)用戶需要通過預(yù)先配置系統(tǒng)缺陷分析準則得以實現(xiàn)。接下來,對于多個程序任務(wù)的系統(tǒng)缺陷的最小缺陷集合是以上述單個任務(wù)的最小缺陷集合作為基礎(chǔ)生成的,同時還要依據(jù)系統(tǒng)中多個程序任務(wù)的調(diào)用關(guān)系拓撲結(jié)構(gòu),才能使得當前系統(tǒng)的最小缺陷集合的生成成為可能。如圖2所示,為本發(fā)明中多個程序任務(wù)的拓撲結(jié)構(gòu)關(guān)系圖,其中缺陷分析模塊60通過系統(tǒng)缺陷分析準則的程序先對操作系統(tǒng)80中運行著的多個程序任務(wù)進行分組,可先將操作系統(tǒng)80分為多個程序任務(wù),例如任務(wù)l、任務(wù)2及任務(wù)3,然后再對單個任務(wù)任務(wù)l、任務(wù)2及任務(wù)3依次進行分組,將任務(wù)1分為任務(wù)4與任務(wù)5,任務(wù)2分為任務(wù)6與任務(wù)7,任務(wù)3分為任務(wù)8,最后任務(wù)4又可分為任務(wù)9,由此便形成了多個程序任務(wù)的拓撲結(jié)構(gòu)關(guān)系圖。然后,依據(jù)此系統(tǒng)中各程序任務(wù)的調(diào)用關(guān)系拓撲結(jié)構(gòu)以及對各單個任務(wù)的最小缺陷集合的分析結(jié)果,再次依照系統(tǒng)缺陷分析準則過濾選擇出根本缺陷,便可較為正確地得出當前系統(tǒng)缺陷的最小缺陷集合。此外,還需特別說明的是,多個程序任務(wù)的最小缺陷集合的生成需要建立在對基礎(chǔ)源代碼進行掃描的基礎(chǔ)之上才能得以實現(xiàn)?,F(xiàn)將舉例加以說明,假設(shè)圖2中所示的任務(wù)1、4、5、9可能具有以下的執(zhí)行邏輯結(jié)構(gòu)<formula>formulaseeoriginaldocumentpage10</formula>對于因出現(xiàn)不同的缺陷而存在多種篩選缺陷的可能的情況,原則上來說,在定制系統(tǒng)缺陷分析準則時,針對單一程序任務(wù)中出現(xiàn)多個缺陷的情況,則初始出現(xiàn)的缺陷應(yīng)當定義為此程序任務(wù)的關(guān)鍵缺陷。舉例如下對于上面列出的任務(wù)l、4、5、9中出現(xiàn)的缺陷,如果同時出現(xiàn)如下缺陷Fault—occurred—l—in—task—9Fault—occurred—2—in—task—4Fau11—occurred—2—in—task—5我們可以確定關(guān)鍵缺陷應(yīng)為Fault—occurred—1—in—task—9,則可以得出任務(wù)l、4、5、9的最小缺陷集合為此關(guān)鍵缺陷。對于某些情況下,用戶有可能希望將上述所舉三個缺陷的總和作為最小缺陷集合,對于此種情形,則可以依據(jù)用戶需要通過預(yù)先配置系統(tǒng)缺陷分析準則得以實現(xiàn)。此外,我們還可以利用如下所述的編碼原則來判斷和得出導(dǎo)致系統(tǒng)錯誤的系統(tǒng)程序缺陷的最小缺陷集合,假設(shè)一系統(tǒng)提供的API(ApplicationProgrammingInterface,應(yīng)用程序設(shè)計接口)名為—interface—1,而此接口內(nèi)部調(diào)用了三個模塊的接口—raid—mod—interface—x;—lvm—mod—interface—y;—hdd—mod—interface—z,并且具有一些自身的處理流程。在API接口—interface」自身的處理流程以及—raid—mod—interface—x、—lvm—mod—interface—y、—hdd—mod—interface—z中都可會巨存在缺陷(fault),我們假設(shè)在這個API接口jnterface—1中依據(jù)程序處理的先后順序產(chǎn)生了如下表格中所示的缺陷信息<table>tableseeoriginaldocumentpage12</column></row><table>這樣,根據(jù)上面表格屮所列出的缺陷信息,我們便可以依據(jù)系統(tǒng)缺陷分析準則的設(shè)置來得出所需要的系統(tǒng)缺陷分析的結(jié)果。如果系統(tǒng)缺陷分析準則預(yù)先設(shè)置為只給初引起系統(tǒng)故障或錯誤的首要關(guān)鍵缺陷的話,那么我們可以在系統(tǒng)中預(yù)先寫入一個系統(tǒng)缺陷分析準則的程序或配置檔案,以歸納出用戶所需要的系統(tǒng)缺陷分析的結(jié)果,其中,系統(tǒng)缺陷分析準則至少可以為以下二種方式之一或者其結(jié)合1、顯示所有相關(guān)缺陷;2、顯示所有根源缺陷;3、顯示首個關(guān)鍵缺陷。如果采用第一種方式,對于上面給出的例子,所得到的最小缺陷集合就是上表中所列的全部缺陷信息;如果采用第二種和/或第三種方式,則需要先進行如下進一步分析1、缺陷3、4、5、8是在API接U中給出的缺陷(閑為模塊名為jnterface,因此是API接口—interface—1所在的模塊)。2、而其中4、5兩個缺陷是在這個接口自身內(nèi)部處理產(chǎn)生的,因為其引起此缺陷的模塊名為NULL,NULL(零)值說明造成這個缺陷的原因為模塊自身。3、依據(jù)模塊名和引起缺陷的模塊名這兩項,我們可以很容易地得出,缺陷l、2、3實際上是一個缺陷,導(dǎo)致這個缺陷的根本原因是在raid的子模塊raid—mod—interface—x—subjod—1中Raid—sub.c的Funcl函數(shù)中行數(shù)為404的那一行,由于某種原因造成的,而第2個和第3個缺陷都是由于第1個缺陷所形成的,所以對于第二種和/或第三種方式在這里就需要進行缺陷信息的合并,以合并這三個缺陷(缺陷l、2、3)為缺陷l。4、對于缺陷6、7、8與上述對缺陷1、2、3的分析處理相同,在此不再贅述。其中對于第二種情況,合并后得到的缺陷的序號集合為U,4,5,6},此最小缺陷集合依據(jù)所有根源缺陷產(chǎn)生的先后順序得出。而對于第三種情況,上述經(jīng)過分析得出的缺陷集合U,4,5,6}中的缺陷1即是我們所需要的首個關(guān)鍵缺陷,因而,可以得出最小缺陷集合為缺陷l。在上述系統(tǒng)中可能會產(chǎn)生很多缺陷,而模塊和模塊間的調(diào)用錯綜復(fù)雜,有時一個模塊可能被幾個不同的API接口所調(diào)用,因此,我們可依據(jù)以下方式對這些缺陷進行區(qū)分1、利用所存在的一個模塊間的調(diào)用關(guān)系拓撲圖,以便對模塊中的缺陷追溯起到指示作用,再通過模塊名和引起此缺陷的模塊名進行模塊拓撲結(jié)構(gòu)關(guān)系的說明。2、為每個缺陷都分配一個當前進程ID(Identification,標識)號,依據(jù)此ID號,可知道每個缺陷最終隸屬于哪一個API調(diào)用,因此很容易便可以將所有隸屬于這個API調(diào)用的相關(guān)缺陷集結(jié)起來以便于分析處理。現(xiàn)在請參考圖3,此圖為本發(fā)明的一種快速診斷系統(tǒng)軟件缺陷的方法的方法流程圖,如圖所示,本發(fā)明的快速診斷系統(tǒng)軟件缺陷的方法包含以下步驟依據(jù)用戶需求,預(yù)先設(shè)定并在系統(tǒng)中寫入系統(tǒng)缺陷分析準則的程序(步驟200);在系統(tǒng)的程序模塊中依照用戶對缺陷分析結(jié)果的精細度需求加入數(shù)個缺陷插入點(步驟201);系統(tǒng)程序運行過程中在上述各缺陷插入點處產(chǎn)生缺陷管理信息(步驟202);監(jiān)控此缺陷管理信息,并收集相關(guān)的系統(tǒng)缺陷數(shù)據(jù)(歩驟203);通過上述系統(tǒng)缺陷分析準則的程序?qū)崟r分析所收集到的系統(tǒng)缺陷數(shù)據(jù),借以獲得造成系統(tǒng)錯誤的最小缺陷集合(步驟204);將此最小缺陷集合實時記錄到系統(tǒng)日志中,并回報給用戶(步驟205)。其中,如圖4所示,上述本發(fā)明的一種快速診斷系統(tǒng)軟件缺陷的方法中的步驟204中,可進一步包含以下步驟對上述系統(tǒng)中運行著的多個程序任務(wù)進行分組(步驟2041);將從上述各缺陷插入點收集的缺陷數(shù)據(jù)依照上述程序任務(wù)的分組進行分類匯總,并依照系統(tǒng)缺陷分析準則得到單個任務(wù)的最小缺陷集合(步驟2042);以及依據(jù)系統(tǒng)中各程序任務(wù)的調(diào)用關(guān)系拓撲結(jié)構(gòu)以及對各單個任務(wù)的最小缺陷集合的分析結(jié)果,再次依照系統(tǒng)缺陷分析準則過濾并選擇得出當前系統(tǒng)缺陷的最小缺陷集合(步驟2043)。其中,上述系統(tǒng)缺陷分析準則可為顯示所有相關(guān)缺陷、顯示所有根源缺陷及顯示首個關(guān)鍵缺陷的三種方式之一或者其結(jié)合。此外,當上述單個程序任務(wù)中出現(xiàn)多個缺陷時,則初始出現(xiàn)的缺陷可定義為此單個程序任務(wù)的關(guān)鍵缺陷。當然,本發(fā)明還可有其他多種實施例,在不背離本發(fā)明精神及其實質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護范圍。權(quán)利要求1、一種快速診斷系統(tǒng)軟件缺陷的系統(tǒng),用以對導(dǎo)致系統(tǒng)錯誤的系統(tǒng)程序缺陷進行快速定位并向用戶回饋,其特征在于,該系統(tǒng)包含一操作系統(tǒng)單元、數(shù)個功能模塊、一硬件單元、一缺陷監(jiān)控模塊、一缺陷分析模塊及一最小缺陷集合記錄回饋模塊,其中,該操作系統(tǒng)單元,用以在系統(tǒng)中寫入一系統(tǒng)缺陷分析準則的程序,并在系統(tǒng)的程序模塊中依照對缺陷分析結(jié)果的精細度需求加入數(shù)個缺陷插入點;所述各功能模塊,用以將系統(tǒng)程序運行過程中在所述各功能模塊的缺陷插入點處產(chǎn)生的缺陷管理信息傳輸至該缺陷監(jiān)控模塊;該硬件單元,通過該操作系統(tǒng)單元傳輸系統(tǒng)程序運行過程中硬件程序模塊的缺陷插入點產(chǎn)生的缺陷管理信息至該缺陷監(jiān)控模塊;該缺陷監(jiān)控模塊,用以接收該操作系統(tǒng)單元及所述各功能模塊所傳輸?shù)娜毕莨芾硇畔?,且監(jiān)控該缺陷管理信息,并收集相關(guān)的系統(tǒng)缺陷數(shù)據(jù)傳輸給缺陷分析模塊;該缺陷分析模塊,通過該系統(tǒng)缺陷分析準則的程序?qū)崟r分析所收集到的該系統(tǒng)缺陷數(shù)據(jù),借以獲得造成系統(tǒng)錯誤的最小缺陷集合;以及該最小缺陷集合記錄回饋模塊,用以將該最小缺陷集合實時記錄到系統(tǒng)日志中,并回報給用戶。2、根據(jù)權(quán)利要求l所述的快速診斷系統(tǒng)軟件缺陷的系統(tǒng),其特征在于,該缺陷分析模塊通過該系統(tǒng)缺陷分析準則的程序?qū)υ撓到y(tǒng)中運行著的多個程序任務(wù)進行分組,并將從所述各缺陷插入點收集的缺陷數(shù)據(jù)依照所述程序任務(wù)的分組進行分類匯總,且依照系統(tǒng)缺陷分析準則得到單個任務(wù)的最小缺陷集合,然后依據(jù)系統(tǒng)中各程序任務(wù)的調(diào)用關(guān)系拓撲結(jié)構(gòu)以及對各單個任務(wù)的最小缺陷集合的分析結(jié)果,再次依照系統(tǒng)缺陷分析準則過濾并選擇得出該當前系統(tǒng)缺陷的最小缺陷集合。3、根據(jù)權(quán)利要求2所述的快速診斷系統(tǒng)軟件缺陷的系統(tǒng),其特征在于,該系統(tǒng)缺陷分析準則為顯示所有相關(guān)缺陷、顯示所有根源缺陷及顯示首個關(guān)鍵缺陷。4、根據(jù)權(quán)利要求3所述的快速診斷系統(tǒng)軟件缺陷的系統(tǒng),其特征在于,當單個程序任務(wù)中出現(xiàn)多個缺陷時,則初始出現(xiàn)的缺陷為該單個程序任務(wù)的關(guān)鍵缺陷。5、一種快速診斷系統(tǒng)軟件缺陷的方法,用以對導(dǎo)致系統(tǒng)錯誤的系統(tǒng)程序缺陷進行快速定位并向用戶回饋,其特征在于,該方法包含以下步驟預(yù)先設(shè)定并在系統(tǒng)中寫入一系統(tǒng)缺陷分析準則的程序;.在系統(tǒng)的程序模塊中依照對缺陷分析結(jié)果的精細度需求加入數(shù)個缺陷插入點;.系統(tǒng)程序運行過程中在所述各缺陷插入點處產(chǎn)生缺陷管理信息;監(jiān)控該缺陷管理信息,并收集相關(guān)的系統(tǒng)缺陷數(shù)據(jù);通過該系統(tǒng)缺陷分析準則的程序?qū)崟r分析所收集到的該系統(tǒng)缺陷數(shù)據(jù),借以獲得造成系統(tǒng)錯誤的最小缺陷集合;以及將該最小缺陷集合實時記錄到系統(tǒng)日志中,并回報給用戶。6、根據(jù)權(quán)利要求5所述的快速診斷系統(tǒng)軟件缺陷的方法,其特征在于,進一步包含以下步驟對該系統(tǒng)中運行著的多個程序任務(wù)進行分組;將從所述各缺陷插入點收集的缺陷數(shù)據(jù)依照所述程序任務(wù)的分組進行分類匯總,并依照系統(tǒng)缺陷分析準則得到單個任務(wù)的最小缺陷集合;以及依據(jù)系統(tǒng)中各程序任務(wù)的調(diào)用關(guān)系拓撲結(jié)構(gòu)以及對各單個任務(wù)的最小缺陷集合的分析結(jié)果,再次依照系統(tǒng)缺陷分析準則過濾并選擇得出該當前系統(tǒng)缺陷的最小缺陷集合。7、根據(jù)權(quán)利要求6所述的快速診斷系統(tǒng)軟件缺陷的方法,其特征在于,該系統(tǒng)缺陷分析準則為顯示所有相關(guān)缺陷、顯示所有根源缺陷及顯示首個關(guān)鍵缺陷。8、根據(jù)權(quán)利要求7所述的快速診斷系統(tǒng)軟件缺陷的方法,其特征在于,當單個程序任務(wù)中出現(xiàn)多個缺陷時,則初始出現(xiàn)的缺陷為該單個程序任務(wù)的關(guān)鍵缺陷。全文摘要本發(fā)明公開了一種快速診斷系統(tǒng)軟件缺陷的系統(tǒng)及方法,系用以對導(dǎo)致系統(tǒng)錯誤的系統(tǒng)程序缺陷進行快速定位并向用戶回饋。首先,依據(jù)用戶需求,預(yù)先設(shè)定并在系統(tǒng)中寫入系統(tǒng)缺陷分析準則的程序,且在系統(tǒng)的程序模塊中依照用戶對缺陷分析結(jié)果的精細度需求加入數(shù)個缺陷插入點,然后在系統(tǒng)程序運行過程中在上述各缺陷插入點處產(chǎn)生缺陷管理信息,并對此管理信息進行監(jiān)控,以收集相關(guān)的系統(tǒng)缺陷數(shù)據(jù),最后通過系統(tǒng)缺陷分析準則的程序?qū)崟r分析所收集到的系統(tǒng)缺陷數(shù)據(jù),借以獲得造成系統(tǒng)錯誤的最小缺陷集合并實時記錄到系統(tǒng)日志中,同時回報給用戶。文檔編號G06F11/36GK101398781SQ200710163839公開日2009年4月1日申請日期2007年9月30日優(yōu)先權(quán)日2007年9月30日發(fā)明者劉慶彪,劉文涵,莊欽平,陳玄同申請人:英業(yè)達股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1