源代碼形成和提供裝置、以及源代碼形成和提供方法

            文檔序號:10699111閱讀:601來源:國知局
            源代碼形成和提供裝置、以及源代碼形成和提供方法
            【專利摘要】本發明的課題在于針對源代碼,擴大可公共化處理的范圍,使用方便性·維護性良好,具有通用性,可以良好的效率而公共化處理。針對各源代碼,形成嵌入代碼信息,該嵌入代碼信息由已形成的公共代碼和已檢測的差分構成,針對各源代碼,從已獲得的位置信息中,刪除部分代碼,在已刪除的位置,嵌入已形成的嵌入代碼,不實質上改變源代碼的結構上的形態,形成嵌入好的源代碼。
            【專利說明】
            源代碼形成和提供裝置、以及源代碼形成和提供方法
            技術領域
            [0001 ]本發明涉及源代碼形成和提供裝置,以及源代碼形成和提供方法。
            【背景技術】
            [0002]在系統的維護作業中,具有因長年的源代碼的修正,因設計書的不完備,或因數據項目,邏輯的樣式變更,產生代碼(邏輯,數據項目定義等的代碼)的重復,源代碼的可讀性降低的問題,維護作業的效率降低。為此,通過手工作業,進行重構(重復代碼的公共化處理的源代碼規模的縮小)作業,進行維護性的恢復。
            [0003]在專利文獻I中提出腳本(script)的源代碼自動形成的方法,在專利文獻I中記載至IJ:在具有作為形成結果的相同代碼的場合,對重復部分進行公共化處理。
            [0004]在專利文獻2中記載到:作為重復作為代碼的檢測方法,利用已有的代碼克隆檢測工具,從源文件,檢測代碼克隆,進行重復部分公共化處理。
            [0005]已有技術文獻專利文獻
            專利文獻1: JP特開2007—304998號文獻專利文獻2: JP特開2009—176064號文獻。

            【發明內容】

            [0006]發明要解決的課題
            在作為謀求手工作業的重復代碼的公共化處理的方法中,具有質量低,作業成本高的問題。此外,在手工作業中,具有下述問題,即,變量名不同等的,不完全一致,難以檢測類似的源代碼,重復代碼的公共化處理無法有效地進行。
            [0007]另外,在專利文獻I的技術中,如果形成于源代碼形成過程中,對重復代碼進行公共化處理的機構,則雖然可對僅僅影響形成中的源代碼的重復代碼進行公共化處理,但是,由于無法對跨過在代碼的公共化處理時已形成好的源代碼的重復代碼進行公共化處理,故具有無法對跨于多個程序之間而存在的重復代碼進行公共化處理的問題。
            [0008]另外,在專利文獻2的技術中,在形成相對變量的范圍可局部化的結構化語言,有效的技術,C0B0L85那樣的變量為全局變量(涉及變量的影響范圍經常進行變量宣言的程序整體)的,初始的結構化程序語言的場合,具有在重復代碼中包含的變量作為函數的參數而形成時,源代碼冗長,源代碼的可讀性降低的問題。此外,在專利文獻2的技術中,由變量宣言構成的數據結構的定義不是重構(代碼公共化處理)的對象。
            [0009]還有,在代碼的公共化處理后,修正或維護源代碼的場合,由于必須考慮代碼公共化處理的源代碼的變更,故具有代碼公共化處理后的維護性難以提高的問題。
            [0010]本發明的目的在于相對通過初始的結構化程序語言而形成的源代碼,可以良好的效率形成經過重構的源代碼。
            [0011]另外,本發明的目的在于形成,提供使重構后的維護作業容易用的維護用信息。
            [0012]用于解決課題的技術方案
            本發明提供一種源代碼形成裝置,其特征在于該源代碼形成裝置包括:
            類似代碼檢測機構,該類似代碼檢測機構解析源代碼,檢測源代碼中包含的相互類似的部分代碼,獲得該源代碼上的位置信息;
            公共代碼形成機構,該公共代碼形成機構根據上述已檢測的相互類似的多個部分代碼,形成公共代碼,并且形成該公共代碼和上述類似的相應的各部分代碼的差分信息;
            部分代碼替換機構,該部分代碼替換機構根據上述位置信息,將上述源代碼內的上述類似的各部分代碼,替換為插入上述公共代碼和上述部分代碼的差分信息的插入代碼。
            [0013]本發明提供源代碼形成裝置,其涉及上述的源代碼形成裝置,其特征在于上述類似的部分代碼為在程序文法上視為等同的代碼克隆;
            上述差分信息為用于將上述部分代碼內的描述替換為其它的描述的信息。
            [0014]本發明提供源代碼形成裝置,其涉及上述的源代碼形成裝置,其特征在于上述類似代碼檢測機構根據程序文法,抽取作為上述代碼克隆的類似的部分代碼,通過已抽取的多個部分代碼的比較或基準的比較,進行作為該部分代碼的替換對象的一部分除外或分割的粒度調整。
            [0015]本發明提供源代碼形成裝置,其涉及上述的源代碼形成裝置,其特征在于其包括維護用信息形成機構,該維護用信息形成機構形成具有上述已替換的類似的部分代碼,與上述位置信息,上述公共代碼,與上述差分信息的維護用信息。
            [0016]本發明提供一種源代碼形成方法,其特征在于該方法包括:
            類似代碼檢測步驟,在該步驟中,類似代碼檢測機構解析源代碼,檢測源代碼中包含的相互類似的部分代碼,獲得該源代碼上的位置信息;
            公共代碼形成步驟,在該步驟中,公共代碼形成機構根據上述已檢測的相互類似的多個部分代碼,形成公共代碼,并且形成該公共代碼和上述類似的相應的各部分代碼的差分信息
            部分代碼替換步驟,在該步驟中,部分代碼替換機構根據上述位置信息,將上述源代碼內的上述類似的各部分代碼,替換為插入上述公共代碼和上述部分代碼的差分信息的插入代碼。
            [0017]本發明提供源代碼形成方法,其涉及上述的源代碼形成方法,其特征在于上述類似的部分代碼為在程序文法上視為等同的代碼克隆;
            上述差分信息為用于將上述部分代碼內的描述替換為其它的描述的信息。
            [0018]本發明提供源代碼形成方法,其涉及上述源代碼形成方法,其特征在于在上述類似代碼檢測步驟中,根據程序文法,抽取作為上述代碼克隆的類似的部分代碼,通過已抽取的多個部分代碼的比較或基準的比較,進行作為該部分代碼的替換對象的一部分除外或分割的粒度調整。
            [0019]本發明提供一種源代碼提供方法,其特征在于該方法不但提供在上述的源代碼形成方法中形成的源代碼;
            而且該方法包括維護用信息形成步驟,在該步驟中,提供具有上述已替換的類似的部分代碼,與上述位置信息,上述公共代碼,與上述差分信息的維護用信息。
            [0020]發明的效果在本發明中,由于不同于過去的重構裝置,將重構對象不僅僅擴大到函數單位,而擴大到變量宣言,故可對更多的重復代碼進行公共化處理,另外可進一步提高維護性。
            [0021]另外,本發明涉及適合于通過初始的結構化語言而制作的源代碼的重構裝置,可在適用于初始的結構化語言的利用多的維護期間長的系統的方面發揮很大的效果。
            【附圖說明】
            [0022]圖1為通過方框而表示本發明的實施例的形態的圖;
            圖2為表示進行2個類似部分代碼的公共化處理的方法,與進行其自動化的步驟的圖; 圖3為表不方法的實施例的圖;
            圖4為表示類似代碼的抽取的內容的具體細節的圖;
            圖5為表示公共代碼的形成的內容的具體細節的圖;
            圖6為表示公共代碼嵌入命令的替換的內容的具體細節和維護用資料的形成的內容的圖;
            圖7為表示文件I,文件2,文件3的例子的圖;
            圖8為表示類似代碼的抽取例子的圖;
            圖9為表示類似代碼的抽取例子的圖;
            圖10為表示類似部分代碼信息的圖;
            圖11為表示公共代碼的形成的圖;
            圖12為表示共同代碼嵌入命令的替換的圖;
            圖13為表示針對文件I,文件2,插入埋入命令的圖;
            圖14為表示重構判斷基準信息例子的圖;
            圖15為表示重構判斷例子的圖。
            [0023]標號的說明:
            標號I表示代碼克隆檢測機構;
            標號2表示代碼克隆信息獲得機構;
            標號3表示代碼克隆信息獲得調整機構;
            標號4表示代碼克隆信息獲得機構;
            標號6表示部分克隆間差分信息形成機構;
            標號7表示公共代碼形成機構;
            標號8表示嵌入代碼信息獲得機構;
            標號9表示調整源代碼形成機構;
            標號10表不數據庫;
            標號100表示源代碼形成機構;
            標號101表不處理器;
            標號102表示源代碼;
            標號103表示嵌入好的源代碼;
            標號104表示維護用信息;
            標號105表示維護用信息形成機構;
            標號110表示源代碼提供裝置。
            【具體實施方式】
            [0024]下面通過附圖,對本發明的形態進行說明。
            實施例
            [0025]圖1為通過方框而表示本發明的實施例的源代碼形成裝置100。
            [0026]在圖1中,源代碼形成裝置100參考處理器101所具有的源代碼102。該源代碼102是通過變量為全局變量的初期的結構化程序語言而描述的。
            [0027]源代碼形成裝置100由代碼克隆檢測機構I,代碼克隆信息獲得機構2,公共化單位設定和代碼克隆信息調整機構3,代碼克隆信息獲得機構4,部分代碼間差分信息形成機構6,公共代碼形成機構7,嵌入代碼信息獲得機構8,調整源代碼形成機構9,與數據庫10構成。這些機構通過通信線路11而相互鏈接,可進行信息的授受。源代碼提供裝置110由源代碼形成裝置100和維護用信息形成機構105構成。維護用信息形成機構105通過通信線路13,與源代碼形成裝置100相互鏈接,可進行信息的授受。外部的處理器101和源代碼提供裝置110通過普通的通信線路12而鏈接。還可通過其它的機構而連接。進行通過通信線路12而形成的信息的相互授受。
            [0028]在關于源代碼的使用的場合,具有類似部分代碼構成包含于代碼克隆中的下位概念的情況,但是在這里,指定代碼克隆(或克隆)處于2個部分代碼類似的類似部分代碼的關系的場合,而使用該代碼克隆(或克隆)。在部分代碼相同的場合,作為同一部分代碼而給出。
            [0029]代碼克隆檢測機構I進行源代碼解析,與構成作為代碼克隆而把握的部分代碼的類似部分代碼與同一部分代碼的檢測。部分代碼通常由相互相同的同一部分代碼,相互類似的類似部分代碼構成,進行部分代碼的識別。在通過同一部分代碼而指定的公共化處理中,在公共化范圍中具有界限,在本實施例中,還針對類似部分代碼,進行公共化處理。像這樣,主要對類似部分代碼進行說明,但是,沒有排除同一部分代碼的公共化處理。關于代碼克隆的檢測法,報告有各種的檢測方法,可采用各種的檢測方法。
            [0030]代碼克隆檢測機構I解析單一或多個源代碼,以針對在該源代碼中包含的至少2個部分代碼,構成部分代碼的標記(token)類別的行等同的情況為條件,將類似部分代碼作為代碼克隆而檢測。克隆為在編程語言的文法上,構成源代碼的最小單位的字符串。
            [0031]代碼克隆信息獲得機構2獲得通過代碼克隆檢測機構I而檢測的部分代碼的源代碼上的位置信息。位置信息指區域信息。
            [0032]代碼克隆信息調整機構3進行公共化單位設定,讀入通過代碼克隆信息獲得機構2而獲得的部分代碼的位置信息,抽取具有任意的粒度(結構一致)的部分代碼。粒度作為進行代碼的公共化的單位而設定。粒度可根據源代碼形成裝置100產生的源代碼的理解容易性,維護性而確定。
            [0033]代碼克隆信息獲得機構4通過代碼克隆信息調整機構3,設定公共化單位,獲得已抽取的部分代碼的源代碼上的位置信息。通過代碼克隆信息獲得機構2而獲得的部分代碼的位置信息破壞。
            [0034]部分代碼間差分信息形成機構6檢測部分代碼間的差分。對于差分,在具有類似代碼的關系的部分代碼間進行檢測。根據已檢測的差分,獲得部分代碼間差分信息。
            [0035]公共代碼形成機構7按照預定的規則,根據針對代碼克隆而預定的單位,作為典型方式根據粒度,形成公共代碼。也可在公共代碼的形成中,確定不采用部分代碼間差分信息的規則。檢測已形成的公共代碼,與處于類似代碼的關系的部分代碼的差分。將已檢測的差分信息作為部分代碼間差分信息而獲得。
            [0036]通過公共代碼形成機構7而獲得的部分代碼間差分信息破壞。
            [0037]嵌入代碼信息獲得機構8根據部分代碼間差分信息,形成帶有差分信息的類似代碼?目息O
            [0038]調整源代碼形成機構9根據上述處理結果,形成從各源代碼中刪除該部分代碼的命令,形成嵌入好的源代碼的公共代碼插入指示命令。
            [0039]所刪除的命令為與已獲得的部分代碼的位置信息關聯,而刪除該部分代碼的命令,形成嵌入好的源代碼的公共代碼插入指示命令為于已刪除的位置,嵌入由嵌入代碼信息而形成的公共代碼和已形成的差分信息,不實質上改變源代碼的結構上的形態,形成嵌入好的源代碼的命令。嵌入好的源代碼為源代碼。
            [0040]通過像這樣形成,形成提供給,用于外部的處理器101的嵌入好的源代碼。像這樣,已形成的規模減小的源代碼103用于處理器101中的處理。
            [0041]源代碼提供裝置110將規模減小的源代碼103,與已形成的通過源代碼維護用信息形成機構105而形成的維護用信息104提供到處理器101中。通過這2者的提供,顧客容易使用源代碼。
            [0042]圖2表示進行2個類似部分代碼的公共處理的方法,與包括進行其自動化的方法的圖。
            [0043]在圖2中,步驟是大致劃分的,其方法由:
            I.類似代碼的抽取步驟(即,代碼克隆抽取步驟);
            2.公共代碼的形成步驟;
            3.公共代碼嵌入命令的替換步驟;
            4.維護用資料的形成步驟;
            5.形成信息提供步驟
            構成,通過這些步驟,將源代碼和關聯的維護用信息提供給作為使用者的顧客的終端。
            [0044]在1.類似代碼的抽取步驟中,
            I一I在下述的條件下,抽取類似部分代碼。
            [0045]I)進行公共化的單位。作為公共化的單位,抽取單位為預定的任意的粒度;
            2)形成在程序文法上視為等同的句子結構(代碼克隆);
            I 一2獲得作為類似部分代碼的信息的,下述的信息。
            [0046].類似部分代碼中的占據于源代碼上的位置信息。
            [0047]在2.公共代碼的形成步驟中,根據已抽取的類似部分代碼,形成公共代碼文件。
            [0048]2—I形成公共代碼。對于公共代碼,如果按照相對關聯的類似部分代碼的差分少的方式形成公共代碼,則源代碼文件整體的維護性提高。
            [0049]2—2計算已形成的公共代碼,與關聯的類似部分代碼的差分。
            [0050]2—3將已形成的公共代碼作為公共代碼文件而形成。
            [0051]在3.公共代碼嵌入命令的替換步驟中,進行公共代碼嵌入命令的替換。進行公共代碼嵌入命令的替換。刪除源代碼內的各類似部分代碼,在已刪除的位置(I一2a)中,插入“在補充公共代碼和類似部分代碼的差分的同時,插入公共代碼文件的內容”的命令。即,插入公共代碼插入指示命令。像這樣,形成具有刪除命令和公共代碼插入指示命令的規模減小的源代碼。
            [0052]在4.維護用資料的形成步驟中,將已制作的公共代碼,已修正的源代碼的關聯,針對類似代碼而匯集,將由此得到的列表作為文件而輸出。將維護用信息與規模減小的源代碼一起地,提供給顧客。
            [0053]圖3表示源代碼提供方法的實施例。
            [0054]在圖3中,方法像上述那樣,由1.類似部分代碼的抽取和代碼調整;2.公共代碼的形成;3.公共代碼插入的替換;4.維護用資料的形成;5形成信息的提供構成。
            [0055]在圖3中,在類似部分代碼的抽取中,配備源代碼31(在圖1中,為源代碼102),參照已準備的源代碼31,進行靜態解析(靜態解析在過去是已知的),進行包括類似部分代碼的類似部分代碼的代碼克隆的檢測。獲得包括像這樣而切出,檢測的類似部分代碼的代碼克隆信息33。參照代碼克隆信息33,進行針對代碼克隆的調整,比如,粒度調整34。參照重構粒度信息39,針對進行了代碼克隆粒度調整34的代碼克隆,獲得代碼克隆信息35。
            [0056]按照重構調整基準,代碼克隆構成代碼克隆候補,制作文件。
            [0057]針對重構候補代碼,參照重構判斷基準信息36,進行重構判斷37,形成重構對象代碼克隆信息38。
            [0058]轉到2.公共代碼的形成。
            [0059]在該步驟,進行重構對象代碼克隆之間差分的檢測40。根據已檢測的差分,形成差分信息。參照差分信息,獲得帶有差分信息的代碼克隆信息41。參照帶有差分信息的代碼克隆信息41,進行公共代碼形成42。根據已形成的公共代碼和差分信息,獲得公共代碼43和公共化處理用的公共代碼信息44。
            [0060]轉到3.公共代碼嵌入命令的替換。
            [0061 ]為了該轉換,形成刪除命令,公共代碼插入指示命令,進行插入,即,嵌入45 ο形成,獲得具有該嵌入命令的嵌入源代碼46。由此,對于嵌入源代碼,實質上沒有改變維護前的源代碼的結構上的形態,與維護前的源代碼的規模相比較,尺寸縮小。
            [0062]轉到4.維護用資料用的形成和5.形成信息的提供。
            [0063]在該步驟,形成包括源代碼處理方法信息的維護用信息,提供已形成的,源代碼信息和維護用信息。
            [0064]像這樣,解析在處理器中進行的單一或多個源程序的多個源代碼,以下述情況為條件,檢測類似部分代碼,該下述情況指形成針對在該源代碼中包含的至少2個部分代碼而進行公共化處理的預定的單位,并且形成在程序文法上視為等同的句子結構;
            檢測多個源代碼的代碼克隆之間的差分,針對各源代碼,形成差分信息;
            針對各源代碼,形成由已形成的公共代碼和已形成的差分信息構成的嵌入代碼信息;形成與已獲得的位置信息關聯,而刪除該部分代碼的命令,以及嵌入好的源代碼,在已刪除的位置,嵌入由嵌入代碼信息而形成的公共代碼和已形成的差分信息,形成不實質上改變源代碼的結構上的形態,而形成嵌入好的源代碼的命令; 形成嵌入代碼信息的關系的維護用信息,其由多個程序的各調整部分代碼,與已形成的公共代碼和已檢測的差分構成;
            提供源代碼的結構上的形態實質上沒有改變,與參照的源代碼相比較,各規模縮小的源代碼和該嵌入代碼信息的關系的維護用信息。由此,顧客可進行采用像上述那樣而形成的公共代碼的源代碼的各種處理。
            [0065 ]圖4?圖6表示圖3所示的內容的具體細節。通過圖3而說明的事項不按照必要程度以上的程度而反復。
            [0066]圖4表示1.類似代碼的抽取的內容的具體細節。在圖4中,通過類似部分代碼抽取,抽取代碼克隆。從源代碼A中,將源代碼A內的一個代碼作為部分代碼(I)32A而抽取,構成一個部分代碼(1)32B。另外,從源代碼B,抽取源代碼B內的類似代碼(1)32C,構成類似部分代碼(1)32D。一個部分代碼(1)32B和類似部分代碼(1)32D的2個部分代碼處于類似的關系,處于代碼克隆的關系。
            [0067]像這樣,進行靜態解析,進行針對多個源代碼31的代碼克隆檢測32。
            [0068]對于判斷代碼的類似性的方法,人們知道有各種方法,可采用公知的方法的代碼類似判斷方法。
            [0069]根據一個部分代碼(1)32B和類似部分代碼(1)32D,獲得類似部分代碼信息33。作為類似部分代碼信息的,類似代碼中的占據于源代碼上的位置作為位置信息而獲得。
            [0070]在下一步驟,參照重構粒度信息39,進行將類似部分代碼調整到公共化處理的公共代碼的單位的代碼克隆粒度調整34。獲得按照代碼公共化實施單位而調整公共代碼的單位的代碼克隆信息35。將代碼克隆調整到公共代碼的粒度。即,調整到重構粒度。
            [0071]調整指削減類似部分代碼的一部分的代碼的一部分,或分割類似部分代碼,對應代碼公共化實施單位,比如,實施粒度。在公共代碼以下的粒度的場合,不需要公共化,從公共化處理的對象中排除。通過該調整,代碼公共化后的源代碼文件的維護性相對沒有進行調整的場合,是提尚的。
            [0072]對于調整單位,粒度單位,函數,數據結構等的(I)公共化處理后的程序維護性沒有受到損害,(2)適當設定大于后述的公共代碼插入命令的,程序語言上的粒度。即,對于粒度,從程序的運算處理或數據結構中的任意者或兩者的觀點,利用將程序語言結構上的粒度作為重構的對象,預先設定于重構粒度信息中的粒度。
            [0073]?給出削減到公共化的粒度單位的例子。將代碼克隆I34A削減到實施單位的公共化處理的粒度單位,構成代碼克隆I34B。于是,代碼克隆I指按照公共化處理的粒度單位而設定調整,設定的代碼克隆。
            [0074]?給出分割成公共化的粒度單位的例子。將代碼克隆II34C分割為實施單位的公共化處理的粒度單位,形成代碼克隆II34D和代碼克隆II34E。于是,代碼克隆1134 C和代碼克隆II34E構成以多個公共化處理的粒度單位而設定調整,設定的重構候補代碼。代碼克隆作為重構候補代碼,制成重構代碼克隆信息的文件。
            [0075]對于重構候補代碼,通過參考重構判斷基準信息36,進行重構判斷37(重構判斷部的判斷),形成重構對象代碼克隆,獲得代碼克隆信息38。在下面稱為代碼克隆。
            [0076]進行重構判斷37的重構部根據已提供的判斷信息(構成重構對象的源代碼的結構等),已計算的維護容易性的傾向(已有的尺度,比如,所削減的源代碼的規模,維護容易性指數等),設定從對象的代碼克隆信息文件中而進行重構的重構候補代碼。
            [0077]針對重構對象的“數據結構的描述”和“運算描述”的每個而進行判斷。接著,以調整單位,比如,程序語言的標記等級的粒度而收集像在下面所示的那樣選擇的代碼克隆之間的差分信息,將該結果與在先已選擇的代碼克隆關聯,獲得重構對象代碼克隆,將其存儲于重構代碼克隆信息文件中。
            [0078]像這樣,重構用于下述的步驟,S卩,不僅針對類似代碼,作為代碼克隆而檢測,而且按照形成公共化代碼,收集差分信息,可利用公共化代碼的方式進行置換,直至用于源代碼形成的公共代碼的適用。
            [0079]圖5表示2.公共代碼的形成的內容的具體細節。
            [0080]在代碼克隆之間差分抽取40中,檢測類似的代碼克隆之間的公共部分以外的差分。如果為完全相同的代碼,則沒有差分,但是,在類似的場合,具有差分。形成由公共代碼和與該公共代碼關聯的差分構成的嵌入用的代碼。
            [0081]在類似的代碼克隆中,具有公共部分在雙方中是公共的,在僅僅于一者中具有構成差分的代碼的情況,公共部分在雙方中是公共的,存在相互具有差異的代碼的情況。公共代碼形成在具有這些差異的場合,不具有差異的場合進行,在具有差異的場合,以差分添加于公共代碼中的方式形成。
            [0082]形成下述形態,其中,針對源代碼A的代碼克隆(1)40A和針對源代碼B的代碼克隆(I ’)40B為代碼克隆,在它們中,分別附加差分。代碼克隆(I )40A和代碼克隆(I ’)40B在代碼克隆之間,為同一部分。在類似部分代碼中,于其同一部分,附加各差分。根據代碼克隆(I)40A和其差分,代碼克隆(I’)40A和其差分,獲得帶有差分信息的代碼克隆41,重構對象代碼克隆信息41。該帶有差分信息的代碼克隆41用作嵌入用的代碼。
            [0083]由代碼克隆信息41,形成公共代碼43,針對公共代碼,存儲公共代碼文件。像這樣,存儲已形成于公共代碼文件中的公共代碼。
            [0084]在公共代碼形成42中,從各代碼克隆中,抽取公共部分,形成公共代碼文件。
            [0085]在源代碼A和其它的源代碼的代碼克隆(I,(1’)的代碼克隆之間,針對同一代碼部分,形成公共代碼。因此,像公共代碼43所示的那樣,對應于對象的源代碼,形成一個或多個公共代碼。通過形成公共代碼,形成公共代碼信息44,該公共代碼信息44由已獲得的代碼克隆位置信息和已形成的公共代碼以及檢測對象代碼克隆之間的差分構成。
            [0086]圖6表示3.公共代碼嵌入命令的替換的內容的具體細節和4.維護用資料的形成,
            5.形成信息的提供的內容。
            [0087]形成公共代碼插入指示命令,進行命令的嵌入45。
            [0088]從程序代碼中,刪除相當于重構代碼克隆的部分代碼,并且插入各公共代碼的插入代碼的插入命令。
            [0089]另外,在公共代碼插入指示命令中,附加所插入的公共代碼和公共代碼的差分信息。
            [0090]從源代碼中,刪除相當于重構對象代碼克隆的部分代碼,并且形成各公共代碼的所插入的插入命令,指示插入。附加與公共代碼的差分信息。形成嵌入好的源代碼46。
            [0091]在圖6中,從源代碼中,由該部分的位置起而進行相當于調整代碼克隆的部分代碼的刪除46A,并且插入已形成的各公共代碼的公共代碼插入指示命令46B。進行公共代碼插入指示命令嵌入46。另外,在公共代碼插入指示命令中,于所插入的公共代碼處附加與公共代碼的差分信息。
            [0092]作為同一部分和類似部分代碼的公共化處理的結果,嵌入好的源代碼46形成已形成的源代碼。針對同一部分代碼,通過上述步驟,可進行處理。
            [0093]4.形成維護用資料,5.提供形成信息。
            [0094]在該維護用資料的形成步驟,與公共化處理一起地,形成公共代碼列表.公共代碼調處源程序列表.刪除程序列表等的維護用資料。
            [0095]可提供已形成的信息。
            [0096].規模(代碼行數)列表資料:每個程序源代碼文件的,修正行數.刪除行數.追加行數等的規模的列表
            ?公共代碼列表:公共代碼的列表
            ?刪除代碼關聯列表:表示將公共代碼置換為哪個類似代碼的關聯的列表;
            ?修正代碼列表:因將類似代碼置換為公共代碼的影響而修正的部位的列表;
            在提供信息時,將已形成的源代碼的命令的嵌入信息作為原始的源代碼的維護用信息而形成,存儲;
            在外部的處理器中,不實質上改變源代碼的結構上的形態,與已參照的源代碼相比較,提供規模縮小的源代碼,將在該提供時存儲的維護用信息作為電子信息而提供。
            [0097]像這樣,構成源代碼提供裝置110,其中:
            形成嵌入代碼信息的關系的維護用信息,其由多個程序的各調整部分代碼,已形成的公共代碼和與公共代碼關聯而檢測的差分構成;
            不實質上改變源代碼的結構上的形態,提供與已參照的源代碼相比較,各規模縮小的源代碼和該嵌入代碼信息的關系的維護用信息。
            [0098]圖7?圖14表不公共化處理例子。
            [0099]圖7為COBDL記錄的例子,表示文件I,文件2,文件3的例子。
            [0100]圖8,圖9表示類似代碼的抽取例子。
            [0101]圖8表示克隆I的例子,圖9表示克隆2的例子。示出文件I的N0.2?5,文件2的N0.2?5,文件3的N0.13?16為代碼克隆的情況。
            [0102]圖9表示文件3,表示N0.15,16與N0.19,20為代碼克隆。
            [0103]圖10表示類似部分代碼。
            [0104]圖11表示共同代碼的形成。示出形成N0.2?5的公共代碼。
            [0105]圖12為表示共同代碼插入指示命令的替換。
            [0106]修正帶有背景色(網格)的部分。以邏輯方式刪除或以物理方式刪除文件I的N0.2?5,文件2的N0.2?5,文件3的N0.13?16。示出在文件3中的N0.17中插入公共代碼插入指示命令的情況。
            [0107]通過不實質上改變源代碼的結構上的形態,形成嵌入好的源代碼的命令而執行。
            [0108]圖13表示針對文件I,文件2,插入公共代碼插入指示命令的情況。
            [0109]圖14表示重構判斷基準信息例子。
            [0110]圖15表示重構判斷例子。例I為2個數據描述作為代碼克隆候補而存在,但是沒有構成重構對象的場合。例2為2個數據描述作為代碼克隆候補而存在,但是構成重構對象的場合。
            [0111]源代碼形成裝置100包括:
            代碼克隆檢測機構,該代碼克隆檢測機構解析于處理器中執行的單一或多個源程序的多個源代碼,以形成針對該源代碼中包含的至少2個部分代碼,進行公共化處理的預定單位,形成在程序文法上視為相同的句子結構為條件,檢測形成類似部分代碼克隆的情況;代碼克隆信息獲得機構,該代碼克隆信息獲得機構針對多個源代碼,已檢測的2個部分代碼處于代碼克隆關系,獲得該部分代碼的源代碼上的位置信息;
            公共代碼形成機構,該公共代碼形成機構針對多個程序的各代碼克隆,形成公共代碼;調整源代碼差分信息獲得機構,該調整源代碼差分信息獲得機構檢測多各源代碼的代碼克隆之間的差分,針對各源代碼,形成差分信息;
            嵌入代碼信息獲得機構,該嵌入代碼信息獲得機構針對各源代碼,形成由已形成的公共代碼和已形成的差分信息構成的嵌入代碼信息;
            調整源代碼形成機構,該調整源代碼形成機構包括從各源代碼中,刪除該部分代碼的命令,以及形成嵌入好的源代碼的命令;
            在這里,所刪除的命令為與已獲得的位置信息關聯而刪除該部分代碼的命令,形成嵌額好的源代碼的命令為下述的命令,其于已刪除的位置,嵌入由嵌入代碼信息形成的公共代碼和已形成的差分信息,不實質上改變源代碼的結構上的形態,形成嵌入好的源代碼。
            [0112]源代碼形成裝置100包括:
            粒度調整設定機構,該粒度調整設定機構針對多個源代碼的各代碼克隆,從已識別的粒度單位,按照預定的rule,調整,設定作為構成公共化實施單位的公共化代碼的單位的粒度;
            代碼克隆信息獲得機構,該代碼克隆信息獲得機構針對多個源代碼的各代碼克隆,獲得作為公共化實施單位的,經過調整,設定的公共化代碼粒度的信息;
            公共代碼形成機構針對多個程序的各代碼克隆,形成公共代碼;
            代碼克隆之間差分信息獲得機構檢測多個源代碼的代碼克隆之間的差分,針對各源代碼,形成差分信息;
            嵌入代碼信息獲得機構針對各源代碼,形成由該公共代碼和已形成的差分信息構成的嵌入代碼信息。
            [0113]形成嵌入好的源代碼的命令為下述命令,其根據嵌入代碼信息,嵌入該公共化代碼和與代碼克隆有關而形成的差分,不實質上改變源代碼的結構上的形態,形成嵌入好的源代碼。
            [0114]代碼克隆檢測機構檢測同一和類似部分代碼關系的情況,代碼克隆信息獲得機構獲得同一和類似部分代碼的信息。形成嵌入好的源代碼的命令為形成還嵌入了具有表示沒有差分的信息的嵌入代碼信息的源代碼的命令。
            [0115]像這樣,可對程序代碼的同一部分代碼和/或類似部分代碼進行公共化處理,由于形成插入上述刪除和嵌入命令的源代碼,故可有效地削減源代碼的規模。
            [0116]另外,源代碼的結構上的形態實質上沒有改變,在維護時,使用方便性,維護性良好,于是具有通用性,以良好的效率而進行公共化處理,將可公共化處理的范圍放大,以良好的效率而進行公共化,另外與參照的源代碼相比較,可提供規模縮小的源代碼。
            [0117]此外,可提供規模縮小而制作的源代碼。另外,按照本實施例,由于在像上述那樣而設定的公共代碼粒度下,獲得公共代碼信息,該公共代碼信息由代碼克隆關系的類似部分代碼和已形成的公共代碼以及已檢測的各公共代碼粒度代碼克隆類似部分代碼之間的差分構成,故針對各源代碼,從源代碼中刪除已獲得的代碼克隆關系的類似部分代碼,可分別插入已形成的公共代碼和已檢測的各公共代碼粒度代碼克隆類似部分代碼之間的差分,可形成代碼克隆嵌入好的源代碼。另外,由于可根據已設定的公共代碼粒度,對源代碼的同一部分和/或類似部分代碼進行公共化處理,故可有效地削減源代碼的規模。
            【主權項】
            1.一種源代碼形成裝置,其特征在于該源代碼形成裝置包括: 類似代碼檢測機構,該類似代碼檢測機構解析源代碼,檢測源代碼中包含的相互類似的部分代碼,獲得該源代碼上的位置信息; 公共代碼形成機構,該公共代碼形成機構根據上述已檢測的相互類似的多個部分代碼,形成公共代碼,并且形成該公共代碼和上述類似的相應的各部分代碼的差分信息; 部分代碼替換機構,該部分代碼替換機構根據上述位置信息,將上述源代碼內的上述類似的各部分代碼,替換為插入上述公共代碼和上述部分代碼的差分信息的插入代碼。2.根據權利要求1所述的源代碼形成裝置,其特征在于上述類似的部分代碼為在程序文法上視為等同的代碼克隆; 上述差分信息為用于將上述部分代碼內的描述替換為其它的描述的信息。3.根據權利要求2所述的源代碼形成裝置,其特征在于上述類似代碼檢測機構根據程序文法,抽取作為上述代碼克隆的類似的部分代碼,通過已抽取的多個部分代碼的比較或基準的比較,進行作為該部分代碼的替換對象的一部分除外或分割的粒度調整。4.根據權利要求1?3中的任何一項所述的源代碼形成裝置,其特征在于其包括維護用信息形成機構,該維護用信息形成機構形成具有上述已替換的類似的部分代碼,與上述位置信息,上述公共代碼,與上述差分信息的維護用信息。5.一種源代碼形成方法,其特征在于該方法包括: 類似代碼檢測步驟,在該步驟中,類似代碼檢測機構解析源代碼,檢測源代碼中包含的相互類似的部分代碼,獲得該源代碼上的位置信息; 公共代碼形成步驟,在該步驟中,公共代碼形成機構根據上述已檢測的相互類似的多個部分代碼,形成公共代碼,并且形成該公共代碼和上述類似的相應的各部分代碼的差分信息; 部分代碼替換步驟,在該步驟中,部分代碼替換機構根據上述位置信息,將上述源代碼內的上述類似的各部分代碼,替換為插入上述公共代碼和上述部分代碼的差分信息的插入代碼。6.根據權利要求5所述的源代碼形成方法,其特征在于上述類似的部分代碼為在程序文法上視為等同的代碼克隆; 上述差分信息為用于將上述部分代碼內的描述替換為其它的描述的信息。7.根據權利要求6所述的源代碼形成方法,其特征在于在上述類似代碼檢測步驟中,根據程序文法,抽取作為上述代碼克隆的類似的部分代碼,通過已抽取的多個部分代碼的比較或基準的比較,進行作為該部分代碼的替換對象的一部分除外或分割的粒度調整。8.一種源代碼提供方法,其特征在于該方法不但提供在權利要求5?7中的任何一項所述的源代碼形成方法中形成的源代碼; 而且該方法包括維護用信息形成步驟,在該步驟中,提供具有上述已替換的類似的部分代碼,與上述位置信息,上述公共代碼,與上述差分信息的維護用信息。
            【文檔編號】G06F9/44GK106068496SQ201580014888
            【公開日】2016年11月2日
            【申請日】2015年3月18日 公開號201580014888.7, CN 106068496 A, CN 106068496A, CN 201580014888, CN-A-106068496, CN106068496 A, CN106068496A, CN201580014888, CN201580014888.7, PCT/2015/58050, PCT/JP/15/058050, PCT/JP/15/58050, PCT/JP/2015/058050, PCT/JP/2015/58050, PCT/JP15/058050, PCT/JP15/58050, PCT/JP15058050, PCT/JP1558050, PCT/JP2015/058050, PCT/JP2015/58050, PCT/JP2015058050, PCT/JP201558050
            【發明人】城代佳範
            【申請人】日立公共系統有限公司
            網友詢問留言 已有0條留言
            • 還沒有人留言評論。精彩留言會獲得點贊!
            1
            婷婷六月激情在线综合激情,亚洲国产大片,久久中文字幕综合婷婷,精品久久久久久中文字幕,亚洲一区二区三区高清不卡,99国产精品热久久久久久夜夜嗨 ,欧美日韩亚洲综合在线一区二区,99国产精品电影,伊人精品线视天天综合,精品伊人久久久大香线蕉欧美
            亚洲精品1区 国产成人一级 91精品国产欧美一区二区 亚洲精品乱码久久久久久下载 国产精品久久久久久久伊一 九色国产 国产精品九九视频 伊人久久成人爱综合网 欧美日韩亚洲区久久综合 欧美日本一道免费一区三区 夜夜爽一区二区三区精品 欧美日韩高清一区二区三区 国产成人av在线 国产精品对白交换绿帽视频 国产视频亚洲 国产在线欧美精品 国产精品综合网 国产日韩精品欧美一区色 国产日韩精品欧美一区喷 欧美日韩在线观看区一二 国产区精品 欧美视频日韩视频 中文字幕天天躁日日躁狠狠躁97 视频一二三区 欧美高清在线精品一区二区不卡 国产精品揄拍一区二区久久 99久久综合狠狠综合久久aⅴ 亚洲乱码视频在线观看 日韩在线第二页 亚洲精品无码专区在线播放 成人亚洲网站www在线观看 欧美三级一区二区 99久久精品免费看国产高清 91麻豆国产在线观看 最新日韩欧美不卡一二三区 成人在线观看不卡 日韩国产在线 在线亚洲精品 亚洲午夜久久久久中文字幕 国产精品成人久久久久久久 精品国产一区二区在线观看 欧美精品国产一区二区三区 中文在线播放 亚洲第一页在线视频 国产午夜精品福利久久 九色国产 精品国产九九 国产永久视频 久久精品人人做人人综合试看 国产一区二区三区免费观看 亚洲精品国产电影 9999热视频 国产精品资源在线 麻豆久久婷婷国产综合五月 国产精品免费一级在线观看 亚洲国产一区二区三区青草影视 中文在线播放 国产成人综合在线 国产在线观看色 国产亚洲三级 国产片一区二区三区 久久99精品久久久久久牛牛影视 亚洲欧美日韩国产 四虎永久免费网站 国产一毛片 国产精品视频在 九九热在线精品 99精品福利视频 色婷婷色99国产综合精品 97成人精品视频在线播放 精品久久久久久中文字幕 亚洲欧美一区二区三区孕妇 亚洲欧美成人网 日韩高清在线二区 国产尤物在线观看 在线不卡一区二区 91网站在线看 韩国精品福利一区二区 欧美日韩国产成人精品 99热精品久久 国产精品免费视频一区 高清视频一区 精品九九久久 欧美日韩在线观看免费 91欧美激情一区二区三区成人 99福利视频 亚洲国产精品91 久热国产在线 精品久久久久久中文字幕女 国产精品久久久久久久久99热 成人自拍视频网 国产精品视频久久久久久 久久影院国产 国产玖玖在线观看 99精品在线免费 亚洲欧美一区二区三区导航 久久久久久久综合 国产欧美日韩精品高清二区综合区 国产精品视频自拍 亚洲一级片免费 久久久久久九九 国产欧美自拍视频 视频一区二区在线观看 欧美日韩一区二区三区久久 中文在线亚洲 伊人热人久久中文字幕 日韩欧美亚洲国产一区二区三区 欧美亚洲国产成人高清在线 欧美日韩国产码高清综合人成 国产性大片免费播放网站 亚洲午夜综合网 91精品久久一区二区三区 国产无套在线播放 国产精品视频网站 国产成人亚洲精品老王 91在线网站 国产视频97 欧美黑人欧美精品刺激 国产一区二区三区免费在线视频 久久久国产精品免费看 99re6久精品国产首页 久久精品91 国产成人一级 国产成人精品曰本亚洲 日本福利在线观看 伊人成综合网 久久综合一本 国产综合久久久久久 久久精品成人免费看 久久福利 91精品国产91久久久久久麻豆 亚洲精品成人在线 亚洲伊人久久精品 欧美日本二区 国产永久视频 国产一区二 一区二区福利 国产一毛片 亚洲精品1区 毛片一区二区三区 伊人久久大香线蕉综合影 国产欧美在线观看一区 亚洲国产欧洲综合997久久 国产一区二区免费视频 国产91精品对白露脸全集观看 久久亚洲国产伦理 欧美成人伊人久久综合网 亚洲性久久久影院 久久99国产精一区二区三区! 91精品国产欧美一区二区 欧美日韩亚洲区久久综合 日韩精品一二三区 久久久夜色精品国产噜噜 国产在线精品福利91香蕉 久久久久久久亚洲精品 97se色综合一区二区二区 91国语精品自产拍在线观看性色 91久久国产综合精品女同我 日韩中文字幕a 国产成人亚洲日本精品 久久国产精品-国产精品 久久国产经典视频 久久国产精品伦理 亚洲第一页在线视频 国产精品久久久久三级 日韩毛片网 久久免费高清视频 麻豆国产在线观看一区二区 91麻豆国产福利在线观看 国产成人精品男人的天堂538 一区二区三区中文字幕 免费在线视频一区 欧美日韩国产成人精品 国产综合网站 国产资源免费观看 亚洲精品亚洲人成在线播放 精品久久久久久中文字幕专区 亚洲人成人毛片无遮挡 国产一起色一起爱 国产香蕉精品视频在 九九热免费观看 日韩亚洲欧美一区 九九热精品在线观看 精品久久久久久中文字幕专区 亚洲欧美自拍偷拍 国产精品每日更新 久久久久国产一级毛片高清板 久久天天躁狠狠躁夜夜中文字幕 久久精品片 日韩在线毛片 国产成人精品本亚洲 国产成人精品一区二区三区 九九热在线观看 国产r级在线观看 国产欧美日韩精品高清二区综合区 韩国电影一区二区 国产精品毛片va一区二区三区 五月婷婷伊人网 久久一区二区三区免费 一本色道久久综合狠狠躁篇 亚洲综合色站 国产尤物在线观看 亚洲一区亚洲二区 免费在线视频一区 欧洲精品视频在线观看 日韩中文字幕a 中文字幕日本在线mv视频精品 91精品在线免费视频 精品国产免费人成在线观看 精品a级片 中文字幕日本在线mv视频精品 日韩在线精品视频 婷婷丁香色 91精品国产高清久久久久 国产成人精品日本亚洲直接 五月综合视频 欧美日韩在线亚洲国产人 精液呈暗黄色 亚洲乱码一区 久久精品中文字幕不卡一二区 亚洲天堂精品在线 激情婷婷综合 国产免费久久精品久久久 国产精品亚洲二区在线 久久免费播放视频 五月婷婷丁香综合 在线亚洲欧美日韩 久久免费精品高清麻豆 精品久久久久久中文字幕 亚洲一区网站 国产精品福利社 日韩中文字幕免费 亚洲综合丝袜 91精品在线播放 国产精品18 亚洲日日夜夜 伊人久久大香线蕉综合影 亚洲精品中文字幕乱码影院 亚洲一区二区黄色 亚洲第一页在线视频 一区二区在线观看视频 国产成人福利精品视频 亚洲高清二区 国内成人免费视频 精品亚洲性xxx久久久 国产精品合集一区二区三区 97av免费视频 国产一起色一起爱 国产区久久 国产资源免费观看 99精品视频免费 国产成人一级 国产精品九九免费视频 欧美91精品久久久久网免费 99热国产免费 久久精品色 98精品国产综合久久 久久精品播放 中文字幕视频免费 国产欧美日韩一区二区三区在线 精品久久蜜桃 国产小视频精品 一本色道久久综合狠狠躁篇 91在线免费观看 亚洲精品区 伊人成综合网 伊人热人久久中文字幕 伊人黄色片 99国产精品热久久久久久夜夜嗨 久久免费精品视频 亚洲一区二区三区高清不卡 久久久久国产一级毛片高清板 国产片一区二区三区 久久狠狠干 99久久婷婷国产综合精品电影 国产99区 国产精品成人久久久久 久久狠狠干 青青国产在线观看 亚洲高清国产拍精品影院 国产精品一区二区av 九九热在线免费视频 伊人久久国产 国产精品久久久久久久久久一区 在线观看免费视频一区 国产精品自在在线午夜区app 国产精品综合色区在线观看 国产毛片久久久久久国产毛片 97国产免费全部免费观看 国产精品每日更新 国产尤物视频在线 九九视频这里只有精品99 一本一道久久a久久精品综合 久久综合给会久久狠狠狠 国产成人精品男人的天堂538 欧美一区二区高清 毛片一区二区三区 国产欧美日韩在线观看一区二区三区 在线国产二区 欧美不卡网 91在线精品中文字幕 在线国产福利 国内精品91久久久久 91亚洲福利 日韩欧美国产中文字幕 91久久精品国产性色也91久久 亚洲性久久久影院 欧美精品1区 国产热re99久久6国产精品 九九热免费观看 国产精品欧美日韩 久久久久国产一级毛片高清板 久久国产经典视频 日韩欧美亚洲国产一区二区三区 欧美亚洲综合另类在线观看 国产精品自在在线午夜区app 97中文字幕在线观看 视频一二三区 精品国产一区在线观看 国产欧美日韩在线一区二区不卡 欧美一区二三区 伊人成人在线观看 国内精品91久久久久 97在线亚洲 国产在线不卡一区 久久久全免费全集一级全黄片 国产精品v欧美精品∨日韩 亚洲毛片网站 在线不卡一区二区 99re热在线视频 久久激情网 国产毛片一区二区三区精品 久久亚洲综合色 中文字幕视频免费 国产视频亚洲 婷婷伊人久久 国产一区二区免费播放 久久99国产精品成人欧美 99国产在线视频 国产成人免费视频精品一区二区 国产不卡一区二区三区免费视 国产码欧美日韩高清综合一区 久久精品国产主播一区二区 国产一区电影 久久精品国产夜色 国产精品国产三级国产 日韩一区二区三区在线 久久97久久97精品免视看 久久国产免费一区二区三区 伊人久久大香线蕉综合电影网 99re6久精品国产首页 久久激情网 亚洲成人高清在线 国产精品网址 国产成人精品男人的天堂538 香蕉国产综合久久猫咪 国产专区中文字幕 91麻豆精品国产高清在线 久久国产经典视频 国产精品成人va在线观看 国产精品爱啪在线线免费观看 日本精品久久久久久久久免费 亚洲综合一区二区三区 久久五月网 精品国产网红福利在线观看 久久综合亚洲伊人色 亚洲国产精品久久久久久网站 在线日韩国产 99国产精品热久久久久久夜夜嗨 国产综合精品在线 国产区福利 精品亚洲综合久久中文字幕 国产制服丝袜在线 毛片在线播放网站 在线观看免费视频一区 国产精品久久久精品三级 亚洲国产电影在线观看 最新日韩欧美不卡一二三区 狠狠综合久久综合鬼色 日本精品1在线区 国产日韩一区二区三区在线播放 欧美日韩精品在线播放 亚洲欧美日韩国产一区二区三区精品 久久综合久久网 婷婷六月激情在线综合激情 亚洲乱码一区 国产专区91 97av视频在线观看 精品久久久久久中文字幕 久久五月视频 国产成人福利精品视频 国产精品网址 中文字幕视频在线 精品一区二区三区免费视频 伊人手机在线视频 亚洲精品中文字幕乱码 国产在线视频www色 色噜噜国产精品视频一区二区 精品亚洲成a人在线观看 国产香蕉尹人综合在线 成人免费一区二区三区在线观看 国产不卡一区二区三区免费视 欧美精品久久天天躁 国产专区中文字幕 久久精品国产免费中文 久久精品国产免费一区 久久无码精品一区二区三区 国产欧美另类久久久精品免费 欧美精品久久天天躁 亚洲精品在线视频 国产视频91在线 91精品福利一区二区三区野战 日韩中文字幕免费 国产精品99一区二区三区 欧美成人高清性色生活 国产精品系列在线观看 亚洲国产福利精品一区二区 国产成人在线小视频 国产精品久久久久免费 99re热在线视频 久久久久久久综合 一区二区国产在线播放 成人国产在线视频 亚洲精品乱码久久久久 欧美日韩一区二区综合 精品久久久久免费极品大片 中文字幕视频二区 激情粉嫩精品国产尤物 国产成人精品一区二区视频 久久精品中文字幕首页 亚洲高清在线 国产精品亚洲一区二区三区 伊人久久艹 中文在线亚洲 国产精品一区二区在线播放 国产精品九九免费视频 亚洲二区在线播放 亚洲狠狠婷婷综合久久久久网站 亚洲欧美日韩网站 日韩成人精品 亚洲国产一区二区三区青草影视 91精品国产福利在线观看 国产精品久久久久久久久99热 国产一区二区精品尤物 久碰香蕉精品视频在线观看 亚洲日日夜夜 在线不卡一区二区 国产午夜亚洲精品 九九热在线视频观看这里只有精品 伊人手机在线视频 91免费国产精品 日韩欧美中字 91精品国产91久久久久 国产全黄三级播放 视频一区二区三区免费观看 国产开裆丝袜高跟在线观看 国产成人欧美 激情综合丝袜美女一区二区 国产成人亚洲综合无 欧美精品一区二区三区免费观看 欧美亚洲国产日韩 日韩亚州 国产欧美日韩精品高清二区综合区 亚洲午夜国产片在线观看 精品久久久久久中文字幕 欧美精品1区 久久伊人久久亚洲综合 亚洲欧美日韩精品 国产成人精品久久亚洲高清不卡 久久福利影视 国产精品99精品久久免费 久久久久免费精品视频 国产日产亚洲精品 亚洲国产午夜电影在线入口 精品无码一区在线观看 午夜国产精品视频 亚洲一级片免费 伊人久久大香线蕉综合影 国产精品久久影院 久碰香蕉精品视频在线观看 www.欧美精品 在线小视频国产 亚洲国产天堂久久综合图区 欧美一区二区三区不卡 日韩美女福利视频 九九精品免视频国产成人 不卡国产00高中生在线视频 亚洲第一页在线视频 欧美日韩在线播放成人 99re视频这里只有精品 国产精品91在线 精品乱码一区二区三区在线 国产区久久 91麻豆精品国产自产在线观看一区 日韩精品成人在线 九九热在线观看 国产精品久久不卡日韩美女 欧美一区二区三区综合色视频 欧美精品免费一区欧美久久优播 国产精品网址 国产专区中文字幕 国产精品欧美亚洲韩国日本久久 日韩美香港a一级毛片 久久精品123 欧美一区二区三区免费看 99r在线视频 亚洲精品国产字幕久久vr 国产综合激情在线亚洲第一页 91免费国产精品 日韩免费小视频 亚洲国产精品综合一区在线 国产亚洲第一伦理第一区 在线亚洲精品 国产精品一区二区制服丝袜 国产在线成人精品 九九精品免视频国产成人 亚洲国产网 欧美日韩亚洲一区二区三区在线观看 在线亚洲精品 欧美一区二区三区高清视频 国产成人精品男人的天堂538 欧美日韩在线观看区一二 亚洲欧美一区二区久久 久久精品中文字幕首页 日本高清www午夜视频 久久精品国产免费 久久999精品 亚洲国产精品欧美综合 88国产精品视频一区二区三区 91久久偷偷做嫩草影院免费看 国产精品夜色视频一区二区 欧美日韩导航 国产成人啪精品午夜在线播放 一区二区视频在线免费观看 99久久精品国产自免费 精液呈暗黄色 久久99国产精品 日本精品久久久久久久久免费 精品国产97在线观看 99re视频这里只有精品 国产视频91在线 999av视频 亚洲美女视频一区二区三区 久久97久久97精品免视看 亚洲国产成人久久三区 99久久亚洲国产高清观看 日韩毛片在线视频 综合激情在线 91福利一区二区在线观看 一区二区视频在线免费观看 激情粉嫩精品国产尤物 国产成人精品曰本亚洲78 国产成人精品本亚洲 国产精品成人免费视频 国产成人啪精品视频免费软件 久久精品国产亚洲妲己影院 国产精品成人久久久久久久 久久大香线蕉综合爱 欧美一区二区三区高清视频 99热国产免费 在线观看欧美国产 91精品视频在线播放 国产精品福利社 欧美精品一区二区三区免费观看 国产一区二区免费视频 国产午夜精品一区二区 精品视频在线观看97 91精品福利久久久 国产一区福利 国产综合激情在线亚洲第一页 国产精品久久久久久久久久久不卡 九色国产 在线日韩国产 黄网在线观看 亚洲一区小说区中文字幕 中文字幕丝袜 日本二区在线观看 日本国产一区在线观看 欧美日韩一区二区三区久久 欧美精品亚洲精品日韩专 国产日产亚洲精品 久久综合九色综合欧美播 亚洲国产欧美无圣光一区 欧美视频区 亚洲乱码视频在线观看 久久无码精品一区二区三区 九九热精品免费视频 久久99精品久久久久久牛牛影视 国产精品成久久久久三级 国产一区福利 午夜国产精品视频 日本二区在线观看 99久久网站 国产亚洲天堂 精品国产一区二区三区不卡 亚洲国产日韩在线一区 国产成人综合在线观看网站 久久免费高清视频 欧美在线导航 午夜精品久久久久久99热7777 欧美久久综合网 国产小视频精品 国产尤物在线观看 亚洲国产精品综合一区在线 欧美一区二区三区不卡视频 欧美黑人欧美精品刺激 日本福利在线观看 久久国产偷 国产手机精品一区二区 国产热re99久久6国产精品 国产高清啪啪 欧美亚洲国产成人高清在线 国产在线第三页 亚洲综合一区二区三区 99r在线视频 99精品久久久久久久婷婷 国产精品乱码免费一区二区 国产在线精品福利91香蕉 国产尤物视频在线 五月婷婷亚洲 中文字幕久久综合伊人 亚洲精品一级毛片 99国产精品电影 在线视频第一页 久久99国产精品成人欧美 国产白白视频在线观看2 成人精品一区二区www 亚洲成人网在线观看 麻豆91在线视频 色综合合久久天天综合绕视看 久久精品国产免费高清 国产不卡一区二区三区免费视 欧美国产中文 99精品欧美 九九在线精品 国产中文字幕在线免费观看 国产一区中文字幕在线观看 国产成人一级 国产精品一区二区制服丝袜 国产一起色一起爱 亚洲精品成人在线 亚洲欧美精品在线 国产欧美自拍视频 99精品久久久久久久婷婷 久99视频 国产热re99久久6国产精品 视频一区亚洲 国产精品视频分类 国产精品成在线观看 99re6久精品国产首页 亚洲在成人网在线看 亚洲国产日韩在线一区 久久国产三级 日韩国产欧美 欧美在线一区二区三区 国产精品美女一级在线观看 成人午夜免费福利视频 亚洲天堂精品在线 91精品国产手机 欧美日韩视频在线播放 狠狠综合久久综合鬼色 九一色视频 青青视频国产 亚洲欧美自拍一区 中文字幕天天躁日日躁狠狠躁97 日韩免费大片 996热视频 伊人成综合网 亚洲天堂欧美 日韩精品亚洲人成在线观看 久久综合给会久久狠狠狠 日韩精品亚洲人成在线观看 日韩国产欧美 亚洲成aⅴ人片在线影院八 亚洲精品1区 99久久精品免费 国产精品高清在线观看 国产精品久久久免费视频 在线亚洲欧美日韩 91在线看视频 国产精品96久久久久久久 欧美日韩国产成人精品 91在线亚洲 热久久亚洲 国产精品美女免费视频观看 日韩在线毛片 亚洲永久免费视频 九九免费在线视频 亚洲一区网站 日本高清二区视频久二区 精品国产美女福利在线 伊人久久艹 国产精品久久久久三级 欧美成人精品第一区二区三区 99久久精品国产自免费 在线观看日韩一区 国产中文字幕一区 成人免费午夜视频 欧美日韩另类在线 久久99国产精品成人欧美 色婷婷中文网 久久天天躁夜夜躁狠狠躁2020 欧美成人伊人久久综合网 国产精品福利资源在线 国产伦精品一区二区三区高清 国产精品亚洲综合色区韩国 亚洲一区欧美日韩 色综合视频 国语自产精品视频在线区 国产高清a 成人国内精品久久久久影 国产在线精品香蕉综合网一区 国产不卡在线看 国产成人精品精品欧美 国产欧美日韩综合精品一区二区三区 韩国电影一区二区 国产在线视频www色 91中文字幕在线一区 国产人成午夜免视频网站 亚洲综合一区二区三区 色综合视频一区二区观看 久久五月网 九九热精品在线观看 国产一区二区三区国产精品 99久热re在线精品996热视频 亚洲国产网 在线视频亚洲一区 日韩字幕一中文在线综合 国产高清一级毛片在线不卡 精品国产色在线 国产高清视频一区二区 精品日本久久久久久久久久 亚洲国产午夜精品乱码 成人免费国产gav视频在线 日韩欧美一区二区在线观看 欧美曰批人成在线观看 韩国电影一区二区 99re这里只有精品6 日韩精品一区二区三区视频 99re6久精品国产首页 亚洲欧美一区二区三区导航 欧美色图一区二区三区 午夜精品视频在线观看 欧美激情在线观看一区二区三区 亚洲热在线 成人国产精品一区二区网站 亚洲一级毛片在线播放 亚洲一区小说区中文字幕 亚洲午夜久久久久影院 国产自产v一区二区三区c 国产精品视频免费 久久调教视频 国产成人91激情在线播放 国产精品欧美亚洲韩国日本久久 久久亚洲日本不卡一区二区 91中文字幕网 成人国产在线视频 国产视频91在线 欧美成人精品第一区二区三区 国产精品福利在线 久久综合九色综合精品 欧美一区二区三区精品 久久国产综合尤物免费观看 久久99青青久久99久久 日韩精品免费 久久国产精品999 91亚洲视频在线观看 国产精品igao视频 色综合区 在线亚洲欧国产精品专区 国产一区二区三区在线观看视频 亚洲精品成人在线 一区二区国产在线播放 中文在线亚洲 亚洲精品第一国产综合野 国产一区二区精品久久 一区二区三区四区精品视频 99热精品久久 中文字幕视频二区 国产成人精品男人的天堂538 99精品影视 美女福利视频一区二区 久久午夜夜伦伦鲁鲁片 综合久久久久久久综合网 国产精品国产欧美综合一区 国产99视频在线观看 国产亚洲女在线精品 婷婷影院在线综合免费视频 国产亚洲3p一区二区三区 91成人爽a毛片一区二区 亚洲一区二区高清 国产欧美亚洲精品第二区首页 欧美日韩导航 亚洲高清二区 欧美激情观看一区二区久久 日韩毛片在线播放 亚洲欧美日韩高清中文在线 亚洲日本在线播放 国产精品一区二区制服丝袜 精品国产一区二区三区不卡 国产不卡在线看 国产欧美网站 四虎永久在线观看视频精品 国产黄色片在线观看 夜夜综合 一本色道久久综合狠狠躁篇 欧美亚洲综合另类在线观看 国产91在线看 伊人久久国产 欧美一区二区在线观看免费网站 国产精品久久久久三级 久久福利 日韩中文字幕a 亚洲午夜久久久久影院 91在线高清视频 国产亚洲一区二区三区啪 久久人精品 国产精品亚洲午夜一区二区三区 综合久久久久久 久久伊人一区二区三区四区 国产综合久久久久久 日韩一区精品视频在线看 国产精品日韩欧美制服 日本精品1在线区 99re视频 无码av免费一区二区三区试看 国产视频1区 日韩欧美中文字幕一区 日本高清中文字幕一区二区三区a 亚洲国产欧美无圣光一区 国产在线视频一区二区三区 欧美国产第一页 在线亚洲欧美日韩 日韩中文字幕第一页 在线不卡一区二区 伊人久久青青 国产精品一区二区在线播放 www.五月婷婷 麻豆久久婷婷国产综合五月 亚洲精品区 久久国产欧美另类久久久 99在线视频免费 伊人久久中文字幕久久cm 久久精品成人免费看 久久这里只有精品首页 88国产精品视频一区二区三区 中文字幕日本在线mv视频精品 国产在线精品成人一区二区三区 伊人精品线视天天综合 亚洲一区二区黄色 国产尤物视频在线 亚洲精品99久久久久中文字幕 国产一区二区三区免费观看 伊人久久大香线蕉综合电影网 国产成人精品区在线观看 日本精品一区二区三区视频 日韩高清在线二区 久久免费播放视频 一区二区成人国产精品 国产精品免费精品自在线观看 亚洲精品视频二区 麻豆国产精品有码在线观看 精品日本一区二区 亚洲欧洲久久 久久中文字幕综合婷婷 中文字幕视频在线 国产成人精品综合在线观看 91精品国产91久久久久福利 精液呈暗黄色 香蕉国产综合久久猫咪 国产专区精品 亚洲精品无码不卡 国产永久视频 亚洲成a人片在线播放观看国产 一区二区国产在线播放 亚洲一区二区黄色 欧美日韩在线观看视频 亚洲精品另类 久久国产综合尤物免费观看 国产一区二区三区国产精品 高清视频一区 国产精品igao视频 国产精品资源在线 久久综合精品国产一区二区三区 www.五月婷婷 精品色综合 99热国产免费 麻豆福利影院 亚洲伊人久久大香线蕉苏妲己 久久电影院久久国产 久久精品伊人 在线日韩理论午夜中文电影 亚洲国产欧洲综合997久久 伊人国产精品 久草国产精品 欧美一区精品二区三区 亚洲成人高清在线 91免费国产精品 日韩精品福利在线 国产一线在线观看 国产不卡在线看 久久99青青久久99久久 亚洲精品亚洲人成在线播放 99久久免费看国产精品 国产日本在线观看 青草国产在线视频 麻豆久久婷婷国产综合五月 国产中文字幕一区 91久久精品国产性色也91久久 国产一区a 国产欧美日韩成人 国产亚洲女在线精品 一区二区美女 中文字幕在线2021一区 在线小视频国产 久久这里只有精品首页 国产在线第三页 欧美日韩中文字幕 在线亚洲+欧美+日本专区 精品国产一区二区三区不卡 久久这里精品 欧美在线va在线播放 精液呈暗黄色 91精品国产手机 91在线免费播放 欧美视频亚洲色图 欧美国产日韩精品 日韩高清不卡在线 精品视频免费观看 欧美日韩一区二区三区四区 国产欧美亚洲精品第二区首页 亚洲韩精品欧美一区二区三区 国产精品视频免费 在线精品小视频 久久午夜夜伦伦鲁鲁片 国产无套在线播放 久热这里只精品99re8久 欧美久久久久 久久香蕉国产线看观看精品蕉 国产成人精品男人的天堂538 亚洲人成网站色7799在线观看 日韩在线第二页 一本色道久久综合狠狠躁篇 国产一区二区三区不卡在线观看 亚洲乱码在线 在线观看欧美国产 久久福利青草精品资源站免费 国产玖玖在线观看 在线亚洲精品 亚洲成aⅴ人在线观看 精品91在线 欧美一区二三区 日韩中文字幕视频在线 日本成人一区二区 日韩免费专区 国内精品在线观看视频 久久国产综合尤物免费观看 国产精品系列在线观看 一本一道久久a久久精品综合 亚洲免费播放 久久精品国产免费 久久人精品 亚洲毛片网站 亚洲成a人一区二区三区 韩国福利一区二区三区高清视频 亚洲精品天堂在线 一区二区三区中文字幕 亚洲国产色婷婷精品综合在线观看 亚洲国产成人久久笫一页 999国产视频 国产精品香港三级在线电影 欧美日韩一区二区三区四区 日韩国产欧美 国产精品99一区二区三区 午夜国产精品理论片久久影院 亚洲精品中文字幕麻豆 亚洲国产高清视频 久久免费手机视频 日韩a在线观看 五月婷婷亚洲 亚洲精品中文字幕麻豆 中文字幕丝袜 www国产精品 亚洲天堂精品在线 亚洲乱码一区 国产日韩欧美三级 久久999精品 伊人热人久久中文字幕 久热国产在线视频 国产欧美日韩在线观看一区二区三区 国产一二三区在线 日韩国产欧美 91精品国产91久久久久 亚洲一区小说区中文字幕 精品一区二区免费视频 国产精品视频免费 国产精品亚洲综合色区韩国 亚洲国产精品成人午夜在线观看 欧美国产日韩精品 中文字幕精品一区二区精品