【技术实现步骤摘要】
一种Java应用编程接口的文档缺陷自动修复方法
本专利技术属于软件工程
,尤其涉及一种Java应用编程接口(API)的注释文档对于执行代码中参数的实际约束条件描述错误或没有描述,即注释文档有缺陷时,对文档进行自动修复的方法。
技术介绍
随着软件项目规模的不断增大,高效复用代码成为业界的追求目标,而使用应用编程接口(ApplicationProgrammingInterface,即API)是其中一项重要的技术手段。API一般是一些开放的函数接口,其代码底层实现对开发人员透明,从而将精力集中于业务逻辑,提高开发效率。开发者通过API文档了解接口的约束条件,以达到正确使用API的目的。在本专利技术中,我们主要针对的JavaAPI文档是指每一个开放的方法中,由人工编写、具有一定组织结构、以代码注释形式存在于源代码中的Javadoc文档。这样的文档更注重细节定义,如参数取值范围、参数类型限制以及该方法的返回值值域、类型等。高质量的API文档,应该清楚地描述出调用该接口时需要满足的相关约束条件。模糊甚至错误的API文档,会造成软件开发人员理解困难甚至是理解错误。在实际情 ...
【技术保护点】
一种Java应用编程接口的文档缺陷自动修复方法,其特征在于,包括步骤如下:1)提取源代码中每个方法的执行代码部分以及注释文档部分,分别进行分析;2)遍历当前分析目标的所有方法,提取每个方法的抛出异常类型及其触发条件,并建立目标工程源代码中各方法之间的调用关系库;3)对Java API的执行代码部分进行分析,对于每一个方法,首先分析当前方法的异常触发的约束条件,然后根据上述调用关系库,递归分析调用方法中异常触发的约束条件,将当前方法和调用方法中异常触发的约束条件进行合并,即当前方法异常触发的约束条件集合;4)对于目标工程中的每个方法,利用启发式方法分析其注释文档,得到文档中关 ...
【技术特征摘要】
1.一种Java应用编程接口的文档缺陷自动修复方法,其特征在于,包括步骤如下:1)提取源代码中每个方法的执行代码部分以及注释文档部分,分别进行分析;2)遍历当前分析目标的所有方法,提取每个方法的抛出异常类型及其触发条件,并建立目标工程源代码中各方法之间的调用关系库;3)对JavaAPI的执行代码部分进行分析,对于每一个方法,首先分析当前方法的异常触发的约束条件,然后根据上述调用关系库,递归分析调用方法中异常触发的约束条件,将当前方法和调用方法中异常触发的约束条件进行合并,即当前方法异常触发的约束条件集合;4)对于目标工程中的每个方法,利用启发式方法分析其注释文档,得到文档中关于异常触发的约束条件;5)对于目标工程中的每个方法,将步骤3)和4)中的约束条件进行对比,找到文档缺陷;6)将步骤3)中的约束条件根据预定义模板生成相应的自然语言,即给出的修复建议,将修复建议定位到对应的方法位置,推荐给用户,以便对文档进行修改,从而完成了对API文档缺陷的自动修复。2.根据权利要求1所述的Java应用编程接口的文档缺陷自动修复方法,其特征在于,所述步骤2)中抛出异常类型指在throw语句中被抛出的异常对象所属类型,句式为:thrownewException(Description)其中,Exception指所有抛出异常的类型,Description指代码中抛出异常时的提示信息。3.根据权利要求2所述的Java应用编程接口的文档缺陷自动修复方法,其特征在于,所述步骤3)中异常触发的约束条件指代码执行到抛出异常的throw语句时参数的设置条件,该条件中必须有至少一个当前方法的参数参与。4.根据权利要求1所述的Java应用编程接口...
【专利技术属性】
技术研发人员:周宇,王长志,闫鑫,
申请(专利权)人:南京航空航天大学,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。