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依赖关系的正确建模和自动生成及状态监控问题,并实现具有更高准确率和更强实用性的程序自动生成方法,有助于进一步提升开发人员在大规模软件系统开发过程中的开发效率和编程质量。
{{i.achievement_title}}
数据更新时间:2023-05-31
温和条件下柱前标记-高效液相色谱-质谱法测定枸杞多糖中单糖组成
基于FTA-BN模型的页岩气井口装置失效概率分析
F_q上一类周期为2p~2的四元广义分圆序列的线性复杂度
基于协同表示的图嵌入鉴别分析在人脸识别中的应用
平行图像:图像生成的一个新型理论框架
第三方API库的分险分析与自动推荐
基于概率图模型的海量可视媒体协同理解与推荐研究
基于概率图模型的数据降维算法研究
基于复杂网络的自动推荐系统理论与算法研究