[go: up one dir, main page]

JP2015064808A - Method-level clone analysis method - Google Patents

Method-level clone analysis method Download PDF

Info

Publication number
JP2015064808A
JP2015064808A JP2013199196A JP2013199196A JP2015064808A JP 2015064808 A JP2015064808 A JP 2015064808A JP 2013199196 A JP2013199196 A JP 2013199196A JP 2013199196 A JP2013199196 A JP 2013199196A JP 2015064808 A JP2015064808 A JP 2015064808A
Authority
JP
Japan
Prior art keywords
file
source
clone
level
analysis
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2013199196A
Other languages
Japanese (ja)
Inventor
拓也 三浦
Takuya Miura
拓也 三浦
大介 東
Daisuke Higashi
大介 東
慶海 沼田
Keikai Numata
慶海 沼田
真人 藤末
Masato Fujisue
真人 藤末
高樹 藤堂
Takamiki Todo
高樹 藤堂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Solutions Ltd
Original Assignee
Hitachi Solutions Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Solutions Ltd filed Critical Hitachi Solutions Ltd
Priority to JP2013199196A priority Critical patent/JP2015064808A/en
Publication of JP2015064808A publication Critical patent/JP2015064808A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a method of performing a method-level clone analysis using a code clone detection tool applied at a file level.SOLUTION: A method-level clone analysis method includes the steps of: allocating an ID for uniquely identifying a method to each method defined in each of all source files within an analysis target folder to generate a method list while making the ID, a file path of each source file including the method, and positional information on the method in association with each other; dividing each of the source files into methods, and generating a method unit file on the basis of the method list, the method unit file being constituted by one method and having the ID as a file name, the method unit file being generated at a position of the same file path as that of the source file including the one method; and performing a clone analysis by applying a code clone detection tool applied at a file level to the generated method unit file, the steps being executed by a data processing apparatus.

Description

本発明は、アプリケーションのソースコードに関してメソッドレベルでクローン分析を行う方法に関する。   The present invention relates to a method for performing clone analysis at a method level with respect to application source code.

ソフトウェア開発において、プログラマは実装目的とする処理と同等の処理を行う機能を既存のソースコードからコピー&ペーストして、機能を実装することが多い。このような場合、流用元のソースコードにバグが存在していると、流用して実装したソースコードにバグもコピーしている可能性が高い。また、その修正による影響範囲を特定することも難しくなる。   In software development, a programmer often implements a function by copying and pasting a function for performing a process equivalent to a process intended for implementation from existing source code. In such a case, if a bug exists in the source code of the diversion source, there is a high possibility that the bug is copied to the source code implemented by diversion. Also, it becomes difficult to specify the range of influence due to the modification.

類似度の高いファイルを特定できない場合、全ファイルに対して影響がないかを調査する必要があり、膨大な工数がかかる。最近はプログラムの大規模化及び複雑化が進んでいるため、開発者にとって類似ロジックの特定は非常に重要であり、コードクローン検出ツール等を利用したクローン分析を実施するケースも少なくない。   If a file with a high degree of similarity cannot be identified, it is necessary to investigate whether there is an effect on all the files, which takes a huge amount of man-hours. Recently, since the program has become larger and more complicated, it is very important for developers to identify similar logic, and there are many cases in which clone analysis is performed using a code clone detection tool or the like.

ここで、コピー&ペースト等により流用されたソースコード間の類似率を分析し算出することを「クローン分析」と称する。また、その類似しているコードを「コードクローン」と称し、クローン分析を実施するツールを「コードクローン検出ツール」と称する。   Here, analyzing and calculating the similarity between source codes used by copy and paste or the like is referred to as “clone analysis”. The similar code is referred to as “code clone”, and the tool for performing clone analysis is referred to as “code clone detection tool”.

既存のコードクローン検出ツールには、ソースコードをトークンに分割し、ユーザ定義名および定数を特定の記号に置き換え、一致部分をコードクローンとして検出する機能を有するツールがある。   Among existing code clone detection tools, there is a tool having a function of dividing a source code into tokens, replacing user-defined names and constants with specific symbols, and detecting a matching portion as a code clone.

クローン分析を実施することによって、類似度の高いファイルを特定し、そのバグが類似したファイルにも存在しないかを調査することが可能となるとともに、その修正による影響範囲を特定することが容易となる。   By performing clone analysis, it is possible to identify files with high similarity, investigate whether the bug exists in similar files, and easily identify the scope of impact of the modification. Become.

特許文献1は、コードクローン検出後のリファクタリング方法についての技術を開示している。
特許文献2は、プログラムの文脈に基づいて類似するロジックを検出する技術を開示している。
Patent Document 1 discloses a technique regarding a refactoring method after detection of a code clone.
Patent Document 2 discloses a technique for detecting similar logic based on the context of a program.

特開2009−176064号公報JP 2009-176064 A 特開2010−140434号公報JP 2010-140434 A

上記特許文献1は、コードクローン検出後のリファクタリング方法に関する提案であり、
コードクローン検出前の処理すなわちクローン分析自体に関しては触れられていない。
上記特許文献2は、既存のコードクローン検出ツールの方法とは異なる検出方法に関する提案である。
Patent Document 1 is a proposal regarding a refactoring method after detection of a code clone,
No mention is made of the process prior to detection of the code clone, ie the clone analysis itself.
The above-mentioned patent document 2 is a proposal regarding a detection method different from the method of the existing code clone detection tool.

既存のコードクローン検出ツールを利用した従来のクローン分析では、ファイルレベルでコードクローンを分析する。つまり、入力はファイルであり、クローン分析の出力結果もファイルレベルとなる。しかし、開発者はファイルレベルでソースコードを流用することは少なく、より小さいメソッドレベルで流用することが多い。よってメソッドレベルでのクローン分析が開発者にとってより実用的であると考える。   In conventional clone analysis using existing code clone detection tools, code clones are analyzed at the file level. That is, the input is a file, and the output result of clone analysis is also at the file level. However, developers rarely divert source code at the file level and often divert it at a smaller method level. Therefore, we consider that clone analysis at the method level is more practical for developers.

本発明の目的は、既存のファイルレベルのコードクローン検出ツールを利用し、メソッドレベルのクローン分析を実施する方法を提供することである。   It is an object of the present invention to provide a method for performing method level clone analysis using existing file level code clone detection tools.

既存のコードクローン検出ツールによれば、従来から単一ソースファイル内又はソースファイル間でのクローン分析が可能である。そのため、分析対象のソースファイルから、実体定義されている各メソッドを切り出し、1ファイル内に1メソッドのみ定義されているファイル(以下「メソッド単位ファイル」と称する)を作成する。作成したメソッド単位ファイルは、メソッド名が開始行に、メソッド実体定義スコープの最終中括弧が最終行に記述されるような形態となる。   According to an existing code clone detection tool, clone analysis can be conventionally performed within a single source file or between source files. For this reason, each method whose definition is actual is extracted from the source file to be analyzed, and a file in which only one method is defined in one file (hereinafter referred to as “method unit file”) is created. The created method unit file has a form in which the method name is described in the first line and the final brace of the method entity definition scope is described in the last line.

また、この時、ソースファイルに実体定義されている各メソッドに対して、一意に割り当てられるIDを紐づけ、そのIDを、作成したメソッド単位ファイルのファイル名とする。これにより、そのファイル名から、分析対象の母体ソースファイルのファイルパス及びメソッド名等がトレース可能となる。   At this time, a uniquely assigned ID is linked to each method whose definition is defined in the source file, and that ID is used as the file name of the created method unit file. As a result, the file path, method name, and the like of the parent source file to be analyzed can be traced from the file name.

メソッド単位ファイルは、ファイルであるので既存のコードクローン検出ツールを適用してファイルレベルのクローン分析を実施することができる。これにより、実質的にメソッドレベルのクローン分析が可能となる。このクローン分析結果のファイル名にはメソッドに対して一意に割り当てられているIDが紐づいているため、メソッドレベルでのクローン分析結果を取得することが可能となる。   Since the method unit file is a file, an existing code clone detection tool can be applied to perform a file level clone analysis. This substantially enables method level clone analysis. Since the clone analysis result file name is associated with an ID uniquely assigned to the method, the clone analysis result at the method level can be acquired.

本発明の態様は、ファイルレベルのクローン分析に適用されるコードクローン検出ツールを用いてメソッドレベルのクローン分析をデータ処理装置により行う方法であって、前記データ処理装置が、分析対象のフォルダ内の全てのソースファイルの各々の中で定義されている各メソッドに対して一意に識別するIDを割り当てるとともに、割り当てたIDと当該メソッドを含むソースファイルのファイルパスと当該ソースファイル内における当該メソッドの位置情報とを対応付けてメソッドリストを作成するステップと、前記ソースファイルの各々をメソッドに分割し、前記メソッドリストに基づいて、1ファイルが1メソッドからなり前記IDをファイル名とするメソッド単位ファイルを当該メソッドを含むソースファイルと同じファイルパスの位置にそれぞれ作成するステップと、作成された前記メソッド単位ファイルに対して前記コードクローン検出ツールを適用することによりクローン分析を行うステップと、有することを特徴とする。   An aspect of the present invention is a method for performing a method level clone analysis by a data processing apparatus using a code clone detection tool applied to a file level clone analysis, wherein the data processing apparatus includes a folder in an analysis target folder. An ID that uniquely identifies each method defined in each of all source files is assigned, and the assigned ID, the file path of the source file that includes the method, and the position of the method in the source file Creating a method list by associating information with each other; dividing each of the source files into methods; and, based on the method list, a method unit file having one method consisting of one method and having the ID as a file name The same file path as the source file containing the method To the step of creating each and performing clones analyzed by applying the code clone detection tool to the methods unit files created, characterized in that it has a.

本発明によれば、既存のコードクローン検出ツールを利用した従来のクローン分析の方法をそのまま利用し、メソッドレベルでコードクローンを特定できる。従来のファイルレベルのクローン分析と比べてメソッドレベルのクローン分析は、開発者に対し従来よりも詳細な情報を提供することが可能となる   According to the present invention, a code clone can be identified at a method level by using a conventional clone analysis method using an existing code clone detection tool as it is. Compared with traditional file-level clone analysis, method-level clone analysis can provide developers with more detailed information than before.

さらに、従来のソースファイル間でのクローン分析に比べ、メソッドレベルでコードクローンを特定できるため、開発者はその情報を利用して、リファクタリング時に類似度の高いメソッドを共通化することや、コード修正時に類似不良の摘出漏れを防止することが容易となる。   In addition, code clones can be identified at the method level compared to conventional clone analysis between source files, so developers can use this information to share methods with high similarity and recode the code. Sometimes it is easy to prevent omissions of similar defects.

また本発明によれば、開発工数の削減や開発後の保守性の面でも多大な効果を発揮することに期待できる。   In addition, according to the present invention, it can be expected that a great effect can be exhibited in terms of reduction in development man-hours and maintainability after development.

図1は、本発明によるメソッドレベルのクローン分析方法のフローの一例を概略的に示した図である。FIG. 1 is a diagram schematically showing an example of a method-level clone analysis method according to the present invention. 図2は、クローン分析対象の複数のソースファイルを含むフォルダ構成の一例を示す図である。FIG. 2 is a diagram illustrating an example of a folder configuration including a plurality of source files to be clone analyzed. 図3は、クローン分析対象のソースファイル(crl.c)の一例を示す図である。FIG. 3 is a diagram illustrating an example of a clone analysis target source file (crl.c). 図4は、クローン分析対象のソースファイル(aes_x86core.c)の一例を示す図である。FIG. 4 is a diagram illustrating an example of a source file (aes_x86core.c) for a clone analysis target. 図5は、ソースファイルのリストであるソースリストの一例を示す図である。FIG. 5 is a diagram illustrating an example of a source list that is a list of source files. 図6は、ソースファイルを分割して作成したメソッドリストの一例を示す図である。FIG. 6 is a diagram illustrating an example of a method list created by dividing a source file. 図7は、図3のソースファイルの分割後のメソッド単位ファイルの1つ(1.c)を示す図である。FIG. 7 is a diagram showing one method unit file (1.c) after the source file of FIG. 3 is divided. 図8は、図3のソースファイルの分割後のメソッド単位ファイルの1つ(2.c)を示す図である。FIG. 8 is a diagram showing one of the method unit files (2.c) after the division of the source file of FIG. 図9は、図4のソースファイルの分割後のメソッド単位ファイルの1つ(3.c)を示す図である。FIG. 9 is a diagram showing one method unit file (3.c) after the source file of FIG. 4 is divided. 図10は、図4のソースファイルの分割後のメソッド単位ファイルの1つ(4.c)を示す図である。FIG. 10 is a diagram showing one method unit file (4.c) after the source file of FIG. 4 is divided. 図9は、図4のソースファイルの分割後のメソッド単位ファイルの1つ(5.c)を示す図である。FIG. 9 is a diagram showing one method unit file (5.c) after the source file of FIG. 4 is divided. 図9は、図4のソースファイルの分割後のメソッド単位ファイルの1つ(6.c)を示す図である。FIG. 9 is a diagram showing one method unit file (6.c) after the source file of FIG. 4 is divided. 図9は、図4のソースファイルの分割後のメソッド単位ファイルの1つ(7.c)を示す図である。FIG. 9 is a diagram showing one method unit file (7.c) after the source file of FIG. 4 is divided. 図14は、メソッドレベルのクローン分析結果の一例を示す図である。FIG. 14 is a diagram illustrating an example of a method level clone analysis result. 図15は、メソッドレベルのクローン分析結果により作成した、1メソッドからなるファイル間のクローン関係の一例を示す図である。FIG. 15 is a diagram illustrating an example of a clone relationship between files composed of one method created based on a method level clone analysis result.

以下、本発明の実施形態を図面により詳細に説明する。なお、ソースファイルをメソッド単位で分割する形態に関しては、オープンソースであるOpenSSLの2つのソースファイル(apps\crl.cおよびcrypto\aes\aes_x86core.c)を例に挙げて説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. The method of dividing the source file into method units will be described by taking two open source OpenSSL source files (apps \ crl.c and crypto \ aes \ aes_x86core.c) as an example.

図1は、本発明によるメソッドレベルのクローン分析方法のフローの一例を概略的に示した図である。   FIG. 1 is a diagram schematically showing an example of a method-level clone analysis method according to the present invention.

このフローの処理を実現するためのシステムは、適宜のコンピュータであるデータ処理装置を備え、データ処理装置に導入された所定のプログラムをメモリに読み込みCPUが実行することにより、図1の各ステップの処理機能が実現される。よって、所定のプログラムを導入されたデータ処理装置は、メソッドレベルのクローン分析装置として機能することとなる。図1の各ステップは、メソッドレベルのクローン分析装置に備わる各処理部の機能に対応する。さらにこのデータ処理装置は、当該所定のプログラムを格納するとともに、分析対象のソースファイル、分析準備過程で作成するソースリスト及びメソッドリスト等の中間データ、コードクローン検出ツール、並びに分析結果及びその整形データ等の各ファイルを格納するための記憶装置を備える。また、このデータ処理装置は、分析対象のソースファイルを指定したり分析結果を表示及び整形したりするための入出力装置を備えている。なお、システム構成については多様な変形形態が考えられる。   The system for realizing the processing of this flow includes a data processing device that is an appropriate computer, reads a predetermined program installed in the data processing device into a memory, and executes it by the CPU. Processing functions are realized. Therefore, the data processing apparatus into which the predetermined program is introduced functions as a method level clone analysis apparatus. Each step in FIG. 1 corresponds to the function of each processing unit provided in the method level clone analyzer. Further, the data processing apparatus stores the predetermined program, and also includes an analysis target source file, intermediate data such as a source list and a method list created in the analysis preparation process, a code clone detection tool, and an analysis result and its shaping data. And a storage device for storing each file. The data processing apparatus also includes an input / output device for designating a source file to be analyzed and for displaying and shaping an analysis result. Various variations of the system configuration are possible.

図1のステップ11では、クローン分析の対象とするフォルダを作成し、分析対象の全てのソースファイルを所定の階層構造にて格納する。図2は、クローン分析の対象とする複数のソースファイルを含むフォルダの構成の一例を示したものである。   In step 11 of FIG. 1, a folder to be subjected to clone analysis is created, and all source files to be analyzed are stored in a predetermined hierarchical structure. FIG. 2 shows an example of the structure of a folder including a plurality of source files to be subjected to clone analysis.

図3は、クローン分析対象のソースファイルのうちの1つであるcrl.cのソースコードの記述を示したものである。   FIG. 3 shows the source code description of crl.c, which is one of the source files subject to clone analysis.

図4は、クローン分析対象のソースファイルのうちの別の1つであるaes_x86core.cのソースコードの記述を示したものである。   FIG. 4 shows the description of the source code of aes_x86core.c, which is another one of the source files subject to clone analysis.

図1のステップ12では、図2に示した分析対象のフォルダから、分割前の全てのソースファイルのソースリストを作成する。図5は、作成されるソースリストを示したものである。ソースリストの作成方法としては、コマンドプロンプトによるdirコマンド、またはエクスプローラの検索機能によって、拡張子を限定し検索することで取得可能である。   In step 12 of FIG. 1, a source list of all source files before division is created from the analysis target folder shown in FIG. FIG. 5 shows a source list to be created. As a method for creating a source list, it is possible to obtain a source list by limiting the extension using a dir command at a command prompt or a search function of an explorer.

図1のステップ13では、ソースリストに記載されている全てのソースファイルを解析し、必要なデータを取得してメソッドリストを作成する。図6は、メソッドリストの一例を示す。メソッドリストには、メソッド毎に割り当てられる「ID」、当該メソッドを含むソースファイルの「ファイルパス」、当該メソッドの「メソッド名」、当該メソッドの当該ソースファイル内における位置情報である「開始行」及び「終了行」のデータ項目がある。IDは、フォルダ階層によらず分析対象フォルダ内で一意のキーとする。   In step 13 of FIG. 1, all source files described in the source list are analyzed, and necessary method data is acquired to create a method list. FIG. 6 shows an example of a method list. The method list includes “ID” assigned to each method, “file path” of the source file including the method, “method name” of the method, and “start line” that is position information of the method in the source file. And an “end line” data item. The ID is a unique key within the analysis target folder regardless of the folder hierarchy.

図1のステップ14では、各ソースファイルをメソッド単位に分割し、メソッドリストに基づいて、分割されたメソッド単位を含んでいた元の母体ソースファイルと同じ階層(同じファイルパスの位置)に、メソッド単位ファイルを作成する。メソッド単位ファイルは、分割されたメソッド単位の1つを含む。ソースファイルをメソッド単位に分割してメソッド単位ファイルを作成する具体的手法としては、メソッドリストに記述されているファイルパスからソースファイルを開き、開始行および終了行に記載されているコードを以下のファイル命名規則の通り作成する方法を用いる。
ファイル命名規則:[ID].[拡張子]
よって、IDは、メソッド単位ファイルのファイル名となる。
In step 14 of FIG. 1, each source file is divided into method units, and based on the method list, method files are placed in the same hierarchy (position of the same file path) as the original parent source file containing the divided method units. Create a unit file. The method unit file includes one of the divided method units. As a specific method of creating a method unit file by dividing the source file into method units, open the source file from the file path described in the method list, and change the code described in the start line and end line as follows: Use the method of creating according to the file naming convention.
File naming convention: [ID]. [Extension]
Therefore, the ID is the file name of the method unit file.

図7及び図8はそれぞれ図3のソースファイルを母体ソースファイルとして分割した各メソッド単位ファイルを、図9〜図13はそれぞれ図4のソースファイルを母体ソースファイルとして分割した各メソッド単位ファイルを示す。分割後のメソッド単位ファイルは、先頭行にメソッド名定義、最終行にメソッド定義スコープの最終中括弧の形態となる。   FIGS. 7 and 8 show method unit files obtained by dividing the source file of FIG. 3 as a parent source file, and FIGS. 9 to 13 show method unit files obtained by dividing the source file of FIG. 4 as a parent source file. . The divided method unit file is in the form of a method name definition on the first line and a final brace of the method definition scope on the last line.

図1のステップ15において、図5のソースリストを参照し、ファイル分割前の各ソースファイルを分析対象のフォルダから削除する。これにより、フォルダ内にはメソッド単位ファイルのみが存在することとなる。   In step 15 of FIG. 1, referring to the source list of FIG. 5, each source file before file division is deleted from the folder to be analyzed. As a result, only the method unit file exists in the folder.

図1のステップ16において、クローン分析対象のフォルダに対してクローン分析を実施する。メソッド単位ファイルを通常のファイルとして扱い、ファイル毎にクローン分析を実施する。   In step 16 of FIG. 1, clone analysis is performed on the folder to be cloned. Treat method unit files as normal files and perform clone analysis for each file.

図1のステップ17では、メソッドレベルのクローン分析結果を作成する。クローン分析の出力結果には、ID付きのファイル名が記述されている。従って、分析結果とメソッドリストとを突き合わせることにより、元のソースファイルについてのメソッドレベルのクローン分析結果として整形することができる。図14は、メソッド単位ファイルの各々に対するクローン分析結果であるクローン率を、メソッドリストの各レコードと対応付けて示したものである。図15は、比較元と比較先の2つのソースファイルをそれぞれメソッド単位ファイルに分割してクローン分析を行い、メソッド単位ファイル間のクローン分析結果であるクローン率を、メソッドレベルのクローン関係として示したものである。   In step 17 of FIG. 1, a method level clone analysis result is created. The output result of clone analysis describes the file name with ID. Therefore, by matching the analysis result with the method list, it can be shaped as a method-level clone analysis result for the original source file. FIG. 14 shows a clone rate, which is a clone analysis result for each method unit file, in association with each record in the method list. FIG. 15 divides the two source files of the comparison source and the comparison destination into method unit files, respectively, and performs clone analysis, and shows the clone rate that is the clone analysis result between the method unit files as the clone relationship at the method level. Is.

Claims (1)

ファイルレベルのクローン分析に適用されるコードクローン検出ツールを用いてメソッドレベルのクローン分析をデータ処理装置により行う方法であって、前記データ処理装置が、
分析対象のフォルダ内の全てのソースファイルの各々の中で定義されている各メソッドに対して一意に識別するIDを割り当てるとともに、割り当てたIDと当該メソッドを含むソースファイルのファイルパスと当該ソースファイル内における当該メソッドの位置情報とを対応付けてメソッドリストを作成するステップと、
前記ソースファイルの各々をメソッドに分割し、前記メソッドリストに基づいて、1ファイルが1メソッドからなり前記IDをファイル名とするメソッド単位ファイルを当該メソッドを含むソースファイルと同じファイルパスの位置にそれぞれ作成するステップと、
作成された前記メソッド単位ファイルに対して前記コードクローン検出ツールを適用することによりクローン分析を行うステップと、有することを特徴とする
メソッドレベルのクローン分析方法。
A method for performing method level clone analysis by a data processing device using a code clone detection tool applied to file level clone analysis, wherein the data processing device comprises:
An ID that uniquely identifies each method defined in each of the source files in the folder to be analyzed is assigned, and the assigned ID, the file path of the source file that contains the method, and the source file are assigned. Creating a method list by associating with the position information of the method in
Each of the source files is divided into methods, and based on the method list, each method file with one file consisting of one method and the ID as a file name is placed at the same file path position as the source file containing the method. A step to create,
A method of clone analysis at a method level, comprising: performing clone analysis by applying the code clone detection tool to the created method unit file.
JP2013199196A 2013-09-26 2013-09-26 Method-level clone analysis method Pending JP2015064808A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013199196A JP2015064808A (en) 2013-09-26 2013-09-26 Method-level clone analysis method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013199196A JP2015064808A (en) 2013-09-26 2013-09-26 Method-level clone analysis method

Publications (1)

Publication Number Publication Date
JP2015064808A true JP2015064808A (en) 2015-04-09

Family

ID=52832615

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013199196A Pending JP2015064808A (en) 2013-09-26 2013-09-26 Method-level clone analysis method

Country Status (1)

Country Link
JP (1) JP2015064808A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115373737A (en) * 2022-07-06 2022-11-22 云南恒于科技有限公司 Code clone detection method based on feature fusion

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07239860A (en) * 1994-02-28 1995-09-12 Fuji Xerox Co Ltd Data managing device
JP2005228234A (en) * 2004-02-16 2005-08-25 Hitachi Ltd Service information generation method, execution system, and processing program
JP2006277435A (en) * 2005-03-30 2006-10-12 Hitachi Software Eng Co Ltd Source file version management system
JP2009237654A (en) * 2008-03-26 2009-10-15 Hitachi Software Eng Co Ltd Test program management system
JP2011053817A (en) * 2009-08-31 2011-03-17 Sony Computer Entertainment Inc Information processing apparatus
JP2011170482A (en) * 2010-02-17 2011-09-01 Yokogawa Electric Corp Device for measuring reuse rate of source code
JP2012164211A (en) * 2011-02-08 2012-08-30 Hitachi Ltd Software similarity evaluation method
JP2012230512A (en) * 2011-04-26 2012-11-22 Hitachi Ltd System for displaying correspondence table between change frequency in each function in source code and complexity

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07239860A (en) * 1994-02-28 1995-09-12 Fuji Xerox Co Ltd Data managing device
JP2005228234A (en) * 2004-02-16 2005-08-25 Hitachi Ltd Service information generation method, execution system, and processing program
JP2006277435A (en) * 2005-03-30 2006-10-12 Hitachi Software Eng Co Ltd Source file version management system
JP2009237654A (en) * 2008-03-26 2009-10-15 Hitachi Software Eng Co Ltd Test program management system
JP2011053817A (en) * 2009-08-31 2011-03-17 Sony Computer Entertainment Inc Information processing apparatus
JP2011170482A (en) * 2010-02-17 2011-09-01 Yokogawa Electric Corp Device for measuring reuse rate of source code
JP2012164211A (en) * 2011-02-08 2012-08-30 Hitachi Ltd Software similarity evaluation method
JP2012230512A (en) * 2011-04-26 2012-11-22 Hitachi Ltd System for displaying correspondence table between change frequency in each function in source code and complexity

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
石原知也,堀田圭佑,肥後芳樹,井垣宏,楠本真二: "大規模なソフトウェア群を対象とするメソッド単位でのコードクローン検出", 情報処理学会論文誌 論文誌ジャーナル VOL.54 NO.2 [CD−ROM], vol. 第54巻,第2号, JPN6016031800, 15 February 2013 (2013-02-15), pages 837 - 838, ISSN: 0003381776 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115373737A (en) * 2022-07-06 2022-11-22 云南恒于科技有限公司 Code clone detection method based on feature fusion

Similar Documents

Publication Publication Date Title
CN106778288B (en) A kind of method and system of data desensitization
KR101732764B1 (en) Intelligent code differencing using code clone detection
CN106991100B (en) Data import method and device
CN107644286B (en) Workflow processing method and device
CN110825363B (en) Intelligent contract acquisition method and device, electronic equipment and storage medium
JP5800720B2 (en) Information processing apparatus, information processing method, and program
CN105229601A (en) Software building is optimized
CN103530427A (en) Dynamic switching method and device based on multiple databases
CN105786498A (en) Method and device for modifying application and electronic device
JP2018005890A (en) Input discovery for unknown program binary
CN114237561B (en) A design method and system for publishing components based on pipeline mode
Solanki et al. Comparative study of software clone detection techniques
US10162626B2 (en) Ordered cache tiering for program build files
CN116610568A (en) Method, device, equipment and medium for identifying dependency relationship of codes
CN106648913B (en) Data acquisition software identification method and device
CN115934161A (en) Method, device and equipment for impact analysis of code changes
US9417871B2 (en) Automatic generation of certificate of origin (COO) for software systems
WO2020075532A1 (en) System transition support device, system transition support method, and program
US10338891B2 (en) Migration between model elements of different types in a modeling environment
US9720690B2 (en) Software architecture by untangling undesired code level dependencies using code refactoring
JP2015064808A (en) Method-level clone analysis method
Kumar et al. Code clone detection and analysis using software metrics and neural network-a literature review
US20240111523A1 (en) Chained pull requests in a source code management system
CN105930258A (en) Parameter filtering method and apparatus
JP2011513842A5 (en)

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20150406

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20150413

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20150617

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20150623

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160823

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20171010