基于统计的类型推理方法研究
项目介绍
AI项目解读
基本信息
- 批准号:61872272
- 项目类别:面上项目
- 资助金额:63.0万
- 负责人:
- 依托单位:
- 学科分类:F0201.计算机科学的基础理论
- 结题年份:2022
- 批准年份:2018
- 项目状态:已结题
- 起止时间:2019-01-01 至2022-12-31
- 项目参与者:毋国庆; 李清安; 万红艳; 黄箐; 程跃华; Xue Zhan; 胡刚; 陈典; 王成科;
- 关键词:
项目摘要
Type systems are lightweight formalisms which play an important role in programming languages. In the new scenarios of code search, code completion, code summarization, etc., the code snippets may be not well formed or lack proper context. Traditional rule-based type systems are not capable of inferring types for such code snippets, as they rely on language syntax and type inference rules. In this project, we propose a novel type inference approach, which learns statistical type models from open source programs and inference types for terms in code snippets, without the support of any explicit syntax or inference rules. In order to infer complex types, we propose the type prediction approach, which is based on BLSTM-CRF, to predict initial type labels for terms, according to a global probabilistic model. We design the type refinement algorithm, which is based on the sequence-to-sequence model, to generate final types by refining the initial type labels. By accomplishing the research tasks of this project, we will tackle several scientific problems like structural learning for programs, structural learning for types, etc. Our work will provide great benefits to many software tasks, including bug localization, defect prediction, etc.
类型系统作为轻量级的形式化方法,是程序设计语言的重要组成部分。在代码搜索、代码补全、程序摘要等新的软件应用场景中,需要在上下文不完整甚至语法不正确的情况下对程序片段进行类型分析与推理,而传统基于规则的类型系统依赖于语法规则与以及类型推演规则,无法胜任这样的任务。本课题针对软件应用的新需求,提出基于统计的类型推理方法,在不需要显式的语法和类型推演规则的前提下,利用统计模型与机器学习算法,对程序片段中的短语或单词的类型进行推理。为了能够推理复杂的类型,我们首先提出了基于BLSTM-CRF的类型预测方法,利用全局的概率模型,为单词预测初始的类型标签。我们设计了基于sequence-to-sequence的类型求算法,利用局部的上下文模型,对初始的类型进行精化得到最终的类型。通过本课题的研究,拟解决程序结构学习、类型结构学习等关键科学问题,并为相关研究提供基于统计的类型推理的理论基础与应用支持。
结项摘要
类型推理作为轻量级的形式化方法,是程序语言的重要组成部分。在代码搜索、代码补全、程序摘要等新的应用场景中,需要在上下文不完整甚至语法不正确的情况下对程序片段进行类型分析与推理,而传统基于规则的类型系统依赖于语法规则以及类型推演规则,无法胜任这样的任务。本课题针对软件应用的新需求,提出基于统计的类型推理方法,在不需要显式的语法和类型推演规则的前提下,利用统计模型与机器学习算法,对程序片段中的短语或单词的类型进行推理。为了能够推理复杂的类型,我们将整个系统分为了两个阶段。在预测阶段,我们利用全局的概率模型,为每个单词预测初始的类型标签,得到程序中的所有简单类型;在求精阶段,我们采用了三种不同的类型生成模型,对初始的类型进行细化,得到最终的复杂类型。与现有的基于机器学习的方法不同,我们将类型推理看作从序列到图的解析问题,而不是分类问题。根据我们的实验结果,预测阶段的预测准确率达到了了96.40%,对简单类型和复杂类型的预测准确率分别为 97.37%和92.29%。求精阶段三个模型中表现最好的是类型表达式生成模型,通过将复杂类型表示为有向图(类型图),类型表达式生成模型对复杂类型的类型相似度为 77.36%,对零样本复杂类型而言,类型相似度为59.61%。同时,整个系统具备十分良好的实时性,可以用在包括代码搜索、代码推荐、代码补全、程序总结、缺陷预测和故障定位等需要对任意代码片段进行类型推理的软件工程任务中。
项目成果
期刊论文数量(9)
专著数量(0)
科研奖励数量(0)
会议论文数量(1)
专利数量(1)
Transformer‐based code search for software Q&A sites
基于 Transformer™ 的软件 Q 代码搜索
- DOI:10.1111/tbed.13050
- 发表时间:2022
- 期刊:Journal of Software: Evolution and Process
- 影响因子:--
- 作者:Yaohui Peng;Jing Xie;Gang Hu;Mengting Yuan
- 通讯作者:Mengting Yuan
基于机器学习的类型推理方法综述
- DOI:--
- 发表时间:2019
- 期刊:广州大学学报(自然科学版)
- 影响因子:--
- 作者:袁梦霆;谢婧
- 通讯作者:谢婧
Unsupervised software repositories mining and its application to code search
无监督软件存储库挖掘及其在代码搜索中的应用
- DOI:10.1002/spe.2760
- 发表时间:2019
- 期刊:Software: Practice and Experience
- 影响因子:--
- 作者:Hu Gang;Peng Min;Zhang Yihan;Xie Qianqian;Gao Wang;Yuan Mengting
- 通讯作者:Yuan Mengting
A novel webpage layout aesthetic evaluation model for quantifying webpage layout design
一种量化网页布局设计的新型网页布局美学评价模型
- DOI:10.1016/j.ins.2021.06.071
- 发表时间:2021
- 期刊:Information Sciences
- 影响因子:8.1
- 作者:Wan Hongyan;Ji Wanting;Wu Guoqing;Jia Xiaoyun;Zhan Xue;Yuan Mengting;Wang Ruili
- 通讯作者:Wang Ruili
Neural joint attention code search over structure embeddings for software Q&A sites
软件 Q 结构嵌入的神经联合注意代码搜索
- DOI:10.1016/j.jss.2020.110773
- 发表时间:2020
- 期刊:Journal of Systems and Software
- 影响因子:3.5
- 作者:Gang Hu;Min Peng;Yihan Zhang;Qianqian Xie;Mengting Yuan
- 通讯作者:Mengting Yuan
数据更新时间:{{ journalArticles.updateTime }}
{{
item.title }}
{{ item.translation_title }}
- DOI:{{ item.doi || "--"}}
- 发表时间:{{ item.publish_year || "--" }}
- 期刊:{{ item.journal_name }}
- 影响因子:{{ item.factor || "--"}}
- 作者:{{ item.authors }}
- 通讯作者:{{ item.author }}
数据更新时间:{{ journalArticles.updateTime }}
{{ item.title }}
- 作者:{{ item.authors }}
数据更新时间:{{ monograph.updateTime }}
{{ item.title }}
- 作者:{{ item.authors }}
数据更新时间:{{ sciAawards.updateTime }}
{{ item.title }}
- 作者:{{ item.authors }}
数据更新时间:{{ conferencePapers.updateTime }}
{{ item.title }}
- 作者:{{ item.authors }}
数据更新时间:{{ patent.updateTime }}
其他文献
基于LLVM的编译实验课程设计
- DOI:10.1016/b978-0-08-101036-5.00005-7
- 发表时间:2019
- 期刊:计算机教育
- 影响因子:--
- 作者:李清安;袁梦霆;王汉飞;吴黎兵;何炎祥
- 通讯作者:何炎祥
其他文献
{{
item.title }}
{{ item.translation_title }}
- DOI:{{ item.doi || "--" }}
- 发表时间:{{ item.publish_year || "--"}}
- 期刊:{{ item.journal_name }}
- 影响因子:{{ item.factor || "--" }}
- 作者:{{ item.authors }}
- 通讯作者:{{ item.author }}
内容获取失败,请点击重试
查看分析示例
此项目为已结题,我已根据课题信息分析并撰写以下内容,帮您拓宽课题思路:
AI项目摘要
AI项目思路
AI技术路线图
请为本次AI项目解读的内容对您的实用性打分
非常不实用
非常实用
1
2
3
4
5
6
7
8
9
10
您认为此功能如何分析更能满足您的需求,请填写您的反馈:
袁梦霆的其他基金
基于计算博弈论的空间优化研究
- 批准号:61003071
- 批准年份:2010
- 资助金额:19.0 万元
- 项目类别:青年科学基金项目
相似国自然基金
{{ item.name }}
- 批准号:{{ item.ratify_no }}
- 批准年份:{{ item.approval_year }}
- 资助金额:{{ item.support_num }}
- 项目类别:{{ item.project_type }}
相似海外基金
{{
item.name }}
{{ item.translate_name }}
- 批准号:{{ item.ratify_no }}
- 财政年份:{{ item.approval_year }}
- 资助金额:{{ item.support_num }}
- 项目类别:{{ item.project_type }}