基于概率标记图的API自动推荐算法研究

基本信息
批准号:61602286
项目类别:青年科学基金项目
资助金额:19.00
负责人:吕晨
学科分类:
依托单位:山东师范大学
批准年份:2016
结题年份:2019
起止时间:2017-01-01 - 2019-12-31
项目状态: 已结题
项目参与者:吕蕾,李焱,柏静,李梁,曹梦晓,柳广鹏,徐斌
关键词:
代码补全代码迁移软件复用程序流程生成概率标记图
结项摘要

In large-scale software development, it is possible to improve the efficiency and the quality of software development based on software reuse. API recommendation is a common but complex issue in the research area of software reuse: taking developer’s programming requirement as input and API method as basic component, the objective is aiming at searching for program process code from tons of building components to meet a given requirement. There is, however, still a lack of modeling approach of uncertain API dependencies in API recommendation and the corresponding solutions for program process generation and migration. In this study, we propose probabilistic tagged graph to be the model, generate and migrate program process based on this model: uncertain API dependencies are first modeled as a special graph-structure by using probabilistic tagged graph, and then program process can be generated by a DAG-searching algorithm based on the “reachable probability computing” strategy in conjunction with probability inference technique; Last, we analyze the impact of the changed APIs on probabilistic tagged graph in software evolution and migrate the failure program processes by a DAG-updating algorithm based on “impact-aware” strategy. This study can address the critical issue of correct and complete modeling approach for uncertain API dependencies, which would be helpful to achieving higher precision and wider practicality for program process generation and migration.

软件复用技术可有效提高大型软件系统的开发效率和质量。API自动推荐是软件复用技术中一个常见但复杂的问题,即:以开发人员的编程请求作为输入,软件类库中的API方法作为基本复用组件,搜索并组合生成满足请求的程序流程并在类库版本演化时对其进行迁移。本课题致力于解决API自动推荐中缺乏不确定API依赖关系建模以及相应的程序流程生成和迁移方法的问题,拟提出基于概率标记图的建模方法,以此为数据基础实现程序流程的自动生成和迁移。计算过程如下:首先采用概率标记图描述不确定API依赖关系;然后利用基于“可达概率计算”的DAG搜索算法实现程序流程的自动生成;最后当软件版本演化时,分析动态变化API在概率标记图上的影响范围,基于“影响感知”的DAG更新算法实现失效程序流程的自动迁移。本课题可解决API自动推荐中不确定API依赖关系的正确建模问题,并实现具有更高准确率和更强实用性的程序流程自动生成和迁移方法。

项目摘要

软件复用技术可有效提高大型软件系统的开发效率和编程质量。本课题致力于解决软件复用中缺乏对大规模、多场景下API数据建模以及相应的程序自动生成技术的问题。主要研究成果包括:搜集大量的程序知识资源库并构建大规模API应用数据集。针对数据集中的API应用调用关系进行全面分析,采用标记图模型准确建模程序结构,并基于标记图将API自动推荐问题转化为标记图上的图论新问题:子图搜索问题,提高了API自动推荐的准确率,并为API自动推荐问题提供了新思路和理论模型。同时,将该图论问题拓展到云计算平台下微型应用的调用链组合搜索以及状态监测领域,为全链路应用的监控、迁移以及迁移过程中的自适应协作和最优化保障提供支持并有望显著提升全链路的监控能力,满足应用的运行需求。为解决根据自然语言描述的功能描述自动生成满足需求代码的挑战性问题,深入研究了面向程序结构的标记图嵌入技术,并将其与序列学习模型相结合,以提高自动生成代码的有效性和实用性。程序自动摘要技术有利于提升生成代码的可解释性,通过新型自然语言模板以及程序语句类型的细粒度划分,提出一种多构件的联合框架提升了程序自动摘要文本的简洁性和平滑性。本项目总体旨在解决程序自动生成应用中实际场景下复杂API依赖关系的正确建模和自动生成及状态监控问题,并实现具有更高准确率和更强实用性的程序自动生成方法,有助于进一步提升开发人员在大规模软件系统开发过程中的开发效率和编程质量。

项目成果
{{index+1}}

{{i.achievement_title}}

{{i.achievement_title}}

DOI:{{i.doi}}
发表时间:{{i.publish_year}}

暂无此项成果

数据更新时间:2023-05-31

其他相关文献

1

温和条件下柱前标记-高效液相色谱-质谱法测定枸杞多糖中单糖组成

温和条件下柱前标记-高效液相色谱-质谱法测定枸杞多糖中单糖组成

DOI:10.3724/ SP.J.1123.2019.04013
发表时间:2019
2

基于FTA-BN模型的页岩气井口装置失效概率分析

基于FTA-BN模型的页岩气井口装置失效概率分析

DOI:10.16265/j.cnki.issn1003-3033.2019.04.015
发表时间:2019
3

F_q上一类周期为2p~2的四元广义分圆序列的线性复杂度

F_q上一类周期为2p~2的四元广义分圆序列的线性复杂度

DOI:10.11999/JEIT210095
发表时间:2021
4

基于协同表示的图嵌入鉴别分析在人脸识别中的应用

基于协同表示的图嵌入鉴别分析在人脸识别中的应用

DOI:10.3724/sp.j.1089.2022.19009
发表时间:2022
5

平行图像:图像生成的一个新型理论框架

平行图像:图像生成的一个新型理论框架

DOI:10.16451/j.cnki.issn1003-6059.201707001
发表时间:2017

吕晨的其他基金

批准号:41671124
批准年份:2016
资助金额:60.00
项目类别:面上项目
批准号:61702319
批准年份:2017
资助金额:28.00
项目类别:青年科学基金项目
批准号:41101138
批准年份:2011
资助金额:23.00
项目类别:青年科学基金项目
批准号:81301263
批准年份:2013
资助金额:23.00
项目类别:青年科学基金项目

相似国自然基金

1

第三方API库的分险分析与自动推荐

批准号:61802067
批准年份:2018
负责人:陈碧欢
学科分类:F0203
资助金额:26.00
项目类别:青年科学基金项目
2

基于概率图模型的海量可视媒体协同理解与推荐研究

批准号:61305018
批准年份:2013
负责人:肖宪
学科分类:F0604
资助金额:25.00
项目类别:青年科学基金项目
3

基于概率图模型的数据降维算法研究

批准号:61100158
批准年份:2011
负责人:王秀美
学科分类:F0605
资助金额:22.00
项目类别:青年科学基金项目
4

基于复杂网络的自动推荐系统理论与算法研究

批准号:60875049
批准年份:2008
负责人:曾大军
学科分类:F03
资助金额:27.00
项目类别:面上项目