Java API文档缺陷自动检测和修复方法研究
发布时间:2021-07-13 13:00
应用程序编程接口(Application Programming Interface,API)在软件开发中起着非常关键的作用。快速正确地理解API是使用API的前提,而API文档的质量会严重影响开发人员对API的使用。观察发现,API文档中具有缺少参数约束信息描述的缺陷,导致开发人员在使用API时出现问题。因此,研究API文档的缺陷具有现实意义。为了完善API文档,本文提出了基于程序静态分析和自然语言处理的API文档缺陷自动检测和修复方法,该方法能够自动检测和修复API文档缺陷。在缺陷检测中,通过对代码的调用关系分析和抽象语法树分析,获得代码中的参数约束信息,对API文档进行基于启发式规则的自然语言理解,获取文档中关于参数约束信息的描述,并根据代码和文档中的参数约束信息生成一阶逻辑表达式(First Order Logic,FOL),用定理求解器进行约束求解,判断两者是否一致。如果一致,则文档描述正确没有缺陷,如果不一致,则文档有缺陷,需要进行补全。最终生成该API的缺陷报告。对于检测出的文档缺陷,通过模板的方式,利用从代码中提取的参数约束信息的FOL,生成约束信息描述,对文档进行补全...
【文章来源】:南京航空航天大学江苏省 211工程院校
【文章页数】:74 页
【学位级别】:硕士
【部分图文】:
语法子集及其例子通过上述方式,可以很简单的得到一个目标句子的语法树,但是,这种方法存在非常明显的缺点,即一个句子可以得到不同的形式的语法树,如图2.4所示,这两个语法树表示的是一
Java API 文档缺陷自动检测和修复方法研究10图2.4 相同句子的两种语法树由于上述方法对于相同句子可以生成多种语法树,使语法树具有二义性。因此便有了基于该方法的进阶算法:概率分布的上下文无关语法。除了上述的语法规则外,会给生成的每条规则添加一个概率,如图 2.5 所示。对于每颗语法树,将其中所有出现词汇的概率的乘积作为语法树的概率,当获得了多颗语法树时,每颗语法树便拥有了不同的概率,选取其中概率最大的语法树作为最终的语法树结构,从而在一定程度上消除了二义性。图2.5 概率分布的上下文无关语法获得句子的语法树后,便可对句子进行语法分析。常用的句法分析分为两种:短语结构的
法树的概率,当获得了多颗语法树时,每颗语法树便拥有了不同的概率,选取其中概率最大的语法树作为最终的语法树结构,从而在一定程度上消除了二义性。图2.5 概率分布的上下文无关语法获得句子的语法树后,便可对句子进行语法分析。常用的句法分析分为两种:短语结构的
【参考文献】:
期刊论文
[1]API使用的关键问题研究[J]. 李正,吴敬征,李明树. 软件学报. 2018(06)
本文编号:3282111
【文章来源】:南京航空航天大学江苏省 211工程院校
【文章页数】:74 页
【学位级别】:硕士
【部分图文】:
语法子集及其例子通过上述方式,可以很简单的得到一个目标句子的语法树,但是,这种方法存在非常明显的缺点,即一个句子可以得到不同的形式的语法树,如图2.4所示,这两个语法树表示的是一
Java API 文档缺陷自动检测和修复方法研究10图2.4 相同句子的两种语法树由于上述方法对于相同句子可以生成多种语法树,使语法树具有二义性。因此便有了基于该方法的进阶算法:概率分布的上下文无关语法。除了上述的语法规则外,会给生成的每条规则添加一个概率,如图 2.5 所示。对于每颗语法树,将其中所有出现词汇的概率的乘积作为语法树的概率,当获得了多颗语法树时,每颗语法树便拥有了不同的概率,选取其中概率最大的语法树作为最终的语法树结构,从而在一定程度上消除了二义性。图2.5 概率分布的上下文无关语法获得句子的语法树后,便可对句子进行语法分析。常用的句法分析分为两种:短语结构的
法树的概率,当获得了多颗语法树时,每颗语法树便拥有了不同的概率,选取其中概率最大的语法树作为最终的语法树结构,从而在一定程度上消除了二义性。图2.5 概率分布的上下文无关语法获得句子的语法树后,便可对句子进行语法分析。常用的句法分析分为两种:短语结构的
【参考文献】:
期刊论文
[1]API使用的关键问题研究[J]. 李正,吴敬征,李明树. 软件学报. 2018(06)
本文编号:3282111
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/3282111.html