The invention discloses a method for automatically generating API documents based on constraints, which comprises the following steps: first enter a description of URL; text extraction of classes and functions in the web page; analyzed the extracted sentences; and then use the NLP technology to build a tree structure for each sentence; among the parameters and the structure of the spanning tree identification of a tree structure representation; intermediate representation constraint definition template based on the corresponding constraint; finally automatically traverse the tree structure; the main feature of the invention is to automatically generate the API function through the API document constraints, understanding API function convenient programmers better, and can make up for the lack of existing code analysis tools API function. The code analysis tool can better analyze the source code.
【技术实现步骤摘要】
一种基于API文档的约束自动生成方法
本专利技术设计一种基于API文档的约束自动生成方法。
技术介绍
随着软件行业的快速发展,软件功能越来越强大,代码结构愈加复杂。一些技术人员为了提高软件的开发效率,实现了大量的类库。这些类库封装了的模块化函数,隐藏了特定平台的实现细节,软件开发人员在开发过程中直接使用这些类库,可以省去某些底层细节或功能的现实,提高开发质量和效率。然而这些类库的使用使得软件分析变得更加困难。因为在软件分析过程中,避免不了对这些类库进行分析,但这些类库的源码大部分是无法使用的。类库在实现过程中可能混合许多语言,而且通常进行过高度优化并包含大量的专业化工程技巧,目前的软件分析工具不能对其解析。现今已有许多工作对类库进行分析,但由于类库源码的复杂性,效果并不理想。通过对API(ApplicationProgrammingInterface)调研,发现API文档对函数的功能描述十分完整、简介,通过文档提取API函数性质存在可行性。然而由于需要精确的语言分析方法来分析API文档,这项工作仍然具有挑战性。
技术实现思路
本专利技术的目的,鉴于以上问题,本专利技术旨在提供一种基于API文档的约束自动生成方法,该方法结合NLP技术,构建转换原语,实现API文档到约束的自动生成,从而方便程序员理解API函数,并帮助软件分析工具分析源代码。技术方案:一种基于API文档的约束自动生成方法,包括步骤:步骤1:将API网站中对每个类的描述网页的URL作为输入;步骤2:提取网页中类及其所有成员函数,以及各个成员函数的文档描述信息;步骤3:对提取的文字信息进行预处理,去除 ...
【技术保护点】
一种基于API文档的约束自动生成方法,其特征在于:包括步骤:步骤1:将API网站中对每个类的描述网页的URL作为输入;步骤2:提取网页中类及其所有成员函数,以及各个成员函数的文档描述信息;步骤3:对提取的文字信息进行预处理,去除冗余的句子,并将同义词进行归类;步骤4:使用NLP技术对步骤3处理后的文字信息进行分析,生成对应的树结构;步骤5:识别步骤4得到的树结构中的参数和结构生成树的中间表示形式;步骤6:根据步骤5得到的所有中间表示形式提取树模式,为所有树模式分别定义约束,构建约束模板;步骤7:遍历API函数对应的的中间表示形式,识别其中的树模式,根据步骤6定义的模板,将API函数转换成相应的约束。
【技术特征摘要】
1.一种基于API文档的约束自动生成方法,其特征在于:包括步骤:步骤1:将API网站中对每个类的描述网页的URL作为输入;步骤2:提取网页中类及其所有成员函数,以及各个成员函数的文档描述信息;步骤3:对提取的文字信息进行预处理,去除冗余的句子,并将同义词进行归类;步骤4:使用NLP技术对步骤3处理后的文字信息进行分析,生成对应的树结构;步骤5:识别步骤4得到的树结构中...
【专利技术属性】
技术研发人员:张天,潘敏学,吴少博,姜人和,陈鑫,李宣东,
申请(专利权)人:南京大学,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。