面向动态语言程序的缺陷理解研究

基本信息
批准号:61472178
项目类别:面上项目
资助金额:80.00
负责人:徐宝文
学科分类:
依托单位:南京大学
批准年份:2014
结题年份:2018
起止时间:2015-01-01 - 2018-12-31
项目状态: 已结题
项目参与者:张立强,丁晖,涂径玄,徐兆桂,陈芝菲,董天聪,刘昌松,唐亚明,李清言
关键词:
缺陷理解程序分析动态语言
结项摘要

Dynamic programming languages are simple and flexible, which make them widely used, especially in network software. However, the features also make the debugging of the programs more difficult than the programs written in static programming languages. As an important part of debugging, fault understanding should be comprehensive and accurate. This project focuses on fault understanding for dynamic programs, combining historical and present information to assist fault understanding. The research contents of this project are list as follows: (1) program analysis for dynamic programs, constructing an infrastructure to collect more comprehensive and accurate information of program context; (2) mining fault templates and fix templates from software repository; (3) fault understanding directed by program analysis and template, using historical and present information to improve the accuracy of fault understanding; (4) tools/prototype platform development,and real-world case studies. The outputs of this project can provide strong support for dynamic program debugging.

动态语言以其简单、灵活的特性得到了广泛应用,尤其是在网络化软件中。然而,其特性也给程序的调试带来了很大的困难。作为调试中的重要组成部分,全面、准确的缺陷理解至关重要。本项目拟以软件的当前版本和其演化历史包含的信息为基础,以减少程序的调试工作量为目标,研究面向动态语言程序的缺陷理解方法。具体研究内容包括:(1)研究面向动态语言的程序分析方法,以获取更全面、精确的程序上下文信息;(2)研究基于大规模软件数据仓库挖掘的缺陷模式与修复模式挖掘方法,以获取历史信息,指导缺陷理解;(3)研究面向动态语言程序的基于程序分析与模式导向的缺陷理解方法,综合历史信息与当前信息,以提高缺陷理解的准确度;(4)研制支撑平台并结合实际软件进行实验验证。本项目的研究可以为动态语言程序的调试提供有力支持,具有重要的理论与应用价值。

项目摘要

动态语言以其简单、灵活的特性得到了广泛应用。然而,这些动态特性也给程序的调试带来了很大的困难。全面、准确地理解缺陷对于调试非常重要。本项目以软件的当前版本和其演化历史包含的信息为基础,以减少程序的调试工作量为目标,研究面向动态语言程序的缺陷理解方法。具体研究内容包括:(1)研究面向动态语言的程序分析方法,以获取更全面、精确的程序上下文信息;(2)研究基于大规模软件数据仓库挖掘的缺陷模式与修复模式挖掘方法,以获取历史信息,指导缺陷理解;(3)研究面向动态语言程序的基于程序分析与模式导向的缺陷理解方法,综合历史信息与当前信息,以提高缺陷理解的准确度;(4)研制支撑平台并结合实际软件进行实验验证。本项目对动态语言程序的程序分析技术,以及基于程序分析和缺陷模式挖掘导向的缺陷理解进行了深入研究。取得了如下重要结果:1)提出了一种基于概率的类型推导方法可以将类型信息的依据其可信性概率进行传播;2)提出了一种Python程序的预测性分析方法,即将程序轨迹编码为符号约束,通过约束求解来识别触发缺陷的输入,从而检测缺陷。3)对跨项目缺陷的代码模式和修复进行了实证分析,发现了一些影响跨项目缺陷定位的重要影响因素和缺陷修复行为模式,为软件生态系统中缺陷分析与追踪提供了帮助。4)对比了简单无监督模型与有监督模型的工作量感知缺陷预测能力,发现简单无监督模型往往比有监督模型更有效,从而后续研究应予以重视和关注。5)提出了一种智能化基于概率推导的调试方法,该方法能够充分利用开发者知识进行调试,从而比现有方法更高效。本项目的研究可以为动态语言程序的调试提供有力支持,具有重要的理论与应用价值。

项目成果
{{index+1}}

{{i.achievement_title}}

{{i.achievement_title}}

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

暂无此项成果

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

其他相关文献

1

玉米叶向值的全基因组关联分析

玉米叶向值的全基因组关联分析

DOI:
发表时间:
2

涡度相关技术及其在陆地生态系统通量研究中的应用

涡度相关技术及其在陆地生态系统通量研究中的应用

DOI:10.17521/cjpe.2019.0351
发表时间:2020
3

正交异性钢桥面板纵肋-面板疲劳开裂的CFRP加固研究

正交异性钢桥面板纵肋-面板疲劳开裂的CFRP加固研究

DOI:10.19713/j.cnki.43-1423/u.t20201185
发表时间:2021
4

硬件木马:关键问题研究进展及新动向

硬件木马:关键问题研究进展及新动向

DOI:
发表时间:2018
5

基于SSVEP 直接脑控机器人方向和速度研究

基于SSVEP 直接脑控机器人方向和速度研究

DOI:10.16383/j.aas.2016.c150880
发表时间:2016

徐宝文的其他基金

批准号:60373066
批准年份:2003
资助金额:24.00
项目类别:面上项目
批准号:91018005
批准年份:2010
资助金额:50.00
项目类别:重大研究计划
批准号:90412003
批准年份:2004
资助金额:30.00
项目类别:重大研究计划
批准号:60073012
批准年份:2000
资助金额:15.00
项目类别:面上项目
批准号:90818027
批准年份:2008
资助金额:260.00
项目类别:重大研究计划
批准号:91418202
批准年份:2014
资助金额:170.00
项目类别:重大研究计划
批准号:61772263
批准年份:2017
资助金额:65.00
项目类别:面上项目
批准号:68873032
批准年份:1988
资助金额:2.71
项目类别:面上项目
批准号:61170071
批准年份:2011
资助金额:58.00
项目类别:面上项目

相似国自然基金

1

面向Agent程序设计语言的语用性质研究

批准号:69503002
批准年份:1995
负责人:王怀民
学科分类:F0203
资助金额:7.00
项目类别:青年科学基金项目
2

中文语言文本理解

批准号:68675003
批准年份:1986
负责人:姚天顺
学科分类:F0304
资助金额:3.00
项目类别:面上项目
3

语言理解的智能机理的研究

批准号:68875008
批准年份:1988
负责人:苏运霖
学科分类:F0307
资助金额:2.50
项目类别:面上项目
4

自然语言(汉语)理解系统

批准号:68673020
批准年份:1986
负责人:陈有祺
学科分类:F02
资助金额:1.50
项目类别:面上项目