CN113064634A - Method for carrying out homologous detection on code clone - Google Patents

Method for carrying out homologous detection on code clone Download PDF

Info

Publication number
CN113064634A
CN113064634A CN202110224364.8A CN202110224364A CN113064634A CN 113064634 A CN113064634 A CN 113064634A CN 202110224364 A CN202110224364 A CN 202110224364A CN 113064634 A CN113064634 A CN 113064634A
Authority
CN
China
Prior art keywords
code
preset
clone
hash value
collision
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
CN202110224364.8A
Other languages
Chinese (zh)
Inventor
罗峋
但吉兵
易焕腾
王琳
梁大功
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.)
Suzhou Lengjing Qicai Information Technology Co ltd
Original Assignee
Suzhou Lengjing Qicai Information Technology Co 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 Suzhou Lengjing Qicai Information Technology Co ltd filed Critical Suzhou Lengjing Qicai Information Technology Co ltd
Priority to CN202110224364.8A priority Critical patent/CN113064634A/en
Publication of CN113064634A publication Critical patent/CN113064634A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/75Structural analysis for program understanding
    • G06F8/751Code clone detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The invention discloses a method for carrying out homologous detection on code clone, which comprises the steps of establishing a special knowledge base after the characteristic of a source code is extracted, carrying out code clone detection on a preset code based on the knowledge base to obtain a code clone detection result, and carrying out qualitative and quantitative analysis on the code clone detection result to determine a source file corresponding to the preset code.

Description

Method for carrying out homologous detection on code clone
Technical Field
The invention relates to the technical field of computers, in particular to a method for carrying out homologous detection on code clone.
Background
The code clone refers to two or more same or similar source code segments existing in a code library. Code clone detection techniques aim to find automated, efficient detection methods to detect code clones, thereby reducing the negative effects of code cloning with lower cost. The code clones are divided into 4 types, namely, completely identical codes (type 1), renamed codes (type 2), almost identical codes (type 3) and semantically similar codes (type 4), the similarity degree of the code clones is gradually reduced from type 1 to type 4, and the difficulty of detection is gradually increased. Researchers have obtained a series of detection technical achievements in the aspect of code clone detection, and according to the different degrees of source code information utilized by the technologies, the detection speed based on text detection is slow and the missing report rate is high at present, so how to obtain an effective detection result for clones with similar texts becomes a technical problem to be solved urgently at present.
Disclosure of Invention
The invention provides a method for carrying out homologous detection on code clones, which aims to solve the problems of low detection speed and high missing report rate of code clones based on text detection in the prior art.
The invention provides a method for carrying out homologous detection on code clone, which comprises the following steps: carrying out code clone detection on a preset code based on a preset knowledge base to obtain a code clone detection result; and qualitatively and quantitatively analyzing the code clone detection result to determine a source file corresponding to the preset code.
Optionally, the method further comprises: establishing a preset knowledge base;
the establishing of the preset knowledge base comprises the following steps:
storing the collected source codes according to a preset format;
and extracting the characteristics of the source code to obtain the preset knowledge base.
Optionally, the performing feature extraction on the source code includes:
extracting the HASH value of the source code, preprocessing the source code through a lexical analyzer to obtain a structured text of the source code, and extracting the HASH value of the structured text of the source code and the HASH value of a code segment of the structured text;
after the feature extraction is performed on the source code, the method further includes:
and storing the mapping relation among the HASH value extracted from the source code, the HASH value obtained by the lexical analyzer, the HASH value of the code fragment level of the structured text obtained by the lexical analyzer, the source code and the relative file storage path of the source code.
Optionally, the processing rule of the lexical analyzer includes:
removing meaningless code fragments;
removing code segments of non-preset semantics and non-preset functions;
and searching and reserving keywords, reserved words and common grammars with code semantic information, and performing unified character replacement on components without code structure semantics.
Optionally, the performing, based on a preset knowledge base, code clone detection on the preset code includes:
extracting a HASH value corresponding to a source code of the preset code, analyzing the HASH value corresponding to the preset code through a lexical analyzer, and determining a code fragment level HASH value set of the preset code; and sequentially carrying out clone collision detection on the HASH value extracted by the source code, the HASH value obtained by the lexical analyzer and the HASH value set of the code fragment level on the preset code and the preset knowledge base, and if any collision detection is successful, determining that the preset code is a code clone.
Optionally, performing clone collision detection of MD5 information on the preset code and the preset knowledge base, including: and extracting MD5 information of the preset code, performing clone collision detection on the MD5 information and MD5 information stored in the preset knowledge base, and if the collision is successful, determining that the preset code is code clone and the cloning degree is 100%.
Optionally, performing clone collision detection of the HASH value on the preset code and the preset knowledge base, including: preprocessing the preset code through a lexical analyzer to obtain a HASH value of the preset code, carrying out clone collision detection on the HASH value of the preset code and the HASH value stored in the preset knowledge base, and if collision is successful, determining that the preset code is a code clone and the cloning degree is 100%.
Optionally, performing clone collision detection of a code segment level HASH value set on the preset code and the preset knowledge base, including: processing the preset code through a lexical analyzer, converting the preset code into a preset character string, performing window division processing on the preset character string according to a preset character length to sequentially obtain a plurality of substring sets, sequentially and respectively generating HASH values for the substring sets, and performing deduplication processing on the generated HASH values to obtain a code fragment level feature set of the preset code;
and sequentially carrying out clone collision detection on the code segment level feature set and the code segment level HASH value set in the preset knowledge base, and if the collision is successful, determining that the preset code is a code clone.
Optionally, the code segment level feature set is sequentially subjected to clone collision detection with the code segment level HASH value set in the preset knowledge base, and if collision is successful, after the preset code is determined to be a code clone, the method further includes: and grouping HASH values with successful collision according to source files, counting the feature quantity of collision in each group, and taking the source file with the most collision feature quantity as the source file of the preset code clone.
Optionally, the code segment level feature set is sequentially subjected to clone collision detection with the code segment level HASH value set in the preset knowledge base, and if collision is successful, after the preset code is determined to be a code clone, the method further includes:
and dividing the HASH value number of the successful collision of the preset code by the feature number in the code segment level feature set of the preset code to obtain the cloning degree of the preset code.
The invention has the following beneficial effects:
the invention establishes a special knowledge base after the characteristic of the source code is extracted, then carries out code clone detection on the preset code based on the knowledge base to obtain a code clone detection result, and then carries out qualitative and quantitative analysis on the code clone detection result to determine the source file corresponding to the preset code.
The foregoing description is only an overview of the technical solutions of the present invention, and the embodiments of the present invention are described below in order to make the technical means of the present invention more clearly understood and to make the above and other objects, features, and advantages of the present invention more clearly understandable.
Drawings
Various other advantages and benefits will become apparent to those of ordinary skill in the art upon reading the following detailed description of the preferred embodiments. The drawings are only for purposes of illustrating the preferred embodiments and are not to be construed as limiting the invention. Also, like reference numerals are used to refer to like parts throughout the drawings. In the drawings:
FIG. 1 is a schematic flow chart of a method for performing homologous detection on code clones according to an embodiment of the present invention;
FIG. 2 is a schematic diagram of a flow of structured preprocessing of a lexical analyzer according to an embodiment of the present invention;
FIG. 3 is a schematic diagram of a code segment level feature extraction process provided by an embodiment of the present invention;
fig. 4 is a schematic diagram of a single file clone detection process provided in the embodiment of the present invention.
Detailed Description
Aiming at the problems of low detection speed and high missing report rate of code clone detection based on the existing text, the embodiment of the invention establishes a special knowledge base after the characteristic extraction of a source code, then carries out code clone detection on a preset code based on the knowledge base to obtain a code clone detection result, and then carries out qualitative and quantitative analysis on the code clone detection result to determine a source file corresponding to the preset code. The present invention will be described in further detail below with reference to the drawings and examples. It should be understood that the specific embodiments described herein are merely illustrative of the invention and do not limit the invention.
The embodiment of the invention provides a method for carrying out homologous detection on code clones, and referring to fig. 1, the method comprises the following steps:
s101, carrying out code clone detection on a preset code based on a preset knowledge base to obtain a code clone detection result;
it should be noted that the preset knowledge base stores feature data obtained by extracting the acquired source code features in the embodiment of the present invention.
Specifically, the collected source codes are stored according to a preset format, and then all the stored source codes are subjected to feature extraction to obtain the preset knowledge base.
The feature extraction of the source code according to the embodiment of the present invention includes: extracting a HASH value of the source code, preprocessing the source code through a lexical analyzer to obtain a structured text of the source code, extracting the HASH value of the structured text of the source code and the HASH value of a code segment of the structured text, and after extracting features of the source code, the method further comprises: and storing the mapping relation among the HASH value extracted from the source code, the HASH value obtained by the lexical analyzer, the HASH value of the code fragment level of the structured text obtained by the lexical analyzer, the source code and the relative file storage path of the source code.
That is, the preset knowledge base of the present invention stores the corresponding relationship between different HASH values and the source code, and the mapping relationship between the respective HASH values and the relative file storage paths of the source code. And then, the source code corresponding to the code to be detected can be accurately and quickly searched according to the mapping relation, thereby providing an implementable basis for improving the detection speed and the accuracy of detecting the code clone.
In addition, the data storage mode of the invention can reduce the hardware requirement of the storage device to a certain extent, thereby obtaining better user experience.
It should be noted that, in the embodiment of the present invention, the MD5 information is used as a HASH value to perform feature extraction on the source code, and in a specific implementation, a person skilled in the art may also perform feature extraction on the source code through other HASH values according to actual needs.
In specific implementation, as shown in fig. 2, the processing rule of the lexical analyzer according to the embodiment of the present invention includes:
removing meaningless code fragments, namely removing meaningless code fragments, mainly comprising code comments, blank lines and the like;
removing code segments with non-preset semantics and non-preset functions, specifically, removing parts without specific semantics and functions, such as package information and import information in Java;
searching and reserving keywords, reserved words and common grammars with code semantic information, and performing unified character replacement on components without code structure semantics, such as public, static, int, String, Thread, println and the like in Java, and performing unified character replacement on components without code structure semantics, such as uniformly replacing with a letter 'P';
and removing unnecessary spaces between characters, etc., which is not particularly limited in the present invention, and those skilled in the art may arbitrarily set the processing rules of the lexical analyzer according to actual needs.
In the embodiment of the present invention, the performing code clone detection on the preset code based on the preset knowledge base includes: extracting a HASH value corresponding to a source code of the preset code, analyzing the HASH value corresponding to the preset code through a lexical analyzer, and determining a code fragment level HASH value set of the preset code; and sequentially carrying out clone collision detection on the HASH value extracted by the source code, the HASH value obtained by the lexical analyzer and the HASH value set of the code fragment level on the preset code and the preset knowledge base, and if any collision detection is successful, determining that the preset code is a code clone.
S102, carrying out qualitative and quantitative analysis on the code clone detection result to determine a source file corresponding to the preset code.
That is to say, the embodiment of the present invention establishes a knowledge base after the feature extraction of a special source code, then performs code clone detection on a preset code based on the knowledge base to obtain a code clone detection result, and then performs qualitative and quantitative analysis on the code clone detection result to determine a source file corresponding to the preset code.
In specific implementation, in the embodiment of the present invention, the cloning collision detection of the HASH value extracted from the source code, the HASH value obtained by the lexical analyzer, and the code fragment level HASH value set is performed on the preset code and the preset knowledge base in sequence, and if any collision detection is successful, the specific execution process for determining that the preset code is a code clone includes the following steps, which are specifically shown in fig. 4:
firstly, performing clone collision detection of a HASH value on the preset code and the preset knowledge base, specifically, extracting the HASH value of the preset code, performing clone collision detection on the HASH value and the HASH value stored in the preset knowledge base, and if the collision is successful, determining that the preset code is a code clone and the cloning degree is 100%.
If the collision is not successful, performing clone collision detection of the HASH value on the preset code and the preset knowledge base, wherein the step specifically comprises the following steps: preprocessing the preset code through a lexical analyzer to obtain a HASH value of the preset code, carrying out clone collision detection on the HASH value of the preset code and the HASH value stored in the preset knowledge base, and if collision is successful, determining that the preset code is a code clone and the cloning degree is 100%.
If the collision is not successful, carrying out clone collision detection of the code fragment level HASH value set on the preset code and the preset knowledge base, wherein the specific collision detection process comprises the following steps: processing the preset code through a lexical analyzer, converting the preset code into a preset character string, performing window division processing on the preset character string according to a preset character length to sequentially obtain a plurality of substring sets, sequentially and respectively generating HASH values for the substring sets, and performing deduplication processing on the generated HASH values to obtain a code fragment level feature set of the preset code; and sequentially carrying out clone collision detection on the code segment level feature set and the code segment level HASH value set in the preset knowledge base, and if the collision is successful, determining that the preset code is a code clone.
And if the collision is successful, determining that the preset code is a code clone, and the method further comprises the following steps: and grouping HASH values with successful collision according to source files, counting the feature quantity of collision in each group, and taking the source file with the most collision feature quantity as the source file of the preset code clone. And dividing the number of HASH values of the preset codes which are successfully collided by the number of features in the code segment level feature set of the preset codes to obtain the cloning degree of the preset codes.
The method according to the embodiment of the present invention will be explained and explained in detail below with MD5 as the HASH value in conjunction with fig. 2, 3 and 4:
the invention mainly solves the problem of homologous detection of code cloning, and mainly comprises the following 2 steps:
firstly, establishing a knowledge base (storing source code characteristics);
then, the code file is subjected to clone detection and qualitative and quantitative analysis.
In the embodiment of the invention, the specific steps of establishing the knowledge base comprise:
step 1, collecting and sorting open source codes, and storing the open source codes in a uniform format;
step 2, extracting characteristics of the source codes stored in the previous step, and mainly extracting information of original texts MD5 of the files, MD5 characteristics of texts of the original texts after being preprocessed by a lexical analyzer, code segment level MD5 information of the texts after being preprocessed, and path mapping relation information of open source file relative paths and original texts MD5 of the files;
in step 2, the local disk stores a piece of unique original file, that is, the source code mentioned above, for implementing visual display of the code clone pair, the local file is named as MD5 of the original text, and the file suffix is the file suffix of the original file, so as to facilitate subsequent path indexing, for example, setting: e10adc3949ba59abbe56e057f20f883e.java;
in the embodiment of the present invention, as shown in fig. 4, the specific steps of the code clone detection in the embodiment of the present invention include:
1) reading the file content, generating MD5, performing collision detection with the hash _ token table, if the file content is collided, determining that the qualitative file is in a clone relation and the quantitative cloning degree is 100%, and if the file content is not collided, performing the processing of the step 2);
2) acquiring a corresponding programming language according to a file suffix, for example, a Java suffix file is a Java programming language file, calling a lexical analyzer, performing text preprocessing, outputting a preprocessed text, and constructing different lexical analyzers according to different grammar rules, wherein the core processing rules of the lexical analyzers are as follows:
(1) removing meaningless code segments, mainly comprising code comments, blank lines and the like;
(2) removing parts without specific semantics and functions, such as package information and import information in Java;
(3) searching and reserving information such as keywords, reserved words, common grammar and the like with code semantic information, such as pub l ic, stat ic, i nt, Stri ng, Thread, pr i nt l n and the like in Java, and performing unified character replacement on components without code structure semantics such as class names, function names, parameter names, character strings, numerical values and the like, wherein the components are uniformly replaced by a letter P;
(4) removing unnecessary spaces between characters;
(5) and (4) obtaining the text after the structured preprocessing after the processing according to the steps (1), (2) and (3).
The flow of the structured preprocessing of the lexical analyzer in the embodiment of the present invention is specifically shown in fig. 2.
3) Generating MD5 information according to the text of the preprocessed fingerprint acquired in the step 2), performing collision detection on the MD5 information and a file-level feature table { language } _ file _ token of a corresponding programming language, and if the MD5 information and the file-level feature table { language } _ file _ token collide, determining that the MD5 information is a file-level code clone qualitatively and the quantitative cloning degree is 100%; if the collision does not happen, the processing of the step 4) is carried out;
4) the extracting of the file code segment level feature set comprises the following steps:
(1) uniformly removing the character '\ n' from the text subjected to the structured preprocessing in the step 2), and converting the text into a 1-line-length character string;
(2) performing substring extraction on the character strings in the step (1), starting from the first character, extracting one substring every 50 characters, and performing window division processing, wherein if the character length is 200, 200-50+ 1-151 substrings are generated, namely 1-50, 2-51, and 3-52.. 151. and 200 are respectively generated, and the front and back sequence of the substrings is maintained;
(3) sequentially and respectively generating MD5 for the substring sets in the step (2), and respectively generating 151 MD5 while keeping the front-back order;
(4) performing feature extraction on 151 MDs 5 in the step (3) to effectively compress data, wherein the extraction method is to perform windowing by using windows with the length of 51, each window comprises 51 MDs 5, and 151-51+1 is 101 windows in total, and each window respectively comprises a sub-string sequence with the sequence number of 1-51 and 2-52.. 101- > 151;
(5) in the 101 division windows generated in (4), in each division window, sorting the elements in the window for MD5 to obtain the smallest MD5 element as the feature of the corresponding window, and then 101 features are generated;
(6) performing deduplication on 101 features in (5), and generating 1 feature in the worst case (each feature is the same) and preferably 101 features (each feature is different);
(7) and finally, the feature set after the deduplication in (6) is the code segment level feature corresponding to the file.
The code level feature extraction flow chart of the embodiment of the invention is specifically shown in fig. 3:
5) performing cyclic traversal processing on the code segment level set extracted in the step 4), respectively colliding with a code segment level feature library { language } _ code _ token of a corresponding programming language, if the code segment level set does not collide with the code segment level feature library, determining the file to be an original file (without code cloning behavior), if the file collides with the original file, obtaining 1-to-n collision relation (the fragments of 1 file may collide with code segments of a plurality of files in a knowledge base), then sorting according to the number of feature numbers on the collision of the same open source file, selecting the open source file with the largest number of feature numbers on the collision to serve as an optimal solution, and then performing the step 6);
6) respectively carrying out structured preprocessing on texts in 2) on 5 files a and B which are qualitatively in clone relation, then respectively carrying out code segment level feature extraction in step 4), only carrying out processing in steps (1) (2) (3) (4) this time to obtain feature detection A1 and A2, calculating and obtaining all MD5 feature set B with the same A1 and A2, and dividing the number of elements in the set B by the number of elements in the set A1 to obtain the clonality of the file;
7) at this point, the cloning qualitative and quantitative detection of the coding file is finished, and a single file has 4 detection results, namely original level cloning, file level cloning, code fragment level cloning and originality.
Generally speaking, the invention only needs to store source codes and devices for detecting clone, so the invention can reduce the hardware deployment cost, and the method of the invention supports code structured clone detection, conforms to the practical situation of programming, supports 3.5 type code clone detection, and can combine the practical grammar and semantics of programming language, and uses different lexical resolvers for different languages, so the detection of the invention is more accurate and effective.
Although the preferred embodiments of the present invention have been disclosed for illustrative purposes, those skilled in the art will appreciate that various modifications, additions and substitutions are possible, and the scope of the invention should not be limited to the embodiments described above.

Claims (10)

1. A method for performing homology detection on code clones, comprising:
carrying out code clone detection on a preset code based on a preset knowledge base to obtain a code clone detection result;
and qualitatively and quantitatively analyzing the code clone detection result to determine a source file corresponding to the preset code.
2. The method of claim 1, further comprising: establishing a preset knowledge base;
the establishing of the preset knowledge base comprises the following steps:
storing the collected source codes according to a preset format;
and extracting the characteristics of the source code to obtain the preset knowledge base.
3. The method of claim 1, wherein the feature extracting the source code comprises:
extracting the HASH value of the source code, preprocessing the source code through a lexical analyzer to obtain a structured text of the source code, and extracting the HASH value of the structured text of the source code and the HASH value of a code segment of the structured text;
after the feature extraction is performed on the source code, the method further includes:
and storing the mapping relation among the HASH value extracted from the source code, the HASH value obtained by the lexical analyzer, the HASH value of the code fragment level of the structured text obtained by the lexical analyzer, the source code and the relative file storage path of the source code.
4. The method of claim 3, wherein the processing rules of the lexical analyzer include:
removing meaningless code fragments;
removing code segments of non-preset semantics and non-preset functions;
and searching and reserving keywords, reserved words and common grammars with code semantic information, and performing unified character replacement on components without code structure semantics.
5. The method of claim 1, wherein the code clone detection of the preset code based on the preset knowledge base comprises:
extracting a HASH value corresponding to a source code of the preset code, analyzing the HASH value corresponding to the preset code through a lexical analyzer, and determining a code fragment level HASH value set of the preset code;
and sequentially carrying out clone collision detection on the HASH value extracted by the source code, the HASH value obtained by the lexical analyzer and the HASH value set of the code fragment level on the preset code and the preset knowledge base, and if any collision detection is successful, determining that the preset code is a code clone.
6. The method of claim 5, wherein performing clone collision detection of the MD5 information on the preset code and the preset knowledge base comprises:
and extracting MD5 information of the preset code, performing clone collision detection on the MD5 information and MD5 information stored in the preset knowledge base, and if the collision is successful, determining that the preset code is code clone and the cloning degree is 100%.
7. The method of claim 5, wherein performing a clone collision test of the HASH value with the predetermined knowledge base comprises:
preprocessing the preset code through a lexical analyzer to obtain a HASH value of the preset code, carrying out clone collision detection on the HASH value of the preset code and the HASH value stored in the preset knowledge base, and if collision is successful, determining that the preset code is a code clone and the cloning degree is 100%.
8. The method of claim 5, wherein performing clone collision detection of the set of code segment level HASH values of the predetermined code with the predetermined knowledge base comprises:
processing the preset code through a lexical analyzer, converting the preset code into a preset character string, performing window division processing on the preset character string according to a preset character length to sequentially obtain a plurality of substring sets, sequentially and respectively generating HASH values for the substring sets, and performing deduplication processing on the generated HASH values to obtain a code fragment level feature set of the preset code;
and sequentially carrying out clone collision detection on the code segment level feature set and the code segment level HASH value set in the preset knowledge base, and if the collision is successful, determining that the preset code is a code clone.
9. The method of claim 6, wherein the code segment level feature set is sequentially subjected to clone collision detection with a set of code segment level HASH values in the predetermined knowledge base, and wherein after determining that the predetermined code is a code clone if the collision is successful, the method further comprises:
and grouping HASH values with successful collision according to source files, counting the feature quantity of collision in each group, and taking the source file with the most collision feature quantity as the source file of the preset code clone.
10. The method of claim 6, wherein the code segment level feature set is sequentially subjected to clone collision detection with a set of code segment level HASH values in the predetermined knowledge base, and wherein after determining that the predetermined code is a code clone if the collision is successful, the method further comprises:
and dividing the HASH value number of the successful collision of the preset code by the feature number in the code segment level feature set of the preset code to obtain the cloning degree of the preset code.
CN202110224364.8A 2021-03-01 2021-03-01 Method for carrying out homologous detection on code clone Pending CN113064634A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110224364.8A CN113064634A (en) 2021-03-01 2021-03-01 Method for carrying out homologous detection on code clone

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110224364.8A CN113064634A (en) 2021-03-01 2021-03-01 Method for carrying out homologous detection on code clone

Publications (1)

Publication Number Publication Date
CN113064634A true CN113064634A (en) 2021-07-02

Family

ID=76559504

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110224364.8A Pending CN113064634A (en) 2021-03-01 2021-03-01 Method for carrying out homologous detection on code clone

Country Status (1)

Country Link
CN (1) CN113064634A (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106990956A (en) * 2017-03-10 2017-07-28 苏州棱镜七彩信息科技有限公司 Code file clone's detection method based on suffix tree
CN107066262A (en) * 2017-03-10 2017-08-18 苏州棱镜七彩信息科技有限公司 Source code file clone's adjacency list merges detection method
CN111126031A (en) * 2019-12-12 2020-05-08 南京谦萃智能科技服务有限公司 Code text processing method and related product
CN111930610A (en) * 2020-07-07 2020-11-13 北京白泽洞冥科技有限公司 Software homology detection method, device, equipment and storage medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106990956A (en) * 2017-03-10 2017-07-28 苏州棱镜七彩信息科技有限公司 Code file clone's detection method based on suffix tree
CN107066262A (en) * 2017-03-10 2017-08-18 苏州棱镜七彩信息科技有限公司 Source code file clone's adjacency list merges detection method
CN111126031A (en) * 2019-12-12 2020-05-08 南京谦萃智能科技服务有限公司 Code text processing method and related product
CN111930610A (en) * 2020-07-07 2020-11-13 北京白泽洞冥科技有限公司 Software homology detection method, device, equipment and storage medium

Similar Documents

Publication Publication Date Title
CN111177184A (en) Structured query language conversion method based on natural language and related equipment thereof
CN109597983B (en) Spelling error correction method and device
CN109062792A (en) A kind of Open Source Code detection method based on String matching and characteristic matching
CN106649557B (en) Semantic association mining method for defect report and mail list
CN109885641B (en) Method and system for searching Chinese full text in database
CN115017268B (en) Heuristic log extraction method and system based on tree structure
CN104156373B (en) Coded format detection method and device
CN116149669A (en) Binary file-based software component analysis method, binary file-based software component analysis device and binary file-based medium
CN114153496B (en) High-speed parallelizable code similarity comparison method and system based on blockchain
CN110989991B (en) Method and system for detecting source code clone open source software in application program
CN113836316A (en) Processing method, training method, device, equipment and medium for ternary group data
CN113220821A (en) Index establishing method and device for test question retrieval and electronic equipment
CN110705285B (en) Government affair text subject word library construction method, device, server and readable storage medium
CN117195829A (en) Text labeling method, text labeling device and electronic equipment
CN111160445A (en) Bid document similarity calculation method and device
CN113064634A (en) Method for carrying out homologous detection on code clone
CN110956030A (en) Method and system for comparing configuration information of remote machine of transformer substation
CN115796146A (en) File comparison method and device
CN112925874B (en) Similar code searching method and system based on case marks
CN114220113A (en) Paper quality detection method, device and equipment
US20210157818A1 (en) Computerized data compression and analysis using potentially non-adjacent pairs
CN114880523A (en) Character string processing method and device, electronic equipment and storage medium
CN114239553A (en) Log auditing method, device, equipment and medium based on artificial intelligence
CN113221538A (en) Event library construction method and device, electronic equipment and computer readable medium
CN113609864A (en) Text semantic recognition processing system and method based on industrial control system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 102200 Floor 5, Block B, Building 1, Yard 10, Longyu North Street, Changping District, Beijing

Applicant after: SUZHOU LENGJING QICAI INFORMATION TECHNOLOGY CO.,LTD.

Address before: 100085 910, block a, Jinyu International Center, Changping District, Beijing

Applicant before: SUZHOU LENGJING QICAI INFORMATION TECHNOLOGY CO.,LTD.

CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Liang Dagong

Inventor after: Yang Hua

Inventor after: Wang Bo

Inventor after: Luo Xun

Inventor after: Dan Jibing

Inventor after: Yi Huanteng

Inventor after: Wang Xiaozhou

Inventor before: Luo Xun

Inventor before: Dan Jibing

Inventor before: Yi Huanteng

Inventor before: Wang Lin

Inventor before: Liang Dagong