新四季網

應用程式修改部分搜索裝置和應用程式修改部分搜索方法

2023-09-12 11:00:10 3

專利名稱:應用程式修改部分搜索裝置和應用程式修改部分搜索方法
技術領域:
本發明涉及一種應用程式修改部分(application modification portion)搜索裝置和一種應用程式修改部分搜索方法,具體地,涉及用於應用程式定製的應用程式修改部分搜索裝置和應用程式修改部分搜索方法。
背景技術:
希望簡化定製應用程式的過程。日本專利公報(JP-P2007-122670A)公開了一種表單(form)生成系統,其能夠定製任意功能和信息而顯著地減少與表單定製相關的用戶工作負荷,並能夠遵循版本升級。該表單生成系統使用了軟體包用於表單生成。表單生成系統包括保留部分、新部 分和輸出部分。保留部分將輸出表單的定製信息保留為軟體包的差異信息。當修改軟體包時,更新部分反映被保留在被修改軟體包上保留部分內的定製信息。當修改軟體包時,輸出部分輸出定製表單,其上反映了由於定製信息產生的修改。也就是說,當通過版本升級來修改應用程式時,根據日本專利公報(JP-P2007-122670A)的版本升級功能執行將軟體包的修改部分應用於定製表單的處理。另夕卜,將定製信息保存在定製信息文件中。將定製差異信息保存在定製差異信息文件中。日本專利公報(JP-P2008-310679A)公開了一種動態設計信息生成設備,其能夠甚至在規範等不完全時動態生成動態設計信息。動態設計信息生成設備包括程序分析部分、信息增加部分、程序執行部分和設計信息生成部分。程序分析部分分析程序的結構。信息增加部分參考由程序分析部分所分析的程序並將用於生成程序的執行順序信息的信息增加到程序。程序執行部分依照預定執行環境執行增加了信息的程序。根據通過程序執行部分執行程序所獲得的程序的執行順序信息來生成動態設計信息。日本專利公報(JP-P2007-213487A)公開了一種方面(aspect)生成設備,其能夠輕鬆地生成將被併入程序假定位置的方面,作為使用面向方面編程的應用開發中的整合目標。方面生成設備生成了方面,方面是對作為開發目標的程序中使用的類(class)公用的處理。方面生成設備包括類信息分析部分、建議分析部分、用戶接口管理部分和方面生成部分。類信息分析部分從第一存儲部分中讀出用於程序中作為開發目標的類文件,並分析所述類文件中每一個類的結構。隨後,所述部分獲取用於每個類中的類名、方法名和籤名,並基於獲取的類名、方法名和籤名生成在將生成的方面中定義的類名、方法名和籤名的候選。建議分析部分從第二存儲部分讀出由將要被刪除的方面提供的建議的候選用作公共處理,並分析建議的候選的數據結構。基於類信息分析部分的類結構的分析結果,用戶接口管理部分使得圖形用戶界面屏幕顯示示出了用於程序中作為開發目標的類的類名、方法名和籤名的類圖以及由建議分析部分所分析的建議的候選。當由用戶從被顯示在圖形用戶界面屏幕上的建議的候選中選擇的任意圖標被拖到類圖中的任意類的位置時,方面生成部分顯示由類信息分析部分所生成的並能夠在所述類中被選擇的類名、方法名和籤名的候選。隨後,所述部分通過將由用戶所選擇的類名、方法名和籤名的候選的數據應用於由用戶所選擇的建議候選的數據結構來生成方面。日本專利公報(JP-P2007-213498A)公開了一種方面顯示系統,其能夠基於建議的方面和指定的點切除把將被併入的方面的處理顯示在目標程序處理的原始碼的圓周上,並能夠輕鬆地追蹤其中併入了該方面的程序的最終處理的整個流程。方面顯示系統把將被併入電腦程式中的方面顯示在電腦程式的原始碼中。方面顯示系統包括讀出部分、代碼分析部分、方面分析部分和顯示控制部分。讀出部分讀出電腦程式的原始碼和已編譯的可執行代碼,以及根據面向方面編程的方面程序的原始碼和已編譯的可執行代碼。 代碼分析部分分析電腦程式的已編譯可執行代碼以獲取用於識別屬於電腦程式的過程定義的信息,以及電腦程式的對應於所述過程定義的開始命令和結束命令的開始原始碼行和結束原始碼行,並將它們存入存儲部分。方面分析部分分析方面程序的已編譯可執行代碼。隨後,所述部分基於用於識別屬於方面程序的整合部分定義和在整合部分定義中定義的字符串的信息來檢測整合目標過程的信息。隨後,所述部分獲取用於識別與整合部分定義相關聯的整合過程定義的信息,以及方面程序的對應於整合過程的開始命令和結束命令的開始原始碼行和結束原始碼行。顯示控制部分選擇電腦程式的原始碼並搜索與識別屬於所選電腦程式的過程定義的信息一致的整合目標過程的信息。隨後,所述部分獲取用於識別與用於識別所述一致整合目標過程所屬於的整合部分定義的信息相關聯的整合過程定義的信息。隨後,所述部分通過插入或替換將在整合過程定義的開始原始碼行和結束原始碼行之間的整合處理顯示在屬於所述對應電腦程式的過程定義的開始原始碼行和結束原始碼行的圓周上。引用文獻列表專利文獻專利文獻I :日本專利公報(JP-P2007-122670A)專利文獻2 :日本專利公報(JP-P2008-310679A)專利文獻3 :日本專利公報(JP-P2007-213487A)專利文獻4 :日本專利公報(JP-P2007-213498A)

發明內容
對於相關應用程式定製,提出了一種程序修改部分的應用程式,如通過修改程序部分實現定製操作的版本升級功能。另一方面,未提出對用於判斷程序的哪一部分應被修改以定製程序的支持。因此,存在用於定製的必需的程序開發困難的問題。本發明的示例性目的是提供一種簡化用於現有應用程式的定製過程的應用程式修改部分搜索裝置和應用程式修改部分搜索方法。根據本發明的應用程式修改部分搜索裝置包括測試執行部分,該測試執行部分在基於輸入參數對應用程式執行覆蓋測試時生成多個日誌;以及結果處理部分,該結果處理部分基於多個日誌生成點候選報告。多個日誌分別指示了在覆蓋測試執行期間被調用的多個方法中將參數指定為自變量的方法的調用棧(call stack)。該調用棧指示在其中定義了方法的調用的應用程式上的位置。點候選報告指示了在應用程式中點的候選,當基於參數執行處理的調度時,對於該點的候選來說修改是必要的。根據本發明的應用程式修改部分搜索方法包括在基於輸入參數對應用程式執行覆蓋測試時生成多個日誌的步驟;基於所述多個日誌生成點候選報告的步驟;以及基於所述點候選報告定製應用程式的步驟。多個日誌分別指示了在覆蓋測試執行期間被調用的多個方法中將參數指示為自變量的方法的調用棧。該調用棧指示在其中定義了方法的調用的應用程式上的位置。點候選報告指示了在應用程式中點的候選,當基於參數執行處理調度時,對於該點的候選來說修改是必要的。根據本發明的應用程式修改部分搜索裝置和應用程式修改部分搜索方法,用戶能夠參考應用程式中對其來說修改是必要的點的候選,並且因此能夠輕鬆地定製應用程式。


結合附圖和對示例性實施例的說明,本發明的上述目的、優勢和特徵將更加明顯,其中圖I是示出了根據本發明的應用程式修改部分搜索裝置的方框圖;圖2是示出了根據本發明的應用程式修改部分搜索方法的流程圖;圖3是示出了輸入輸出驗證部分的操作的流程圖;圖4是示出了結果處理部分的操作的流程圖;圖5示出了參數定義的示例;圖6示出了方面定義的示例;圖7示出了操作日誌的示例;圖8示出了步驟A300的處理結果的一部分;圖9示出了步驟A300的處理結果的另一部分;圖10示出了步驟A301的處理結果;圖11示出了步驟A302到A305的處理結果;圖12示出了步驟A306到A308的處理結果;以及圖13示出了點候選報告。
具體實施例方式下面將參照附圖來說明根據本發明的應用程式修改部分搜索裝置的示例性實施例。然而,這些示例性實施例並不限制本發明的技術範圍。如圖I所示,應用程式修改部分搜索裝置包括測試執行部分100和結果處理部分200。測試執行部分100是應用程式121操作的基本環境。結果處理部分200處理輸出自測試執行部分100的操作日誌,並生成點候選報告。測試執行部分100包括方面處理部分110、執行引擎部分120、輸入輸出驗證部分130和日誌提取部分140。方面處理部分110具有將用於輸出操作日誌的處理插入應用程式121中的功能。執行引擎部分120具有執行應用程式121的功能。而且,執行引擎部分120通過使用測試程序310執行應用程式121的邏輯的覆蓋測試。根據本發明的應用程式修改部分搜索裝置包括輸入裝置(未圖示)。根據本發明的應用程式修改部分搜索裝置通過輸入裝置輸入應用程式121和測試程序310。覆蓋測試(coverage test)是指以一條件作為輸入的測試,在該條件下在應用程式121中實現的邏輯被徹底地(無遺漏地)執行。通常將覆蓋測試準備為單元測試,與應用程式121 —起實現。輸入輸出驗證部分130具有判斷發生在應用程式121中的方法調用的自變量是否與參數列表300匹配的功能。日誌提取部分140具有以調用棧(調用路徑)的形式輸出發生在應用程式121中的方法調用的功能。方面處理部分110包括方面生成部分111和方面應用部分112。方面生成部分111具有生成方面形式的邏輯的功能,其判斷發生在應用程式121中的方法調用的自變量是否與在參數列表300中定義的參數組匹配。根據本發明的應用程式修改部分搜索裝置通過輸入裝置輸入參數列表300。方面應用部分112具有將由方面生成部分111所生成的方面應用於應用程式121的功能。結果處理部分200包括處理棧分析部分210和報告生成部分220。處理棧分析部 分210具有分析由日誌提取部分140所輸出的多個調用棧和合併多個調用棧的功能。報告生成部分220具有基於被合併的多個調用棧生成修改點候選報告330的功能。修改點候選報告330指示了由處理棧分析部分210所合併的處理調用棧,其作為修改部分的候選。結果處理部分200還包括輸出裝置(未圖示)。輸出裝置顯示修改點候選報告330。圖2示出了根據本發明的應用程式修改部分搜索方法。首先,用戶生成參數定義並基於參數定義生成參數列表300。用戶使得方面處理部分110通過輸入裝置輸入參數列表300 (步驟A101)。在參數列表300中所述的參數是用於識別定製目標的ID,其由文件名、URL和資料庫名例示。方面生成部分111從輸入的參數列表300生成方面定義(步驟A102)。這裡,生成的方面定義用來檢查參數是否是作為在應用程式中每一個方法調用的自變量出現。使用比較定義在參數列表300中的參數組和關於每一個方法調用的方法的自變量的處理來實現方面定義。方面應用部分112將由方面生成部分111所生成的方面定義應用到應用程式121(步驟A103)。由於應用過程,對在方面定義中定義的參數和方法的自變量的檢查在該應用程式121中每一個方法調用的定時被執行。執行引擎部分120通過使用測試程序310執行應用程式121的邏輯的覆蓋測試(步驟A104)。覆蓋測試是指以一條件作為輸入的測試,在該條件下在應用程式121中實現的邏輯被徹底地執行。一般將覆蓋測試準備為單元測試,與應用程式121—起實現。測試執行部分100進一步執行在步驟A104執行時由方面生成部分111所生成的方面定義中定義的處理。作為在方面定義中定義的處理的執行結果,生成操作日誌。結果處理部分200合併在步驟A104中生成的操作日誌(步驟A105)。結果處理部分200將被合併的操作日誌輸出為修改點候選報告330(步驟A106)。修改點候選報告330指示了在應用程式原始碼上的部分的位置,該部分中定義了調用特定輸入參數的方法。也就是說,被包括在修改點候選報告330中的信息是參數標識符、方法名、以及定義了相應方法的應用程式原始碼的行數。圖3示出了由方面生成部分111所生成的方面定義中定義的處理。在步驟A104執行期間每次當調用應用程式121的方法時,執行所述處理。輸入輸出驗證部分130首先在當調用應用程式121的方法時將指示了在處理中的參數列表300中參數索引的m重置為O (步驟A201)。接下來,輸入輸出驗證部分130評估m是否大於在參數列表300中定義的參數數量(步驟A202)。當步驟A202的評估為真時,即當m大於參數數量時(在步驟A202處為「是」),輸入輸出驗證部分130結束所述處理。當步驟A202的評估為假時,即當m不大於參數數量時(在步驟A202處為「否」),輸入輸出驗證部分130將指示了在處理中方法自變量的索引(順序)的η重置為0(步驟A203)。接下來,輸入輸出驗證部分130評估η是否大於在處理中的方法中定義的自變量數量(步驟Α204)。當步驟Α204的評估為真時,即當η大於自變量數量時(在步驟Α204處為「是」),輸入輸出驗證部分130將m增加I (步驟A205)並返回到步驟A202的處理。當步驟A204的評估為假時,即當η不大於自變量數量時(在步驟Α204處為「否」),輸入輸出驗證部分130評估第η個方法的自變量是否與參數列表300中的第m個值相同(步驟A206)。當步驟A206的評估為真時,即,當第η個方法的自變量與第m個值相同時(在步驟A206處為「是」),輸入輸出驗證部分130在相應方法被調用的時刻將調用棧輸出到操作 日誌(步驟A207)。在參數定義中被匹配的參數、指示被匹配方法的調用順序的調用棧信息、以及關於原始碼的被匹配方法的位置(行數量)被記錄在操作日誌中以被輸出。當步驟A206的評估為假時,即當第η個方法的自變量與第m個值不同時(在步驟A206處為「否」)或者在步驟A207之後,輸入輸出驗證部分130將η增加I (步驟Α208)並返回到步驟Α204的處理。圖4示出了步驟Α105的操作。首先,處理棧分析部分210將針對每一個參數在步驟Α207中輸出的操作日誌劃分為比較目標(步驟Α300)。接下來,處理棧分析部分210將每一個參數的操作日誌集以調用棧深度的升序分類(步驟Α301)。例如,當存在調用棧DlOO(方法A —方法B —方法C —方法D)和調用棧DlOl (方法A —方法B —方法C)時,處理棧分析部分210以順序(調用棧DlOl —調用棧D100)對調用棧DlOO和DlOl分類,因為調用棧DlOl的深度較淺。接下來,處理棧分析部分210將預定處理重複與在步驟Α301中被分類的列表的入口(entry)數量相同的次數(步驟A302)。接下來,處理棧分析部分210將預定處理重複與調用棧的入口(b)數量相同的次數,入口(b)具有與在處理中的入口(a)的調用棧相同的深度(步驟A303)。接下來,處理棧分析部分210評估入口(a)的調用棧是否與入口(b)的調用棧相同(步驟A304)。當步驟A304的評估為真時,即當入口(a)的調用棧與入口(b)的調用棧相同時(在步驟A304處為「是」),處理棧分析部分210從操作日誌中刪除入口(b)(步驟A305)。當步驟A304的評估為假時,即當入口(a)的調用棧與入口(b)的調用棧不同時(在步驟A304處為「否」),或者在步驟A305的處理結束之後,處理棧分析部分210繼續步驟A303的循環。也就是說,處理棧分析部分210對具有與在處理中的入口(a)的調用棧相同深度的調用棧的每一個入口(b)執行步驟A304和步驟A305的處理。接下來,處理棧分析部分210將預定處理重複與具有深度為(在處理中的入口(a)的調用棧深度-I)的調用棧的入口(c)數量相同的次數(步驟A303)。處理棧分析部分210評估入口(C)的調用棧是否被包括在入口(a)的調用棧中(步驟A307)。當步驟A307的評估為真,即當入口(c)的調用棧被包括在入口(a)的調用棧中時(在步驟A307處為「是」),處理棧分析部分210從操作日誌中刪除入口(c)(步驟A308)。當步驟A307的評估為假,即當入口(C)的調用棧不被包括在入口(a)的調用棧中時(在步驟A307處為「否」),或者在步驟A308的處理結束之後,處理棧分析部分210繼續步驟A306的循環。也就是說,處理棧分析部分210對具有深度等於(在處理中的入口(a)的調用棧深度-I)的調用棧的每一個入口(c)執行步驟A307和步驟A308的處理。在步驟A306的循環結束之後,處理棧分析部分210繼續步驟A302的循環。也就是說,處理棧分析部分210對在步驟A301中分類的列表的每一個入口執行步驟A303到A308的處理。通過執行上述操作,根據本發明的應用修改部分搜索裝置能夠自動地查找用於定製應用程式所必須的處理的修改候選部分。另外,應用程式開發者不需要理解整個應用程 序原始碼,並且能夠通過參考點候選報告330得知在定製應用程式121中修改是必要的原始碼上的部分,據此能夠輕鬆定製應用程式121。根據本發明的應用程式修改部分搜索裝置使用方面技術通過嵌入方法自變量的比較性邏輯和參數生成了用於查找對於定製應用程式121所必須的處理的修改候選部分的日誌。因此,根據本發明的應用程式修改部分搜索裝置能夠達到如上所述的全面搜索而不需要另外在應用程式121中實現特殊邏輯,並且能夠防止應用程式121的原始碼汙染。當修改候選部分包括相同調用棧時,根據本發明的應用程式修改部分搜索裝置採用具有最淺處理調用棧的修改候選部分,並排除重疊的修改候選部分的信息。因此,冗餘修改候選部分的信息未被包括在獲得的修改候選部分的報告中,且避免了定製處理被雙重併入等問題。另外,根據本發明的應用程式修改部分搜索裝置能夠在單元測試和合併測試(其通常針對應用程式執行)期間查找原始碼上對其來說修改是必要的部分。結果,根據本發明的應用程式修改部分搜索裝置能夠以低成本定製應用程式,因為開發處理不需要被改變也不需要被擴展。[示例]本示例示出了在由應用程式開發者生成預定參數列表以及測試執行部分100輸出預定操作日誌情況中的操作。圖5示出了參數列表。參數列表示出了參數ElOO和參數E101。參數ElOO指示作為資料庫的連接目的地的「dataSource」將在定製中被修改。參數ElOl指示作為設置文件路徑的「setting, properties」將在定製中被修改。方面生成部分111基於參數定義生成了方面定義。圖6示出了方面定義。方面定義使用AspectJ作為方面實現。方面定義實現了圖3中的流程圖。方面定義是由包括行FlOO到行F104的多個行組成。行FlOO指示了指示每一個方法調用的中斷的定義。行FlOl定義了由「checkParameter」所定義的處理在由行FlOO所定義的時間處被執行。行F102表示行F103以及此後的行的處理被重複與圖5中定義的參數的數量相同的次數。行F103表示行F104以及此後的行的處理被重複與作為檢查目標的方法的自變量數量相同的次數。行F104表示對作為檢查目標的參數和作為檢查目標的方法自變量是否是相同的值進行檢查並且在相同值的情況中處理調用棧被輸出到操作曰志。接下來,方面生成部件111將以上述方式生成的圖6中的方面定義輸出到方面應用部分112。接下來,方面應用部分112將圖6中的方面定義應用到執行引擎部分120,並應用到應用程式121。應用方法取決於執行引擎,並且未在本發明中定義。例如,當Java和AspectJ被用作執行引擎時,通過使用Java的代理功能附加了被稱為加載時編織器(LoadTime Weaver)的AspectJ工具,以應用所述方面。接下來,執行引擎部分120執行測試程序310以執行用於應用程式121的覆蓋測試。測試程序310使用了在圖5中參數列表中定義的參數。也就是說,其被作為資料庫連接到連接目的地「dataSource」並且「setting, properties」被用作為設置文件。在覆蓋測試期間,每次當被包括在應用程式121中的方法調用發生時,被定義在圖6的方面定義中的檢查處理進行操作。也就是說,輸入輸出驗證部分130檢測方法調用。日誌提取部分140基於由輸入輸出驗證部分130所檢測的方法調用來生成操作日誌。圖7示出自從日誌提取部分140中輸出的操作日誌的示例。操作日誌由多個入口 GlOO到G104構成。入口 GlOO指示了圖5的參數定義的參數ElOO的參數值「dataSource」表現為類「A」的方法「二(two)」的自變量。入口 G100也指示了類「應用程式(Application)」的「主要(main)」方法,類「A」的「一(one)」方法和類「A」的「二(two)」方法按此順序被調用為引導到類「A」的方法「二(two)」的調用棧。在每一個入口的右邊的圓括號示出了在其中定義了相應方法的原始碼上的位置,即原始碼的文件和行數量。也就是說,入口 G100指示了類「A」的方法「二(two)」被定義在原始碼「A. java」的第150行中。入口 GlOl指示了圖5的參數定義的參數E100的參數值「dataSource」表現為類「A」的方法「二(two)」的自變量。入口 G102指示了圖5的參數定義的參數E100的參數值「dataSource」表現為類「A」的方法「三(three)」的自變量。入口 G103指示了圖5的參數定義的參數E100的參數值「dataSource」表現為類「A」的方法「四(four)」的自變量。入口 G104指示了圖5的參數定義的參數E100的參數值「setting, properties」表現為類「A」的方法「五(five)」的自變量。在圖4中的步驟A300的處理中,處理棧分析部分210將圖7中的操作日誌劃分成數量與作為由參數定義所定義的參數的數量相同的數據片段。圖8示出了對應於被劃分的多個數據片段之間的參數E100的數據。數據由入口G100、入口 G101、入口 G102和入口 G103構成。在圖7所示的多個入口中,入口 G100到G103分別指示了指示參數E100的參數值出現的入口。也就是說,入口 G100對應於圖7所示的入口 G100。入口 GlOl對應於圖7所示的入口 G101。入口 G102對應於圖7所示的入口 G102。入口 G103對應於圖7所示的入口 G103。圖9示出了對應於被劃分的多個數據片段之間的參數ElOl的數據。數據由入口G104構成。在圖7所示的多個入口中,入口 G104指示了指示參數ElOl的參數值出現的入口。也就是說,入口 G104對應於圖7所示的入口 G104。在圖4的步驟S301的處理中,處理棧分析部分210將圖8中的數據的入口分類並將圖9中數據的入口分類。圖10示出了通過將圖8中數據的入口 G100到G103分類所生成的數據。數據由入口 G100、入口 G101、入口 G103和入口 G102構成。數據示出入口 G100的下一個是入口G101,入口 GlOl的下一個是入口 G103,入口 G103的下一個是入口 G102。由於入口 GlOO的調用棧的深度是三,入口 GlOl的調用棧的深度是三,入口 G102的調用棧的深度是四,入口G103的調用棧的深度是三,因此數據示出入口 G100、入口 G101、入口 G103和入口 G102被以深度的升序分類。也就是說,數據示出圖8中數據的入口 G102和入口 G103的順序互換。圖9的數據由單個入口 G104構成,並且因此在圖4的步驟A301的處理中未被改變以保留圖9中所示的數據。在圖4的步驟A303到A305的處理中,處理棧分析部分210從圖10的數據入口中刪除了預定入口並從圖9的數據入口中刪除了預定入口。圖11示出了通過從圖10的數據中刪除預定入口所生成的數據。數據由入口 G100、入口 G103和入口 G102構成。由於圖10的數據的入口 GlOO和GlOl的調用棧相同,因此數據示出了從圖10的數據中刪除入口 GlOl所生成的數據。圖9的數據由單個入口 G104構成,並且因此在圖4的步驟A303到A305的處理中 未刪除入口從而使數據保留為如圖9所示。在圖4的步驟A306到A308的處理中,處理棧分析部分210從圖11的數據入口中刪除了預定入口並從圖9的數據入口中刪除了預定入口。圖12示出了通過從圖11的數據入口中刪除預定入口所生成的數據。數據由入口GlOO和入口 G103構成。由於圖11的數據的入口 G103的調用棧被包括在入口 G102的調用棧中,因此數據示出了通過從圖11的數據中刪除入口 G102所生成的數據。圖9的數據由單個入口 G104構成,並且因此在圖4的步驟A306到A308的處理中未刪除入口從而使數據保留為如圖9所示。在圖2的步驟A106的處理中,報告生成部分220基於圖12的數據和圖9的數據生成點候選報告。圖13示出了基於圖12的數據和圖9的數據生成的點候選報告。點候選報告由入口 G100、入口 G102 和入口 G104 構成。通過參考這樣的點候選報告,應用程式開發者不需要理解整個應用程式原始碼,並且能夠了解在定製應用程式121中對其來說修改是必要的原始碼上的部分,據此能夠輕鬆定製應用程式121。在示例中,與圖7所示的多個入口的數量相比,圖11所示的多個入口的數量較小。也就是說,示例進一步指示使用根據本發明的應用程式修改部分搜索裝置的根據本發明的應用程式修改部分搜索方法的執行能夠阻止在修改候選部分包括相同調用棧的情況下定製處理被雙重併入等問題。注意,根據本發明的應用程式修改部分搜索裝置可由計算機實現。計算機包括可移除存儲器驅動器或通信裝置。當插入記錄介質時,可移除存儲器驅動器用來讀出被記錄在記錄介質中的數據。當插入記錄介質時,可移除存儲器驅動器進一步用來安裝被記錄在計算機上的記錄介質中的電腦程式。記錄介質由快閃記憶體、磁碟(軟盤、硬碟)、磁帶(錄像磁帶)、光碟(⑶,DVD)和磁光碟例示。通信裝置用來通過通信網絡讀出被記錄在其他計算機上的信息。通信裝置進一步用來將公開給通信網絡的電腦程式安裝到在計算機上。通信網絡由LAN、網際網路和專用線路例示。在此情況中,通過將實現這些功能的多個電腦程式安裝到計算機上,計算機執行根據本發明的應用程式修改部分搜索方法。
關於在本說明書和附圖之間的對應關係,參考標記100指示測試執行部分。參考標記200指示結果處理部分。參考標記300指示參數列表。參考標記110指示方面處理部分。參考標記111指示方面生成部分。參考標記112指示方面應用部分。參考標記120指示執行引擎部分。參考標記121指示應用程式。參考標記130指示輸入輸出驗證部分。參考編號140指示日誌提取部分。參考標記210指示處理棧分析部分。參考標記220指示報告生成部分。參考標記310指示測試程序。參考標記330指示點候選報告。已參照示例性實施例(其包括示例)具體說明了本發明,然而本發明不局限於上述實施例和示例。在不背離本發明的精神和範圍的情況下,可以作出能夠被本領域普通技術人員理解的本發明的各種形式和細節的變化。以上已與示例性實施例(其包括示例)一起說明了本發明,然而,對於本領域普通技術人員來說明顯的是,這些示例性實施例(其包括示例)僅僅被提供用來解釋本發明;示例性實施例(其包括示例)不應依賴於將權利要求解釋為限制意義的目的。本申請基於並要求於2010年3月4日提交的日本專利申請No. 2010-047845的優·選權權益,其全部內容通過弓I用結合於此。上述實施例的部分或全部能夠被說明為下列補充說明但不限於以下內容。(補充說明I)一種應用程式修改部分搜索裝置,包括測試執行部分,該測試執行部分當基於輸入參數對應用程式執行覆蓋測試時生成多個日誌;以及結果處理部分,該結果處理部分基於所述多個日誌生成點候選報告,其中所述多個日誌分別指示在所述覆蓋測試的執行期間被調用的多個方法中、將所述參數指定為自變量的方法的調用棧,所述調用棧指示在所述應用程式上的其中定義了所述方法的調用的位置,並且所述點候選報告指示了在所述應用程式中當基於所述參數執行處理調度時對其來說修改是必要的點的候選。(補充說明2)根據補充說明I所述的應用程式修改部分搜索裝置,其中所述測試執行部分包括方面處理部分,該方面處理部分基於所述參數生成程序邏輯;執行引擎部分,該執行引擎部分將所述程序邏輯應用到所述應用程式;輸入輸出驗證部分,該輸入輸出驗證部分當每一個方法被調用時基於所述程序邏輯評估所述參數是否表現為所述應用程式的每一個方法的自變量;以及日誌提取部分,該日誌提取部分當所述參數表現為所述每一個方法的自變量時基於所述每一個方法的調用棧生成所述日誌。(補充說明3)根據補充說明2所述的應用程式修改部分搜索裝置,其中所述結果處理部分包括處理棧分析部分,該處理棧分析部分從所述多個日誌中提取多個提取日誌;以及報告生成部分,該報告生成部分基於所述多個提取日誌生成所述點候選報告,由所述點候選報告所指示的多個候選對應於所述多個提取日誌;並且
所述多個候選中對應於單個日誌的候選指示了由所述單個日誌所指示的調用棧中的最深調用。(補充說明4)根據補充說明3所述的應用程式修改部分搜索裝置,其中當所述多個日誌的第一日誌包括所述多個日誌的第二日誌時,所述處理棧分析部分通過從所述多個日誌中刪除所述第一日誌來生成所述多個提取日誌。(補充說明5)根據補充說明3或補充說明4所述的應用程式修改部分搜索裝置,其中所述測試執行部分當不同於所述參數的另一參數被進一步輸入時生成多個完整日誌,所述處理棧分析部分進一步將所述多個完整日誌劃分成所述多個日誌和指示所 述多個方法中將所述另一參數指定為自變量的另一方法的調用棧的多個其他日誌,並且從所述多個其他日誌中提取多個其他提取日誌,並且所述報告生成部分進一步基於所述多個其他提取日誌生成所述點候選報告。(補充說明6)一種應用程式修改部分搜索方法,包括當基於輸入參數對應用程式執行覆蓋測試時生成多個日誌的步驟;基於所述多個日誌生成點候選報告的步驟;以及基於所述點候選報告定製所述應用程式的步驟,其中所述多個日誌分別指示在所述覆蓋測試的執行期間被調用的多個方法中將所述參數指定為自變量的方法的調用棧,所述調用棧指示在所述應用程式上的其中定義了所述方法的調用的位置,並且所述點候選報告指示了在所述應用程式中當基於所述參數執行處理調度時對其來說修改是必要的點的候選。(補充說明7)根據補充說明6所述的應用程式修改部分搜索方法,還包括基於所述參數生成程序邏輯的步驟;將所述程序邏輯應用到所述應用程式的步驟;當調用每一個方法時,基於所述程序邏輯評估所述參數是否表現為所述應用程式的每一個方法的自變量的步驟;以及當所述參數表現為所述每一個方法的自變量時,基於所述每一個方法的調用棧生成所述日誌的步驟。(補充說明8)根據補充說明7所述的應用程式修改部分搜索方法,還包括從所述多個日誌中提取多個提取日誌的步驟;以及基於所述多個提取日誌生成所述點候選報告的步驟,其中由所述點候選報告所指示的多個候選對應於所述多個提取日誌;並且所述多個候選中對應於單個日誌的候選指示了由所述單個日誌所指示的調用棧中的最深調用。
(補充說明9)根據補充說明8所述的應用程式修改部分搜索方法,其中當所述多個日誌的第一日誌包括所述多個日誌的第二日誌時,通過從所述多個日誌中刪除所述第一日誌來生成所述多個提取日誌。(補充說明10)根據補充說明8或補充說明9所述的應用程式修改部分搜索方法,還包括將不同於所述參數的另一參數被進一步輸入時生成的多個完整日誌劃分成所述多個日誌和指示所述多個方法中將所述另一參數指定為自變量的另一方法的調用棧的多個其他日誌的步驟;以及從所述多個其他日誌中提取多個其他提取日誌的步驟,
其中進一步基於所述多個其他提取日誌生成所述點候選報告。(補充說明11)一種使得計算機執行根據補充說明6到10中任意一項所述的應用程式修改部分搜索方法的電腦程式。(補充說明12)一種記錄了根據補充說明11所述的應用程式修改部分搜索方法的計算機可讀記錄介質。
權利要求
1.一種應用程式修改部分搜索裝置,包括 測試執行部分,該測試執行部分當基於輸入參數對應用程式執行覆蓋測試時生成多個日誌;以及 結果處理部分,該結果處理部分基於所述多個日誌生成點候選報告, 其中所述多個日誌分別指示在所述覆蓋測試的執行期間被調用的多個方法中、將所述參數指定為自變量的方法的調用棧, 所述調用棧指示在所述應用程式上的其中定義了所述方法的調用的位置,並且所述點候選報告指示了在所述應用程式中當基於所述參數執行處理調度時對其來說修改是必要的點的候選。
2.根據權利要求I所述的應用程式修改部分搜索裝置,其中所述測試執行部分包括 方面處理部分,該方面處理部分基於所述參數生成程序邏輯; 執行引擎部分,該執行引擎部分將所述程序邏輯應用到所述應用程式; 輸入輸出驗證部分,該輸入輸出驗證部分當所述應用程式的每一個方法被調用時基於所述程序邏輯評估所述參數是否表現為所述每一個方法的自變量;以及 日誌提取部分,該日誌提取部分當所述參數表現為所述每一個方法的自變量時基於所述每一個方法的調用棧生成所述日誌。
3.根據權利要求2所述的應用程式修改部分搜索裝置,其中所述結果處理部分包括 處理棧分析部分,該處理棧分析部分從所述多個日誌中提取多個提取日誌;以及 報告生成部分,該報告生成部分基於所述多個提取日誌生成所述點候選報告, 其中,由所述點候選報告所指示的多個候選對應於所述多個提取日誌;並且所述多個候選中對應於單個日誌的候選指示了由所述單個日誌所指示的調用棧中的最深調用。
4.根據權利要求3所述的應用程式修改部分搜索裝置,其中當所述多個日誌的第一日誌包括所述多個日誌的第二日誌時,所述處理棧分析部分通過從所述多個日誌中刪除所述第一日誌來生成所述多個提取日誌。
5.根據權利要求3或4所述的應用程式修改部分搜索裝置,其中所述測試執行部分當不同於所述參數的另一參數被進一步輸入時生成多個完整日誌, 所述處理棧分析部分進一步將所述多個完整日誌劃分成所述多個日誌和指示所述多個方法中將所述另一參數指定為自變量的另一方法的調用棧的多個其他日誌,並且從所述多個其他日誌中提取多個其他提取日誌,並且 所述報告生成部分進一步基於所述多個其他提取日誌生成所述點候選報告。
6.—種應用程式修改部分搜索方法,包括 當基於輸入參數對應用程式執行覆蓋測試時生成多個日誌的步驟; 基於所述多個日誌生成點候選報告的步驟;以及 基於所述點候選報告定製所述應用程式的步驟, 其中所述多個日誌分別指示在所述覆蓋測試的執行期間被調用的多個方法中將所述參數指定為自變量的方法的調用棧, 所述調用棧指示在所述應用程式上的其中定義了所述方法的調用的位置,並且 所述點候選報告指示了在所述應用程式中當基於所述參數執行處理調度時對其來說修改是必要的點的候選。
7.根據權利要求6所述的應用程式修改部分搜索方法,還包括 基於所述參數生成程序邏輯的步驟; 將所述程序邏輯應用到所述應用程式的步驟; 當調用所述應用程式的每一個方法時,基於所述程序邏輯評估所述參數是否表現為所述每一個方法的自變量的步驟;以及 當所述參數表現為所述每一個方法的自變量時,基於所述每一個方法的調用棧生成所述日誌的步驟。
8.根據權利要求7所述的應用程式修改部分搜索方法,還包括 從所述多個日誌中提取多個提取日誌的步驟;以及 基於所述多個提取日誌生成所述點候選報告的步驟, 其中由所述點候選報告所指示的多個候選對應於所述多個提取日誌; 並且 所述多個候選中對應於單個日誌的候選指示了由所述單個日誌所指示的調用棧中的最深調用。
9.根據權利要求8所述的應用程式修改部分搜索方法,其中當所述多個日誌的第一日誌包括所述多個日誌的第二日誌時,通過從所述多個日誌中刪除所述第一日誌來生成所述多個提取日誌。
10.根據權利要求8或9所述的應用程式修改部分搜索方法,還包括 將不同於所述參數的另一參數被進一步輸入時生成的多個完整日誌劃分成所述多個日誌和指示所述多個方法中將所述另一參數指定為自變量的另一方法的調用棧的多個其他日誌的步驟;以及 從所述多個其他日誌中提取多個其他提取日誌的步驟, 其中進一步基於所述多個其他提取日誌生成所述點候選報告。
全文摘要
所公開的應用程式修改部分搜索裝置設有測試執行單元和結果處理單元,測試執行單元用於當基於已輸入的參數對應用程式執行窮盡測試時創建多個日誌,結果處理單元用於基於多個日誌創建點候選報告。多個日誌中的每一個示出了當窮盡測試被執行時調用的多個方法中指定該參數作為自變量的方法的調用棧。調用棧額外示出了已定義了方法的調用的應用程式中的位置。點候選報告示出了在應用程式內的點中當通過參數執行處理切換時對其來說修改是必要的點的候選。
文檔編號G06F9/44GK102782649SQ20118001231
公開日2012年11月14日 申請日期2011年3月2日 優先權日2010年3月4日
發明者副島賢司 申請人:日本電氣株式會社

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀