一種源代碼比較設備包括差異提取部,提取修正前源代碼與修正后源代碼之間的差異;語法分析部,將提取的差異分割為與能夠在源代碼中使用的構成要素相對應的分割差異,并產生語法分析結果,所述語法分析結果將所述分割差異與對應于所述分割差異的構成要素相關聯;特征分析部,針對語法分析結果中包括的每個分割差異來設置特征區分和輸出部;以及輸出部,輸出將所述分割差異與針對所述分割差異設置的特征區分相關聯的比較結果。如果語法分析結果中包括的構成要素被包括在將構成要素與特征區分相關聯的修正歷史中,則特征分析部針對與語法分析結果中的構成要素相關聯的分割差異,設置與修正歷史中的構成要素相關聯的特征區分。
【技術實現步驟摘要】
本專利技術涉及一種源代碼比較裝置、源代碼比較方法及源代碼比較程序。
技術介紹
常規上,對于確認修正源代碼內容的技術而言,例如使用如下方法使用UNIX 的 diff命令,以行為單位比較修正前后的文本源代碼,并顯示源代碼之間的差異。然而,僅利 用這種文本差異,用戶自己還必須確定每個修正對應于哪個函數或特征。因此,如果存在與 多個特征相關的混合修正,則變得難以將修正位置與特征相關聯。存在用于將修正位置與 特征相關聯的技術,例如在下述專利文獻I和2中公開的技術。專利文獻I中公開的技術將未修正源代碼與修正后源代碼相比較來提取修正位 置,并通過使用源代碼的語法分析結果來將修正位置與變量名或函數名相關聯。專利文獻2 中公開的技術預先按照等級構造源代碼,以將源代碼分為程序、模塊、文件和函數中的各個 等級,并通過以程序、模塊、文件和函數的相應等級單位將未修正源代碼與修改后源代碼相 比較來將修正位置與等級特征相關聯。[專利文獻I] JPO8-1M6IlA[專利文獻2] JP2OO6-277I27A在高于變量名和函數名的較高等級中,與專利文獻I 一樣,僅將語法分析結果用 于與模塊、文件等相關聯是不充分的。此外,在專利文獻2中,因為必需預先定義和預先登 記程序、模塊等的等級結構,如果例如設計信息不可用,則可以設想在添加信息期間會遺漏 登記,從而難以進行管理。
技術實現思路
本專利技術被配置為解決上述問題,以及本專利技術的示例性目標在于,提供一種源代碼 比較設備、源代碼比較方法和源代碼比較程序,能夠正確而簡單地將修正位置與特征相關聯。根據本專利技術的一個方面,提供了一種源代碼比較設備,包括差異提取部,提取修 正前源代碼與修正后源代碼之間的差異;語法分析部,將提取的差異分割為與能夠在源代 碼中使用的構成要素相對應的分割差異,并產生將所述分割差異與對應于所述分割差異的 構成要素相關聯的語法分析結果;特征分析部,針對語法分析結果中包括的每個分割差異 設置特征區分;以及輸出部,輸出將所述分割差異與針對所述分割差異設置的特征區分相 關聯的比較結果,其中,所述特征分析部被配置為如果語法分析結果中包括的構成要素被 包括在將構成要素與特征區分相關聯的修正歷史中,則針對與語法分析結果中的構成要素相關聯的所述分割差異,設置與修正歷史中的構成要素相關聯的特征區分。根據本專利技術的另一方面,提供了一種源代碼比較方法,包括差異提取步驟,提取 修正前源代碼與修正后源代碼之間的差異;語法分析步驟,將提取的差異分割為與能夠在 源代碼中使用的構成要素相對應的分割差異,并產生將所述分割差異與對應于所述分割差 異的構成要素相關聯的語法分析結果;特征分析步驟,針對語法分析結果中包括的每個分 割差異設置特征區分;以及輸出步驟,輸出將所述分割差異與針對所述分割差異設置的特 征區分相關聯的比較結果,其中,所述特征分析步驟被配置為如果語法分析結果中包括的 構成要素被包括在將構成要素與特征區分相關聯的修正歷史中,則針對與語法分析結果中 的構成要素相關聯的所述分割差異,設置與修正歷史中的構成要素相關聯的特征區分。根據本專利技術的再一方面,提供了一種存儲源代碼比較程序的計算機可讀介質,所 述源代碼比較程序包括用于使計算機執行處理的指令,所述處理包括以下步驟差異提取 步驟,提取修正前源代碼與修正后源代碼之間的差異;語法分析步驟,將提取的差異分割為 與能夠在源代碼中使用的構成要素相對應的分割差異,并產生將所述分割差異與對應于所 述分割差異的構成要素相關聯的語法分析結果;特征分析步驟,針對語法分析結果中包括 的每個分割差異設置特征區分;以及輸出步驟,輸出將所述分割差異與針對所述分割差異 設置的特征區分相關聯的比較結果,其中,所述特征分析步驟被配置為如果語法分析結果 中包括的構成要素被包括在將構成要素與特征區分相關聯的修正歷史中,則針對與語法分 析結果中的構成要素相關聯的所述分割差異,設置與修正歷史中的構成要素相關聯的特征 區分。根據本專利技術,能夠正確而簡單地將修正位置與特征相關聯。附圖說明圖1是對根據本專利技術示例性實施例的源代碼比較設備的配置進行舉例說明的圖2是對語法分析結果進行舉例說明的圖3是對分割后語法分析結果進行舉例說明的圖4是對修正歷史表的數據配置進行舉例說明的圖5是對臨時特征分析結果進行舉例說明的圖6是對特征分析結果進行舉例說明的圖7是對修正歷史表的另一數據配置進行舉例說明的圖8是對比較結果進行舉例說明的圖9是對另一比較結果進行舉例說明的圖10是用于說明比較未修正與修正后源代碼期間的操作的流程圖11是對比較未修正與修正后源代碼期間的數據轉變的狀態進行舉例說明的 圖12是示出了當根據修改的適當性檢查部檢查修正適當性的示例的模式圖13是對按照每個特征區分計算得到的每個構成要素的修正率進行舉例說明的 圖14是以特征區分的構成要素為單位對過去修正率與當前修正狀況之間的相應 關系進行舉例說明的圖15是示出了將修正歷史寫入源代碼以保存修正歷史的示例的模式圖。具體實施方式以下,將參考附圖說明根據本專利技術的源代碼比較設備、源代碼比較方法和源代碼比較程序。首先,參考圖1,說明示例性實施例中的源代碼比較設備的功能配置。例如,源代碼比較設備I功能上具有差異提取部11、語法分析部12、特征分析部13、修正歷史登記部14 和比較結果輸出部15。這里,源代碼比較設備I物理上被配置為包括例如CPU (中央處理單元)、存儲器和輸入和輸出接口。存儲器包括如下元件例如ROM(只讀存儲器)和用于存儲要由CPU處理的程序和數據的HDD (硬盤驅動器)、主要用作控制進程的各個工作區的RAM(隨機存取存儲器)等。這些元件彼此經由總線相連。CPU可以通過如下步驟實現源代碼比較設備I中的每個部件的功能執行ROM中存儲的程序,并處理經由輸入和輸出接口接收的源代碼和消息、加載到RAM中的數據等。差異提取部11將未修正源代碼與修正后源代碼相比較,以提取差異。對于比較源代碼的方法,能夠使用普通(ordinary)文本比較處理。差異提取部11通過依次比較源代碼的相應文本,來枚舉(enumerate)未修正源代碼與修正后源代碼之間的差異。S卩,差異提取部11可以被描述為提取未修正源代碼與修正后源代碼之間的差異。語法分析部12根據由差異提取部11提取的差異來枚舉修正對象的構成要素,并產生語法分析結果。構成要素是能夠在源代碼中使用的這些構成元素,例如相應變量、函數、結構體等。圖2示出了語法分析結果的示例。圖2的語法分析結果示出了作為源代碼之間的差異,提取了 “差異1”、“差異2”和“差異3”,其中“差異I”中包括作為構成要素的 “函數1”,“差異2”中包括作為構成要素的“變量I”和“結構體1 ”,以及“差異3”中包括作為構成要素的“函數2”。如果存在包括多個構成要素的差異,則語法分析部12根據每個構成要素分割差異,并更新語法分析結果。這是由于考慮了如下事實在對源代碼中鄰近描述的多個構成要素進行修正的情況下,包括多個構成要素的差異被提取作為差異塊(clump)。在這種情況下,根據每個構成要素分割差異,圖3示出了分割之后的語法分析結果的示例。圖3的語法分析結果示出了,因為圖2的“差異2”包括多個構成要素(“變量I”和“結構體2”),“差異2”被分割為與構成要素本文檔來自技高網...
【技術保護點】
一種源代碼比較設備,包括:差異提取部,提取修正前源代碼與修正后源代碼之間的差異;語法分析部,將提取的差異分割為與能夠在源代碼中使用的構成要素相對應的分割差異,并產生語法分析結果,其中,所述語法分析結果將所述分割差異與對應于所述分割差異的構成要素相關聯;特征分析部,針對語法分析結果中包括的每個分割差異設置特征區分;以及輸出部,輸出將所述分割差異與針對所述分割差異設置的特征區分相關聯的比較結果,其中,所述特征分析部被配置為如果語法分析結果中包括的構成要素包括在將構成要素與特征區分相關聯的修正歷史中,則針對與語法分析結果中的構成要素相關聯的所述分割差異,設置與修正歷史中的構成要素相關聯的特征區分。
【技術特征摘要】
2011.09.20 JP 2011-2049241.一種源代碼比較設備,包括差異提取部,提取修正前源代碼與修正后源代碼之間的差異;語法分析部,將提取的差異分割為與能夠在源代碼中使用的構成要素相對應的分割差異,并產生語法分析結果,其中,所述語法分析結果將所述分割差異與對應于所述分割差異的構成要素相關聯;特征分析部,針對語法分析結果中包括的每個分割差異設置特征區分;以及輸出部,輸出將所述分割差異與針對所述分割差異設置的特征區分相關聯的比較結果,其中,所述特征分析部被配置為如果語法分析結果中包括的構成要素包括在將構成要素與特征區分相關聯的修正歷史中,則針對與語法分析結果中的構成要素相關聯的所述分割差異,設置與修正歷史中的構成要素相關聯的特征區分。2.根據權利要求1所述的源代碼比較設備,其中,所述特征分析部被配置為如果所述語法分析結果中包括的構成要素沒有包括在所述修正歷史中,則對于與所述語法分析結果中的構成要素相關聯的分割差異,暫時將對所述修正歷史中不包括構成要素加以指示的信息設置為特征區分,并促使用戶輸入用于暫時設置的特征區分的信息。3.根據權利要求2所述的源代碼比較設備,其中,所述特征分析部被配置為當接受用戶輸入的用于暫時設置的特征區分的信息時,通過將所述暫時設置的特征區分改變為接受的信息,來設置針對所述分割差異的信息作為特征區分。4.根據權利要求1所述的源代碼比較設備,還包括適當性檢查部,其中,所述修正歷史是將用于標識對源代碼的修正的信息與構成要素和特征區分相關聯的信息;以及所述適當性檢查部基于修正歷史,計算對源代碼執行第一修正的次數相對于對源代碼執行第二修正的次數之比,所述第一修正包括與關聯于特征區分的特定構成要素相對應的部分的改變,所述第二修正包括與關聯于所述特征區分的任意構成要素相對應的部分的改變;以及當針對語法分析結果中包括的至少一個分割差異設置了所述特征區分且所述比率等于或大于預定閾值時,如果提取的差異不包括與所述特定構成要素相對應的部分,則所述適當...
【專利技術屬性】
技術研發人員:野村芳明,
申請(專利權)人:日本電氣株式會社,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。