CN111651164A - 代码标识符的归一化方法、装置 - Google Patents

代码标识符的归一化方法、装置 Download PDF

Info

Publication number
CN111651164A
CN111651164A CN202010356448.2A CN202010356448A CN111651164A CN 111651164 A CN111651164 A CN 111651164A CN 202010356448 A CN202010356448 A CN 202010356448A CN 111651164 A CN111651164 A CN 111651164A
Authority
CN
China
Prior art keywords
words
abbreviation
splitting
code
abbreviations
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
CN202010356448.2A
Other languages
English (en)
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.)
Nanjing University of Aeronautics and Astronautics
Original Assignee
Nanjing University of Aeronautics and Astronautics
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 Nanjing University of Aeronautics and Astronautics filed Critical Nanjing University of Aeronautics and Astronautics
Priority to CN202010356448.2A priority Critical patent/CN111651164A/zh
Publication of CN111651164A publication Critical patent/CN111651164A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/425Lexical analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/43Checking; Contextual analysis
    • G06F8/436Semantic checking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Machine Translation (AREA)

Abstract

本发明公开了一种代码标识符的归一化方法、装置,包括:对代码标识符进行划分,得到组合词和缩写词;分别对组合词和缩写词进行归一化,其中组合词归一化包括:依据组合词中包括的字符,划分得到硬词和软词;采用词句拆分算法对硬词进行拆分,依据历史拆分结果对软词进行拆分;其中缩写词归一化包括:抽取与缩写词相关联的编程代码中的代码标识符,构建缩写词词典;依据所述缩写词词典进行缩写词扩充;对剩余缩写词依据历史扩充结果进行扩充。采用上述技术方案,可以有效、准确且高效率地实现代码标识符的归一化,提高代码标识符归一化结果的理解、表达力效果,帮助软件开发人员快速准确地理解代码标识符的语义功能。

Description

代码标识符的归一化方法、装置
技术领域
本发明涉及数据处理领域,尤其涉及一种代码标识符的归一化方法、装置。
背景技术
代码分析和理解是软件工程领域的前沿且核心的研究热点,而作为代码分析和理解的重要内容,代码标识符归一化是当前研究的核心研究内容之一,代码标识符需要在有限的长度内表达其唯一对应的概念和行为。
然而,现有技术中采用的代码标识符归一化技术方案,难以实现准确的代码标识符意思表达,特别是无法将组合词进行有效拆分、无法将缩写词进行有效扩充。
发明内容
发明目的:本发明旨在提供一种代码标识符的归一化方法、装置。
技术方案:本发明的实施例中提供一种代码标识符的归一化方法,包括:对代码标识符进行划分,得到组合词和缩写词;分别对组合词和缩写词进行归一化,其中组合词归一化包括:依据组合词中包括的字符,划分得到硬词和软词;采用词句拆分算法对硬词进行拆分,依据历史拆分结果对软词进行拆分;
其中缩写词归一化包括:抽取与缩写词相关联的编程代码中的代码标识符,构建缩写词词典;依据所述缩写词词典进行缩写词扩充;对剩余缩写词依据历史扩充结果进行扩充。
具体的,将包括预设数量的特定字符形式、种类的组合词划分为硬词,其余则为软词。
具体的,所述特定字符形式、种类包括以下至少一种:大写字符、小写字符、特殊符号。
具体的,采用正则表达式对硬词进行拆分。
具体的,获取相同开发者的历史拆分结果,并依据词句相似度,获取相似程度达到预设程度的代码项目的历史拆分结果;依据历史拆分结果对软词进行拆分。
具体的,依次从缩写词的当前函数、所述当前函数的相关函数、当前文件、当前项目中抽取关联信息;将关联信息依据与缩写词的对应关系构建缩写词词典。
具体的,依次从缩写词的当前函数、所述当前函数的相关函数、当前文件、当前项目中抽取关联信息;将关联信息依据与缩写词的对应关系构建缩写词词典。
具体的,若存在缩写词对应多个扩充词;抽取缩写词指向的当前代码的上下文,通过词向量算法分别计算多个扩充词与上下文的语义相似度,选取与当前代码上下文语义最相近的扩充词进行扩充。
具体的,将代码标识符归一化结果作为训练集,对归一化模型进行训练;使用训练完成的归一化模型对代码标识符进行归一化。
本发明实施例中还提供一种代码标识符的归一化装置,包括:划分单元和归一化单元,其中:所述划分单元,用于对代码标识符进行划分,得到组合词和缩写词;所述归一化单元,用于分别对组合词和缩写词进行归一化,其中组合词归一化包括:依据组合词中包括的字符,划分得到硬词和软词;采用词句拆分算法对硬词进行拆分,依据历史拆分结果对软词进行拆分;
其中缩写词归一化包括:抽取与缩写词相关联的编程代码中的标识符,构建缩写词词典;依据所述缩写词词典进行缩写词扩充;对剩余缩写词依据历史扩充结果进行扩充。
有益效果:与现有技术相比,本发明具有如下显著优点:有效、准确且高效率地实现代码标识符的归一化,提高代码标识符归一化结果的理解、表达力效果,帮助软件开发人员快速准确地理解代码标识符的语义功能。
附图说明
图1为本发明实施例中提供的代码标识符的归一化方法的流程示意图;
图2为本发明实施例中提供的组合词拆分流程示意图;
图3为本发明实施例中提供的缩写词扩充流程示意图;
图4为本发明实施例中提供的代码标识符的归一化方法与基准方法之间对比。
具体实施方式
下面结合附图对本发明的技术方案作进一步说明。
参阅图1,其为本发明实施例中提供的代码标识符的归一化方法的流程示意图,包括具体步骤。
步骤S101,对代码标识符进行划分,得到组合词和缩写词。
在具体实施中,组合词是指由多个词组合而成的词语形式,缩写词是由多个词的缩写组合而成的词语形式。由于组合词和缩写词的归一化方法有所区别,因此进行划分、标记。代码标识符中还可以包括不属于组合词或者缩写词的词语形式,例如已经可以有效表达其唯一对应的概念和行为的词语、语句。
在具体实施中,归一化是指将组合词或者缩写词进行拆分或扩充等处理,使得处理后的词语可以有效表达其含义,供阅读者快速、有效、无歧义地理解代码标识符所指向的代码。
步骤S102,分别对组合词和缩写词进行归一化。
参阅图2,其为本发明实施例中提供的组合词拆分流程示意图。
步骤S102-1,其中组合词归一化包括:依据组合词中包括的字符,划分得到硬词和软词;采用词句拆分算法对硬词进行拆分,依据历史拆分结果对软词进行拆分。
在具体实施中,组合词中也有具体的分别,针对不同形式、特点的组合词采用不同的方式的拆分方式,可以在提高拆分效率的同时,提升拆分的准确度。
在具体实施中,硬词是指具有明显拆分标记的组合词,而软词是指没有特别明显的拆分标记的组合词,软词相对于硬词来说,更加难以拆分。
在具体实施中,硬词中的拆分标记通常是通过组合词中包括的字符进行体现的,依据其中特定的、特别的字符可以进行快速地、准确地划分。
本发明实施例中,将包括预设数量的特定字符形式、种类的组合词划分为硬词,其余则为软词。
本发明实施例中,所述特定字符形式、种类包括以下至少一种:大写字符、小写字符、特殊符号。
在具体实施中,硬词和软词的划分可以利用代码标识符中的大小写以及特殊符号(如下划线“_”)来判断。如果代码标识符包含预设数量的大写、小写字母或者特殊符号,则该代码标识符为硬词,否则,该代码标识符为软词。其中预设数量可以由实施者依据具体应用情形进行确定,或者可以由算法训练学习后进行确定。
本发明实施例中,采用正则表达式对硬词进行拆分。
在具体实施中,针对组合词中的硬词,由驼峰构词法(首字母大写)和下划线等方式构成的组合词,即包括明显拆分标记,可以使用正则表达式进行拆分,有效、准确且高效率。
在具体实施中,由于软词没有包括明显拆分标记,因此直接适用既定的拆分算法难以有效、准确且高效率地进行拆分,所以可以依据已经形成的历史拆分结果对软词进行拆分,可以更加有效、准确且高效率地进行拆分。
本发明实施例中,获取相同开发者的历史拆分结果,并依据词句相似度,获取相似程度达到预设程度的代码项目的历史拆分结果;依据历史拆分结果对软词进行拆分。
在具体实施中,针对组合词中的软词,一方面可以查找和搜索具有相似代码编程风格和规范的代码项目,抽取出这些相似代码项目的组合词的拆分结果,通过对相似的代码项目中的组合词的拆分方式进行挖掘,尤其是频繁项集的挖掘,得到基于相似的代码项目的组合词中的软词历史拆分结果;另一方面,可以基于开发者提交的信息匹配抽取出软词的开发者,通过对当前开发者的组合词拆分结果进行挖掘,归纳出开发者创作组合词(软词)的规律,进而基于开发者的历史信息得到组合词(软词)拆分结果,通过对相似的代码项目的组合词(软词)拆分结果和当前开发者的组合词(软词)拆分结果进行总结和合并,最终得到代码标识符组合词的历史拆分结果、历史拆分规律,据此可以对当前代码项目中的软词进行有效、准确且高效率地拆分。
在具体实施中,词法相似度、词句相似度(可以采用相应的相似度算法)可以查找和搜索具有相似代码编程风格和规范的代码项目,其中相似程度达到预设程度即可以判定两者属于相似的代码项目,预设程度可以由实施者依据具体应用场景进行设定。
参阅图3,其为本发明实施例中提供的缩写词扩充流程示意图。
步骤S102-2,其中缩写词归一化包括:抽取与缩写词相关联的编程代码中的标识符,构建缩写词词典;依据所述缩写词词典进行缩写词扩充;对剩余缩写词依据历史扩充结果进行扩充。
本发明实施例中,依次从缩写词的当前函数、所述当前函数的相关函数、当前文件、当前项目中抽取关联信息;将关联信息依据与缩写词的对应关系构建缩写词词典。
在具体实施中,从缩写词所指向的代码信息,以及该代码信息的关联信息中查询和搜索与缩写词有关的关联信息,该关联信息可以是完整表达缩写词中的部分或全部缩写的含义的词句,并与其建立对应关系,可以针对各个缩写词都进行相应的关联信息抽取,形成缩写词词典。据此可以针对部分缩写词进行有效、准确且高效率地扩充。
本发明实施例中,获取相同开发者的历史扩充结果,并依据词句相似度,获取相似程度达到预设程度的代码项目的历史扩充结果;依据历史扩充结果对缩写词进行扩充。
在具体实施中,针对剩余的缩写词,可以学习相似的代码项目的缩写词构造方式,和特定开发者的缩写词构造方式。通过对相似的代码项目的缩写词扩充结果和当前开发者的缩写词扩充结果进行总结和合并,最终得到代码标识符缩写词的历史扩充结果、历史扩充规律,据此可以对当前代码项目中的缩写词进行有效、准确且高效率地扩充。同理参照软词的拆分方式,相似的代码项目判定也可以相应参照。
本发明实施例中,若存在缩写词对应多个扩充词;抽取缩写词指向的当前代码的上下文,通过词向量算法分别计算多个扩充词与上下文的语义相似度,选取与当前代码上下文语义最相近的扩充词进行扩充。
在具体实施中,若存在缩写词对应多个扩充词,需要处理一个缩写词有多个扩充词的情况。可以解析当前代码上下文中的数据,选择和当前代码上下文中的语义最相近(通过词向量算法计算语义相似度,例如word2vec)的扩充词进行扩充。据此有效地提高扩充后的缩写词的含义表达力。
本发明实施例中,分别对组合词和缩写词进行归一化,还包括:将代码标识符归一化结果作为训练集,对归一化模型进行训练;使用训练完成的归一化模型对代码标识符进行归一化。
在具体实施中,归一化模型可以采用随机森林算法。通过使用训练完成的归一化模型,可以实现组合词的拆分和缩写词的扩充,可以将代码标识符解析成对应的自然语言词汇,以帮助软件开发人员快速准确地理解代码标识符的语义功能。
在具体实施中,引入Wilcoxon符号秩检验来测试本发明实施例中提供的本技术方案与基准方法之间的统计显著性差异。在本技术方案中,显著性水平设定为5%,也即如果计算出来的p-value小于5%,说明本技术方案和基准方法的性能之间存在显著性差异。
参阅图4,展示了本技术方案A和基准方法B的结果对比,就全部精确率而言,本技术方案可以达到37.35%,而基准方法LINSEN只能达到29.86%,本技术方案超过基准方法7.49%;就局部精确率而言,本技术方案达到了45.62%,而基准方法LINSEN只能达到38.92%。本技术方案超过基准方法6.70%。从对比结果中表明,本技术方案比基准方法表现更好,本技术方案相比于基准方法可以更好地对代码标识符进行归一化。
本技术方案基于学习训练,可以充分挖掘和分析出相似的代码项目的代码标识符归一化的模式和当前开发者构建代码标识符的模式,进而可以准确地对代码标识符进行归一化。相反,基准方法仅依赖于当前项目的词汇表,并且不利用其他相似的代码项目的归一化方案和软件开发人员的个性化信息,其次,针对代码标识符中的组合词和缩写词,本技术方案设计并实现了对应的组合词拆分方式和缩写词扩充方式。因此,本技术方案可以充分覆盖代码标识符的各个方面和各种情况,即使只有组合词或者只有缩写词也可以进行精准地归一化。本技术方案也充分利用和挖掘了当前项目的各种信息,尤其是代码词汇表信息、代码标识符,以提高当前代码项目中的代码标识符归一化结果的理解、表达力效果。
在具体实施中,可以使用十折交叉验证的方式来验证本技术方案。十折交叉验证的工作原理如下:首先,将整个代码库按照文件划分为10个相同大小的单位。在这10个单位中,1个单位被视为测试集,其余9个单位被用作训练集。当每个单位被选为一次测试集并且该过程重复10次时,用10个预测结果的平均值被来评估本技术方案的性能。
在具体实施中,引入两种不同的准确率度量指标来评估本技术方案的效果,分别为全部准确率和局部准确率。给定一个代码标识符,其对应的归一化后的自然语言单词大多数情况下都是多个。因此,有时候,某个方法得到的结果可能只有一部分的单词是正确的,另外一部分是错误的。所以,同时使用全部准确率和局部准确率来评估本技术方案的效果,全部准确率和局部准确率的计算公式如下所示:
Figure BDA0002473620290000061
其中,全部预测正确的代码标识符是指本技术方案预测的标识符的归一化结果集合和该代码标识符的正确的归一化结果集合完全一致。
Figure BDA0002473620290000062
其中,局部精确率计算预测结果和正确结果的交集占正确结果的比例。
本发明实施例中还提供一种代码标识符的归一化装置,包括:划分单元和归一化单元,其中:所述划分单元,用于对代码标识符进行划分,得到组合词和缩写词;
所述归一化单元,用于分别对组合词和缩写词进行归一化,其中组合词归一化包括:依据组合词中包括的字符,划分得到硬词和软词;采用词句拆分算法对硬词进行拆分,依据历史拆分结果对软词进行拆分;
其中缩写词归一化包括:抽取与缩写词相关联的编程代码中的标识符,构建缩写词词典;依据所述缩写词词典进行缩写词扩充;对剩余缩写词依据历史扩充结果进行扩充。
本发明实施例中,所述归一化单元,还用于将包括预设数量的特定字符形式、种类的组合词划分为硬词,其余则为软词。
本发明实施例中,所述特定字符形式、种类包括以下至少一种:大写字符、小写字符、特殊符号。
本发明实施例中,所述归一化单元,用于采用正则表达式对硬词进行拆分。
本发明实施例中,所述归一化单元,用于获取相同开发者的历史拆分结果,并依据词句相似度,获取相似程度达到预设程度的代码项目的历史拆分结果;依据历史拆分结果对软词进行拆分。
本发明实施例中,所述归一化单元,用于依次从缩写词的当前函数、所述当前函数的相关函数、当前文件、当前项目中抽取关联信息;将关联信息依据与缩写词的对应关系构建缩写词词典。
本发明实施例中,所述归一化单元,用于获取相同开发者的历史扩充结果,并依据词句相似度,获取相似程度达到预设程度的代码项目的历史扩充结果;依据历史扩充结果对缩写词进行扩充。
本发明实施例中,所述归一化单元,还用于若存在缩写词对应多个扩充词;抽取缩写词指向的当前代码的上下文,通过词向量算法分别计算多个扩充词与上下文的语义相似度,选取与当前代码上下文语义最相近的扩充词进行扩充。
本发明实施例中,所述归一化单元,还用于将代码标识符归一化结果作为训练集,对归一化模型进行训练;使用训练完成的归一化模型对代码标识符进行归一化。

Claims (10)

1.一种代码标识符的归一化方法,其特征在于,包括:
对代码标识符进行划分,得到组合词和缩写词;
分别对组合词和缩写词进行归一化,
其中组合词归一化包括:
依据组合词中包括的字符,划分得到硬词和软词;
采用词句拆分算法对硬词进行拆分,依据历史拆分结果对软词进行拆分;
其中缩写词归一化包括:
抽取与缩写词相关联的编程代码中的代码标识符,构建缩写词词典;
依据所述缩写词词典进行缩写词扩充;
对剩余缩写词依据历史扩充结果进行扩充。
2.根据权利要求1所述的代码标识符的归一化方法,其特征在于,所述依据组合词中包括的字符,划分得到硬词和软词,包括:
将包括预设数量的特定字符形式、种类的组合词划分为硬词,其余则为软词。
3.根据权利要求2所述的代码标识符的归一化方法,其特征在于,所述特定字符形式、种类包括以下至少一种:大写字符、小写字符、特殊符号。
4.根据权利要求3所述的代码标识符的归一化方法,其特征在于,所述采用词句拆分算法对硬词进行拆分,包括:
采用正则表达式对硬词进行拆分。
5.根据权利要求4所述的代码标识符的归一化方法,其特征在于,所述依据历史拆分结果对软词进行拆分,包括:
获取相同开发者的历史拆分结果,并依据词句相似度,获取相似程度达到预设程度的代码项目的历史拆分结果;
依据历史拆分结果对软词进行拆分。
6.根据权利要求1或5所述的代码标识符的归一化方法,其特征在于,所述抽取与缩写词相关联的编程代码中的代码标识符,构建缩写词词典,包括:
依次从缩写词的当前函数、所述当前函数的相关函数、当前文件、当前项目中抽取关联信息;
将关联信息依据与缩写词的对应关系构建缩写词词典。
7.根据权利要求6所述的代码标识符的归一化方法,其特征在于,所述对剩余缩写词依据历史扩充结果进行扩充,包括:
获取相同开发者的历史扩充结果,并依据词句相似度,获取相似程度达到预设程度的代码项目的历史扩充结果;
依据历史扩充结果对缩写词进行扩充。
8.根据权利要求6所述的代码标识符的归一化方法,其特征在于,所述依据所述缩写词词典进行缩写词扩充;对剩余缩写词依据历史扩充结果进行扩充,还包括:
若存在缩写词对应多个扩充词;
抽取缩写词指向的当前代码的上下文,通过词向量算法分别计算多个扩充词与上下文的语义相似度,选取与当前代码上下文语义最相近的扩充词进行扩充。
9.根据权利要求8所述的代码标识符的归一化方法,其特征在于,所述分别对组合词和缩写词进行归一化,还包括:
将代码标识符归一化结果作为训练集,对归一化模型进行训练;
使用训练完成的归一化模型对代码标识符进行归一化。
10.一种代码标识符的归一化装置,其特征在于,包括:划分单元和归一化单元,其中:
所述划分单元,用于对代码标识符进行划分,得到组合词和缩写词;
所述归一化单元,用于分别对组合词和缩写词进行归一化,
其中组合词归一化包括:
依据组合词中包括的字符,划分得到硬词和软词;
采用词句拆分算法对硬词进行拆分,依据历史拆分结果对软词进行拆分;
其中缩写词归一化包括:
抽取与缩写词相关联的编程代码中的标识符,构建缩写词词典;
依据所述缩写词词典进行缩写词扩充;
对剩余缩写词依据历史扩充结果进行扩充。
CN202010356448.2A 2020-04-29 2020-04-29 代码标识符的归一化方法、装置 Pending CN111651164A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010356448.2A CN111651164A (zh) 2020-04-29 2020-04-29 代码标识符的归一化方法、装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010356448.2A CN111651164A (zh) 2020-04-29 2020-04-29 代码标识符的归一化方法、装置

Publications (1)

Publication Number Publication Date
CN111651164A true CN111651164A (zh) 2020-09-11

Family

ID=72346535

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010356448.2A Pending CN111651164A (zh) 2020-04-29 2020-04-29 代码标识符的归一化方法、装置

Country Status (1)

Country Link
CN (1) CN111651164A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113448857A (zh) * 2021-07-09 2021-09-28 北京理工大学 一种基于深度学习的软件代码质量度量方法

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101770363A (zh) * 2005-06-27 2010-07-07 奎朴兹有限公司 代码转换
US20100251364A1 (en) * 2009-03-25 2010-09-30 Sysmate Co., Ltd. Method and apparatus for classifying harmful packet
CN106599086A (zh) * 2016-11-25 2017-04-26 山东科技大学 一种基于Gaussian LDA和词嵌入的语义稀疏Web服务发现方法
CN107844414A (zh) * 2016-09-21 2018-03-27 南京大学 一种基于缺陷报告分析的跨项目、并行化缺陷定位方法
CN107943481A (zh) * 2017-05-23 2018-04-20 清华大学 基于多模型的c语言程序代码规范构造方法
CN108614707A (zh) * 2018-04-27 2018-10-02 深圳市腾讯网络信息技术有限公司 静态代码检查方法、装置、存储介质和计算机设备
CN109558166A (zh) * 2018-11-26 2019-04-02 扬州大学 一种面向缺陷定位的代码搜索方法
CN109697162A (zh) * 2018-11-15 2019-04-30 西北大学 一种基于开源代码库的软件缺陷自动检测方法
CN110413284A (zh) * 2019-08-06 2019-11-05 腾讯科技(深圳)有限公司 词法分析方法、装置、计算机设备和存储介质
US20190339967A1 (en) * 2018-05-06 2019-11-07 Methodics, Inc. Design component dependency tree normalization through automatic conflict resolution and/or contextual dependency

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101770363A (zh) * 2005-06-27 2010-07-07 奎朴兹有限公司 代码转换
US20100251364A1 (en) * 2009-03-25 2010-09-30 Sysmate Co., Ltd. Method and apparatus for classifying harmful packet
CN107844414A (zh) * 2016-09-21 2018-03-27 南京大学 一种基于缺陷报告分析的跨项目、并行化缺陷定位方法
CN106599086A (zh) * 2016-11-25 2017-04-26 山东科技大学 一种基于Gaussian LDA和词嵌入的语义稀疏Web服务发现方法
CN107943481A (zh) * 2017-05-23 2018-04-20 清华大学 基于多模型的c语言程序代码规范构造方法
CN108614707A (zh) * 2018-04-27 2018-10-02 深圳市腾讯网络信息技术有限公司 静态代码检查方法、装置、存储介质和计算机设备
US20190339967A1 (en) * 2018-05-06 2019-11-07 Methodics, Inc. Design component dependency tree normalization through automatic conflict resolution and/or contextual dependency
CN109697162A (zh) * 2018-11-15 2019-04-30 西北大学 一种基于开源代码库的软件缺陷自动检测方法
CN109558166A (zh) * 2018-11-26 2019-04-02 扬州大学 一种面向缺陷定位的代码搜索方法
CN110413284A (zh) * 2019-08-06 2019-11-05 腾讯科技(深圳)有限公司 词法分析方法、装置、计算机设备和存储介质

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
HILL, EMILY: "An empirical study of identifier splitting techniques", 《EMPIRICAL SOFTWARE ENGINEERING》 *
KIM, SUNTAE: "Automatic identifier inconsistency detection using code dictionary", 《EMPIRICAL SOFTWARE ENGINEERING》 *
WARINTARAWEJ, P: "Software understanding: Automatic classification of software identifiers", 《INTELLIGENT DATA ANALYSIS》 *
张静宣,江贺: "代码标识符归一化研究现状及发展趋势", 《计算机科学》 *
杨雪: "基于维基百科的命名实体消歧的研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113448857A (zh) * 2021-07-09 2021-09-28 北京理工大学 一种基于深度学习的软件代码质量度量方法
CN113448857B (zh) * 2021-07-09 2022-03-22 北京理工大学 一种基于深度学习的软件代码质量度量方法

Similar Documents

Publication Publication Date Title
CN111914568B (zh) 文本修辞句的生成方法、装置、设备及可读存储介质
JP4568774B2 (ja) 手書き文字認識で使用されるテンプレートを生成する方法
CN111753531A (zh) 一种基于人工智能的文本纠错方法、装置、计算机设备及存储介质
CN105630941A (zh) 基于统计和网页结构的Web正文内容抽取方法
Layton et al. Recentred local profiles for authorship attribution
CN109614620B (zh) 一种基于HowNet的图模型词义消歧方法和系统
US20130151239A1 (en) Orthographical variant detection apparatus and orthographical variant detection program
EP3483747A1 (en) Preserving and processing ambiguity in natural language
CN109033085B (zh) 中文分词系统及中文文本的分词方法
CN114282527A (zh) 多语言文本检测与纠错方法、系统、电子设备及存储介质
CN113312922B (zh) 一种改进的篇章级三元组信息抽取方法
CN113821605A (zh) 一种事件抽取方法
Tschuggnall et al. Enhancing authorship attribution by utilizing syntax tree profiles
TW201544976A (zh) 自然語言處理系統、自然語言處理方法、及自然語言處理程式
EP2653981A1 (en) Natural language processing device, method, and program
CN106372053B (zh) 句法分析的方法和装置
CN108664464B (zh) 一种语义相关度的确定方法及确定装置
CN106156340A (zh) 一种命名实体链接方法
CN111506726A (zh) 基于词性编码的短文本聚类方法、装置及计算机设备
Kawahara et al. Single Classifier Approach for Verb Sense Disambiguation based on Generalized Features.
TW201335776A (zh) 辭典產生裝置、辭典產生方法、辭典產生程式、及記憶該程式之電腦可讀取記錄媒體
CN111651164A (zh) 代码标识符的归一化方法、装置
CN107092902B (zh) 字符串的识别方法和系统
CN111737982A (zh) 一种基于深度学习的汉语文本错别字检测方法
Ménard et al. Classifier-based acronym extraction for business documents

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200911