CN106569947A - 一种从单元测试代码中提取api使用示例的方法与工具 - Google Patents
一种从单元测试代码中提取api使用示例的方法与工具 Download PDFInfo
- Publication number
- CN106569947A CN106569947A CN201610935694.7A CN201610935694A CN106569947A CN 106569947 A CN106569947 A CN 106569947A CN 201610935694 A CN201610935694 A CN 201610935694A CN 106569947 A CN106569947 A CN 106569947A
- Authority
- CN
- China
- Prior art keywords
- api
- test
- syntax tree
- code
- abstract syntax
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种从单元测试代码中提取API使用示例的方法与工具。本方法为:1)构建软件项目的源代码的抽象语法树并从中提取出所有API方法的标识符;2)构建软件项目的测试代码的抽象语法树并获取其中的结构化信息;3)对每一测试用例的名称进行切分、词根化并索引;对API方法的名称进行切分、词根化并索引;4)计算任意一测试用例与任意一API方法间的相似度;将相似度最高的API方法判定为该测试用例的测试目标API;5)根据测试用例的抽象语法树构建一候选API使用示例集合;6)从该候选集合中选取API使用示例并将其添加至相应API方法的文档中。本发明为新发布的开源API提供丰富有用的API使用示例。
Description
技术领域
本发明涉及一种从单元测试代码中提取API使用示例的方法与工具。
背景技术
复用第三方API是提供软件开发生产率和软件质量的一种重要途径。API使用示例是一种非常重要的学习、使用API的资源。然而API使用示例经常不易获得,主要原因是API开发者提供的官方使用文档中往往缺少API使用示例。
目前,已有一些API使用示例挖掘技术,这些技术通常以软件项目的客户代码库或相关文档、网页为数据源,通过代码片段抽取与切片技术挖掘API使用示例。然而,在实践中有相当多的软件项目的客户代码库和相关文档、网页的规模并不能满足挖掘需求,这导致了采取已有的这些API使用示例挖掘技术能够得到的API使用示例的质量与覆盖度较低。因此,寻找一种新的API使用示例提取方法非常有必要。
发明内容
针对目前软件文档中API使用示例匮乏的问题,本发明提供了一种从单元测试代码中提取API使用示例的方法与工具,通过本发明提供的方法可以有效地从JUnit测试代码中为软件项目的官方文档补充API使用示例信息。
本发明的技术方案为:
一种从单元测试代码中提取API使用示例的方法,其步骤为:
1)对软件项目的源代码进行处理,得到其抽象语法树;然后从该抽象语法树中提取出所有API方法的标识符,并进行索引;
2)对软件项目的测试代码进行处理,得到其抽象语法树;然后获取该测试代码的抽象语法树中的结构化信息;
3)对单元测试代码库中的每一测试用例的名称进行切分、词根化并索引;对从源代码的抽象语法树中提取出的所有API方法的名称进行切分、词根化并索引;
4)对于任意一测试用例与任意一API方法,计算出二者间的相似度;对于任意一测试用例,将与其相似度最高的API方法判定为该测试用例的测试目标API;
5)根据测试用例的抽象语法树判断该测试用例属于哪一类代码模式;所述代码模式的类别包括:a)仅包含断言语句、b)仅包含一个连续的断言语句序列、c)包含多个独立的测试场景、d)包含多个具有公共语句的测试场景;
6)若一测试用例属于类别a)或类别b),则该测试用例对应一个测试场景;若一测试用例属于类别c)或类别d),则该测试用例包含多个测试场景;
7)将步骤6)中得到的各测试场景构建一集合,即候选API使用示例集合;
8)从该候选API使用示例集合中选取API使用示例并将其添加至相应API方法的文档中。
进一步的,步骤8)中,首先对候选API使用示例进行聚类,然后根据聚类结果从该候选API使用示例集合中选取API使用示例。
进一步的,对候选API使用示例进行聚类的方法为:
31)基于两个候选API使用示例之间的最长公共子串,计算二者间的程序相似度,即
32)基于候选API使用示例之间的程序相似度,对所有候选API使用示例进行聚类。
进一步的,从该候选API使用示例集合中选取API使用示例的方法为:首先根据选取的API方法展示与其相关的候选API使用示例类簇以及这些类簇中所属的API使用示例;然后从展示的API使用示例中选取一API使用示例。
进一步的,测试用例与API方法的所述
进一步的,步骤6)中,对同一测试用例包含的多个测试场景进行切分,其方法为:利用步骤2)得到的结构化信息,解析出与测试用例方法体G中的目标方法调用T相关的变量,并分别向下正序遍历以及向上倒序遍历地查找与这些变量有关的语句;然后将查找到的语句从测试用例方法体G中切片出来,形成测试场景语句序列S,即得到一个切分后的测试场景。
进一步的,步骤2)中,通过解析该测试代码的抽象语法树中每个方法体内部的程序的数据流,得到数据流图;然后从该数据流图中提取结构化信息进行存储。
进一步的,使用抽象语法树解析工具Eclipse JDT ASTParser对软件项目的源代码进行处理,得到其抽象语法树。
一种从单元测试代码中提取API使用示例的工具,其特征在于,包括抽象语法树解析模块、测试目标API定位模块、候选API使用示例抽取模块和API文档补全模块;其中,
所述抽象语法树解析模块,用于对软件项目的源代码进行处理,得到其抽象语法树;然后从该抽象语法树中提取出所有API方法的标识符,并进行索引;以及对软件项目的测试代码进行处理,得到其抽象语法树;然后获取该测试代码的抽象语法树中的结构化信息;
所述测试目标API定位模块,用于对单元测试代码库中的每一测试用例的名称进行切分、词根化并索引;对从源代码的抽象语法树中提取出的所有API方法的名称进行切分、词根化并索引;以及对于任意一测试用例与任意一API方法,计算出二者间的相似度;对于任意一测试用例,将与其相似度最高的API方法判定为该测试用例的测试目标API;
所述候选API使用示例抽取模块,用于根据测试用例的抽象语法树判断该测试用例属于哪一类代码模式;所述代码模式的类别包括:a)仅包含断言语句、b)仅包含一个连续的断言语句序列、c)包含多个独立的测试场景、d)包含多个具有公共语句的测试场景;若一测试用例属于类别a)或类别b),则该测试用例对应一个测试场景;若一测试用例属于类别c)或类别d),则该测试用例包含多个测试场景;然后将得到的各测试场景构建一集合,即候选API使用示例集合;
所述API文档补全模块,用于从该候选API使用示例集合中选取API使用示例并将其添加至相应API方法的文档中。
进一步的,还包括一API使用示例聚类模块,用于对候选API使用示例进行聚类;所述API文档补全模块根据聚类结果从该候选API使用示例集合中选取API使用示例并将其添加至相应API方法的文档中。
本发明的方法包括如下步骤:
1.一种抽象语法树解析模块
该模块用于解析软件项目源代码以及测试代码的抽象语法树,从中抽取出代码中的结构化信息,作为后续处理的基础。步骤如下:
步骤一:使用抽象语法树解析工具Eclipse JDT ASTParser对软件项目的源代码进行处理,得到其抽象语法树。
步骤二:从该抽象语法树中提取出所有API方法的标识符,并进行索引,以便后续的处理能够快速地匹配测试代码中的API方法调用与源代码中相对应的API方法。
步骤三:使用抽象语法树解析工具Eclipse JDT ASTParser对软件项目的测试代码进行处理,得到其抽象语法树。
步骤四:解析该测试代码的抽象语法树中每个方法体内部的程序的数据流,得到数据流图,分析其中的方法调用、变量定义及变量使用,并对这些蕴含了程序语句序列之间的数据依赖关系的结构化信息(方法调用、变量定义及变量使用)进行存储。
2.一种测试目标API定位模块
一个软件项目的测试代码由多个测试用例组成;该模块以单元测试代码库中的每一个测试用例作为输入,基于关键词匹配技术,自动判断一个测试用例是用于测试软件项目API中的哪个方法的。步骤如下:
步骤一:采用驼峰切词法对所有测试用例的名称进行切分、词根化并索引。
步骤二:采用驼峰切词法对从源代码的抽象语法树中提取出的所有API方法的名称进行切分、词根化并索引。
步骤三:对于任意一个测试用例与任意一个API方法,基于他们中的词的匹配程度,计算出二者间的相似度,相似度计算公式为:
步骤四:对于任意一个测试用例,与其相似度最高的API方法被判定为该测试用例的测试目标API。
3.一种候选API使用示例抽取模块
该模块基于一种启发式的程序切片算法,从测试用例中抽取符合预定义的代码模式的API使用示例。步骤如下:
步骤一:对于每一个测试用例,基于抽象语法树解析结果,分析其语句序列,使用代码模式的正则表达式来判断该测试用例属于下列四种代码模式中的哪一类:仅包含断言语句、仅包含一个连续的断言语句序列、包含多个独立的测试场景、包含多个具有公共语句的测试场景。
步骤二:若一个测试用例被划分至前两种类别中,则一个测试用例对应一个测试场景;若一个测试用例被划分至后两种类别中,则基于数据流分析技术,使用一种启发式的程序切片算法从测试用例中将多个测试场景切分开来。这些测试场景的集合即为候选API使用示例集合。本发明所采用的程序切片算法伪代码如下:
输入:测试用例方法体G;该方法体中的目标方法调用T。
输出:测试场景语句序列S.
算法:
该程序切片算法是一个数据流分析算法,对于测试用例方法体G中的目标方法调用T,该算法利用抽象语法树解析模块步骤四中所得到的结构化信息,解析出与T相关的变量,并分别向下正序遍历以及向上倒序遍历地查找与这些变量有关的语句。这些语句被从G中切片出来,形成测试场景语句序列S,即一个切分后的测试场景。
4.一种API使用示例聚类模块
该模块基于程序相似度对候选API使用示例进行聚类,从而有助于在将API使用示例加入API文档之前能够降低信息冗余。步骤如下:
步骤一:基于两个候选API使用示例之间的最长公共子串,计算二者间的程序相似度,相似度计算公式为:
步骤二:基于候选API使用示例之间的程序相似度,以贪心算法的思想对所有API使用示例进行聚类,聚类算法伪代码为:
输入:候选API使用示例集合S。
输出:对S的聚类结果C.
算法:
S’←S;
步骤1:
初始化一个新的类簇c
从S’中随机选取一个候选API使用示例x作为c的聚类种子
步骤2:
for each example s in S’-x
计算(x,s)之间的相似度similarity(x,s)
if similarity(x,s)>threshold
将s加入c
将s移出S’
步骤3:
将c加入C
重复步骤1-3
该聚类算法的基本思想是,每次随机从未被聚类的候选API使用示例集合中选取一个聚类种子,为这个种子构造一个新的类簇,并将与这个种子的相似度较高的未被聚类的候选API使用示例归入这个类簇中。循环直到每个候选API使用示例都有其所属的类簇。
5.一种API文档补全模块
该模块将候选API使用示例的聚类结果进行可视化展示。软件项目的负责人可以选取合适的API使用示例并将其自动添加至相应API方法的文档中。步骤如下:
步骤一:本发明实现了一种Eclipse集成开发环境中的插件,通过该插件,用户可以选取某个API方法以浏览与其相关的候选API使用示例类簇以及这些类簇中所属的API使用示例;
步骤二:用户选取合适的API使用示例,本插件能够自动地将用户选取的API使用示例***至该API方法的文档中。
与现有技术相比,本发明的积极效果为:
本发明选择一种新的API示例来源,即API项目自身的测试代码库。软件测试是软件开发中的一个重要步骤,单元测试是软件测试中针对项目最小粒度的代码模块(比如类、方法)的功能性测试。单元测试代码中蕴含了大量的API使用信息,其中包含了对于API最基本功能的使用和验证,是API使用示例的良好来源。因此,本发明将JUnit测试代码作为挖掘目标,通过对测试代码不同特点的分析和比对,基于并改进已有的从客户端代码库中挖掘API使用示例的方法,并融合将API使用示例***Javadoc的技术,为新发布的开源API提供丰富、有用的API使用示例。
附图说明
图1是从单元测试代码中提取API使用示例的方法示意图;
图2是抽象语法树解析流程图。
具体实施方式
实施例:
本实施例中,用户需要为开源软件项目Apache POI的API文档补充API使用示例。对于具体到各个测试用例的实施方式,本实施例以以下测试用例方法体为例进行说明:
本发明的具体实施方式如下:
首先,以Apache POI项目的源代码与测试代码为输入,解析其抽象语法树,获取代码中的结构化信息。抽象语法树解析流程如附图1所示。抽取的结构化信息包括:
1.源代码中所有方法的标识符,例如keySetByValue。
2.测试代码中的所有测试用例方法体的数据流结构。例如,对于其中一个测试用例testKeySetByValue的方法体,本步骤需要解析其中的语句序列、变量定义、方法调用与变量调用,并对此解析结果进行存储。
在完成了抽象语法树解析步骤之后,对从测试代码中抽取出的每一个测试用例,定位其测试目标API,定位算法如附图2所示。对于测试用例testKeySetByValue,其方法标识符为testKeySetByValue,其中出现的单词与源代码中的方法keySetByValue中的单词具有最高的重合度,因此方法keySetByValue即是测试用例testKeySetByValue的测试目标API。
在完成了抽象语法树解析之后,对于测试代码中的每一个测试用例,从中提取出一个或多个测试场景。步骤如下:
步骤一:分析其语句序列,使用代码模式的正则表达式来判断该测试用例属于下列四种代码模式中的哪一类:仅包含断言语句、仅包含一个连续的断言语句序列、包含多个独立的测试场景、包含多个具有公共语句的测试场景。对于本实施例,由于第13行与第22行的两个断言语句皆对第3行的变量定义有数据依赖,因此该测试用例被划分至第四个类别:包含多个具有公共语句的测试场景。
步骤二:使用程序切片算法,对测试用例进行切片,得到一个或多个测试场景。对于本实施例,得到的一个测试场景的语句序列为第2、3、4、14、15、16、17、18、19、20、21、22行。提取出的每一个测试场景都是一个候选API使用示例。
在完成了测试场景的提取之后,使用候选API使用示例聚类算法对所有提取出的候选API使用示例进行聚类。
在完成了候选API使用示例聚类之后,使用本发明中提供的Eclipse插件,在源代码中选取目标API方法。该插件将基于候选API使用示例的聚类结果,对与该API方法有关的候选API使用示例进行分组展示。用户选取希望添加至API文档的候选使用示例并点击嵌入。
Claims (10)
1.一种从单元测试代码中提取API使用示例的方法,其步骤为:
1)对软件项目的源代码进行处理,得到其抽象语法树;然后从该抽象语法树中提取出所有API方法的标识符,并进行索引;
2)对软件项目的测试代码进行处理,得到其抽象语法树;然后获取该测试代码的抽象语法树中的结构化信息;
3)对单元测试代码库中的每一测试用例的名称进行切分、词根化并索引;对从源代码的抽象语法树中提取出的所有API方法的名称进行切分、词根化并索引;
4)对于任意一测试用例与任意一API方法,计算出二者间的相似度;对于任意一测试用例,将与其相似度最高的API方法判定为该测试用例的测试目标API;
5)根据测试用例的抽象语法树判断该测试用例属于哪一类代码模式;所述代码模式的类别包括:a)仅包含断言语句、b)仅包含一个连续的断言语句序列、c)包含多个独立的测试场景、d)包含多个具有公共语句的测试场景;
6)若一测试用例属于类别a)或类别b),则该测试用例对应一个测试场景;若一测试用例属于类别c)或类别d),则该测试用例包含多个测试场景;
7)将步骤6)中得到的各测试场景构建一集合,即候选API使用示例集合;
8)从该候选API使用示例集合中选取API使用示例并将其添加至相应API方法的文档中。
2.如权利要求1所述的方法,其特征在于,步骤8)中,首先对候选API使用示例进行聚类,然后根据聚类结果从该候选API使用示例集合中选取API使用示例。
3.如权利要求2所述的方法,其特征在于,对候选API使用示例进行聚类的方法为:
31)基于两个候选API使用示例之间的最长公共子串,计算二者间的程序相似度,即
32)基于候选API使用示例之间的程序相似度,对所有候选API使用示例进行聚类。
4.如权利要求2或3所述的方法,其特征在于,从该候选API使用示例集合中选取API使用示例的方法为:首先根据选取的API方法展示与其相关的候选API使用示例类簇以及这些类簇中所属的API使用示例;然后从展示的API使用示例中选取一API使用示例。
5.如权利要求1所述的方法,其特征在于,测试用例与API方法的所述
6.如权利要求1所述的方法,其特征在于,步骤6)中,对同一测试用例包含的多个测试场景进行切分,其方法为:利用步骤2)得到的结构化信息,解析出与测试用例方法体G中的目标方法调用T相关的变量,并分别向下正序遍历以及向上倒序遍历地查找与这些变量有关的语句;然后将查找到的语句从测试用例方法体G中切片出来,形成测试场景语句序列S,即得到一个切分后的测试场景。
7.如权利要求1所述的方法,其特征在于,步骤2)中,通过解析该测试代码的抽象语法树中每个方法体内部的程序的数据流,得到数据流图;然后从该数据流图中提取结构化信息进行存储。
8.如权利要求1所述的方法,其特征在于,使用抽象语法树解析工具Eclipse JDTASTParser对软件项目的源代码进行处理,得到其抽象语法树。
9.一种从单元测试代码中提取API使用示例的工具,其特征在于,包括抽象语法树解析模块、测试目标API定位模块、候选API使用示例抽取模块和API文档补全模块;其中,
所述抽象语法树解析模块,用于对软件项目的源代码进行处理,得到其抽象语法树;然后从该抽象语法树中提取出所有API方法的标识符,并进行索引;以及对软件项目的测试代码进行处理,得到其抽象语法树;然后获取该测试代码的抽象语法树中的结构化信息;
所述测试目标API定位模块,用于对单元测试代码库中的每一测试用例的名称进行切分、词根化并索引;对从源代码的抽象语法树中提取出的所有API方法的名称进行切分、词根化并索引;以及对于任意一测试用例与任意一API方法,计算出二者间的相似度;对于任意一测试用例,将与其相似度最高的API方法判定为该测试用例的测试目标API;
所述候选API使用示例抽取模块,用于根据测试用例的抽象语法树判断该测试用例属于哪一类代码模式;所述代码模式的类别包括:a)仅包含断言语句、b)仅包含一个连续的断言语句序列、c)包含多个独立的测试场景、d)包含多个具有公共语句的测试场景;若一测试用例属于类别a)或类别b),则该测试用例对应一个测试场景;若一测试用例属于类别c)或类别d),则该测试用例包含多个测试场景;然后将得到的各测试场景构建一集合,即候选API使用示例集合;
所述API文档补全模块,用于从该候选API使用示例集合中选取API使用示例并将其添加至相应API方法的文档中。
10.如权利要求9所述的工具,其特征在于,还包括一API使用示例聚类模块,用于对候选API使用示例进行聚类;所述API文档补全模块根据聚类结果从该候选API使用示例集合中选取API使用示例并将其添加至相应API方法的文档中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610935694.7A CN106569947A (zh) | 2016-11-01 | 2016-11-01 | 一种从单元测试代码中提取api使用示例的方法与工具 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610935694.7A CN106569947A (zh) | 2016-11-01 | 2016-11-01 | 一种从单元测试代码中提取api使用示例的方法与工具 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106569947A true CN106569947A (zh) | 2017-04-19 |
Family
ID=58534448
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610935694.7A Pending CN106569947A (zh) | 2016-11-01 | 2016-11-01 | 一种从单元测试代码中提取api使用示例的方法与工具 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106569947A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109491666A (zh) * | 2018-11-15 | 2019-03-19 | 华至云链科技(苏州)有限公司 | 一种基于人工智能的物联网协议自我编程的方法 |
CN110162468A (zh) * | 2019-04-26 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 一种测试方法、装置以及计算机可读存储介质 |
CN110780874A (zh) * | 2019-10-25 | 2020-02-11 | 北京百度网讯科技有限公司 | 用于生成信息的方法和装置 |
CN110825430A (zh) * | 2019-11-08 | 2020-02-21 | 政采云有限公司 | 一种api文档生成方法、装置、设备及存储介质 |
CN111813443A (zh) * | 2020-07-28 | 2020-10-23 | 南京大学 | 一种用JavaFX进行代码样例自动填充的方法和工具 |
CN112131091A (zh) * | 2019-06-24 | 2020-12-25 | 百度在线网络技术(北京)有限公司 | 一种测试方法、装置及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102567016A (zh) * | 2011-12-07 | 2012-07-11 | 北京北大软件工程发展有限公司 | 应用程序编程接口使用示例提取方法及装置 |
US8930916B1 (en) * | 2014-01-31 | 2015-01-06 | Cylance Inc. | Generation of API call graphs from static disassembly |
US9104525B2 (en) * | 2013-01-22 | 2015-08-11 | Microsoft Technology Licensing, Llc | API usage pattern mining |
CN105446741A (zh) * | 2015-12-10 | 2016-03-30 | 北京邮电大学 | 一种基于api比对的移动应用程序辨识方法 |
-
2016
- 2016-11-01 CN CN201610935694.7A patent/CN106569947A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102567016A (zh) * | 2011-12-07 | 2012-07-11 | 北京北大软件工程发展有限公司 | 应用程序编程接口使用示例提取方法及装置 |
US9104525B2 (en) * | 2013-01-22 | 2015-08-11 | Microsoft Technology Licensing, Llc | API usage pattern mining |
US8930916B1 (en) * | 2014-01-31 | 2015-01-06 | Cylance Inc. | Generation of API call graphs from static disassembly |
CN105446741A (zh) * | 2015-12-10 | 2016-03-30 | 北京邮电大学 | 一种基于api比对的移动应用程序辨识方法 |
Non-Patent Citations (2)
Title |
---|
ZIXIAO ZHU等: "《2014 IEEE International Conference on Software Maintenance and Evolution》", 3 October 2014 * |
黄丽韶: ""基于语法结构的源代码搜索的研究"", 《电脑与电信》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109491666A (zh) * | 2018-11-15 | 2019-03-19 | 华至云链科技(苏州)有限公司 | 一种基于人工智能的物联网协议自我编程的方法 |
CN110162468A (zh) * | 2019-04-26 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 一种测试方法、装置以及计算机可读存储介质 |
CN110162468B (zh) * | 2019-04-26 | 2024-07-09 | 腾讯科技(深圳)有限公司 | 一种测试方法、装置以及计算机可读存储介质 |
CN112131091A (zh) * | 2019-06-24 | 2020-12-25 | 百度在线网络技术(北京)有限公司 | 一种测试方法、装置及电子设备 |
CN112131091B (zh) * | 2019-06-24 | 2024-04-16 | 百度在线网络技术(北京)有限公司 | 一种测试方法、装置及电子设备 |
CN110780874A (zh) * | 2019-10-25 | 2020-02-11 | 北京百度网讯科技有限公司 | 用于生成信息的方法和装置 |
CN110825430A (zh) * | 2019-11-08 | 2020-02-21 | 政采云有限公司 | 一种api文档生成方法、装置、设备及存储介质 |
CN111813443A (zh) * | 2020-07-28 | 2020-10-23 | 南京大学 | 一种用JavaFX进行代码样例自动填充的方法和工具 |
CN111813443B (zh) * | 2020-07-28 | 2023-07-18 | 南京大学 | 一种用JavaFX进行代码样例自动填充的方法和工具 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106569947A (zh) | 一种从单元测试代码中提取api使用示例的方法与工具 | |
CN110245496B (zh) | 一种源代码漏洞检测方法及检测器和其训练方法及*** | |
US10810272B2 (en) | Method and apparatus for broadcasting search result based on artificial intelligence | |
CN103678684B (zh) | 一种基于导航信息检索的中文分词方法 | |
CN106649786A (zh) | 基于深度问答的答案检索方法及装置 | |
CN106921891A (zh) | 一种视频特征信息的展示方法和装置 | |
CN106970993B (zh) | 挖掘模型更新方法和装置 | |
CN109492081B (zh) | 文本信息搜索和信息交互方法、装置、设备及存储介质 | |
Rahim et al. | High throughput automated analysis of big flow cytometry data | |
Oramas et al. | ELMD: An automatically generated entity linking gold standard dataset in the music domain | |
CN112102813B (zh) | 基于用户评论中上下文的语音识别测试数据生成方法 | |
CN105550169A (zh) | 一种基于字符长度识别兴趣点名称的方法和装置 | |
CN106796543A (zh) | 源代码分析装置、用于该装置的计算机程序及其记录介质 | |
CN115495755B (zh) | 一种基于CodeBERT和R-GCN的源代码漏洞多分类检测的方法 | |
CN111680506A (zh) | 数据库表的外键映射方法、装置、电子设备和存储介质 | |
CN112231522A (zh) | 一种在线课程知识树的生成关联方法 | |
CN103946840B (zh) | 非监督检测及在文本数据中字簇集的分类 | |
CN107748755A (zh) | 同义词挖掘方法、装置、设备和计算机可读存储介质 | |
CN101520775B (zh) | 一种融入语义信息的中文句法分析与解码方法 | |
CN113761137B (zh) | 一种提取地址信息的方法及装置 | |
CN103034657B (zh) | 文档摘要生成方法和装置 | |
CN116975881A (zh) | 一种基于llvm的漏洞细粒度定位方法 | |
CN105843890B (zh) | 基于知识库面向大数据及普通数据的数据采集方法和*** | |
CN103778210B (zh) | 一种待分析文件的文件具体类型的判断方法及装置 | |
CN110705285A (zh) | 一种政务文本主题词库构建方法、装置、服务器及可读存储介质 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20170419 |