基于机器学习的软件调试技术研究

基本信息
批准号:61272102
项目类别:面上项目
资助金额:83.00
负责人:赵建军
学科分类:
依托单位:上海交通大学
批准年份:2012
结题年份:2016
起止时间:2013-01-01 - 2016-12-31
项目状态: 已结题
项目参与者:陈雨亭,章程,常曦,孙强,程啸,谢峰,阿尼尔,王琦,胡翔
关键词:
程序调试程序分析软件错误检测机器学习
结项摘要

Software debugging remains to be an important technique to improve the correctness of programs. As debugging is generally tedious and time-consuming, better automation of debugging is desirable. Existing automatic debugging techniques, which are mainly based on program analyses, have alleviated this problem to some extent. However, there exist some intrinsic limitations of this kind of techniques. Meanwhile, machine learning-based techniques have been used extensively in software engineering and showed promising results of their applications to fine-grained activities, such as software debugging. By applying machine learning and statistical analysis techniques to software debugging, our research proposes a suite of novel automatic debugging techniques to support the whole process of debugging. Specifically, our research builds corresponding models by applying techniques, including artificial neural network, association rule mining, nearest neighbor query, etc., to the data collected through static analyses, runtime dynamic monitoring, and programmers' behavior recording. Then the models are used to support software debugging in five aspects: static warning prioritization, fault localization of large-scale systems, concurrency bug reproduction, automatic breakpoint recommendation, and automatic program repair. Our research can significantly enhance the automation of software debugging, improve the efficiency of the debugging process and thus reduce the cost of software maintenance.

软件调试是提高程序正确性的重要手段,但其自动化程度仍有待提高。已有的基于程序分析的自动调试方法虽然取得了一定的成果,但存在其固有的局限性。同时,机器学习方法已广泛应用于软件工程领域,并在软件调试等细粒度的工程活动中展现出良好的应用前景。本课题通过将机器学习及统计分析的方法应用到软件调试过程中,提出一套新的自动化调试技术,用于支持整个软件系统的调试过程。该技术采用人工神经网络、关联规则学习、最近邻搜索等机器学习方法,基于程序代码的静态数据、程序运行时的动态数据以及程序员在调试过程中所使用的信息构建相应的模型,提供五个方面的自动化以及半自动化的调试功能:静态警告排序、大规模程序的缺陷定位、并发程序的错误重现、自动推荐断点和程序自动修复。该技术能大大提高软件调试的自动化程度,提高调试过程的效率,降低软件维护的成本。

项目摘要

软件调试是提高程序正确性的重要手段,但其自动化程度仍有待提高。已有的基于程序分析的自动调试方法虽然取得了一定的成果,但存在其固有的局限性。同时,机器学习方法已广泛应用于软件工程领域,并在软件调试等细粒度的工程活动中展现出良好的应用前景。本课题通过将机器学习及统计分析的方法应用到软件调试过程中,提出一套新的自动化调试技术,用于支持整个软件系统的调试过程。该技术采用人工神经网络、关联规则学习、最近邻搜索等机器学习方法,基于程序代码的静态数据、程序运行时的动态数据以及程序员在调试过程中所使用的信息构建相应的模型,提供五个方面的自动化以及半自动化的调试功能:静态警告排序、大规模程序的缺陷定位、并发程序的错误重现、自动推荐断点和程序自动修复。该技术能大大提高软件调试的自动化程度,提高调试过程的效率,降低软件维护的成本。本课题共发表国际杂志论文5篇(包含2篇尚未正式出版的被接收论文,其中SCI索引5篇)、国际会议论文10篇(其中包括CCF A 类会议:PLDI 一篇、ASE 三篇和CCF B类会议:SONAR 两篇、ICPC 一篇),以及国内核心期刊论文1篇(计算机学报)。在 CCF B类会议23rd IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER 2016) 上发表的论文 “Efficient and Precise Dynamic Slicing for Client-Side JavaScript Programs” 获得大会的最佳论文提名奖(Best Paper Candidate Award)。

项目成果
{{index+1}}

{{i.achievement_title}}

{{i.achievement_title}}

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

暂无此项成果

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

其他相关文献

1

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

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

DOI:
发表时间:
2

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

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

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

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

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

DOI:
发表时间:2018
4

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

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

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

小跨高比钢板- 混凝土组合连梁抗剪承载力计算方法研究

小跨高比钢板- 混凝土组合连梁抗剪承载力计算方法研究

DOI:10.19701/j.jzjg.2015.15.012
发表时间:2015

赵建军的其他基金

批准号:41501449
批准年份:2015
资助金额:24.00
项目类别:青年科学基金项目
批准号:60673120
批准年份:2006
资助金额:26.00
项目类别:面上项目
批准号:31672151
批准年份:2016
资助金额:60.00
项目类别:面上项目
批准号:41771450
批准年份:2017
资助金额:63.00
项目类别:面上项目
批准号:31171976
批准年份:2011
资助金额:60.00
项目类别:面上项目
批准号:11164019
批准年份:2011
资助金额:52.00
项目类别:地区科学基金项目
批准号:61672247
批准年份:2016
资助金额:62.00
项目类别:面上项目
批准号:61370182
批准年份:2013
资助金额:77.00
项目类别:面上项目
批准号:60970009
批准年份:2009
资助金额:31.00
项目类别:面上项目
批准号:41102190
批准年份:2011
资助金额:25.00
项目类别:青年科学基金项目
批准号:41877273
批准年份:2018
资助金额:62.00
项目类别:面上项目
批准号:31502102
批准年份:2015
资助金额:20.00
项目类别:青年科学基金项目

相似国自然基金

1

基于机器学习的软件度量分析

批准号:60903103
批准年份:2009
负责人:黎铭
学科分类:F0607
资助金额:19.00
项目类别:青年科学基金项目
2

软件崩溃的分析,聚类和调试技术研究

批准号:61272089
批准年份:2012
负责人:张洪宇
学科分类:F0203
资助金额:81.00
项目类别:面上项目
3

面向运行环境依赖缺陷的软件自动化调试技术研究

批准号:61772055
批准年份:2017
负责人:郑征
学科分类:F0203
资助金额:60.00
项目类别:面上项目
4

基于机器学习的控制型软件安全性度量方法

批准号:61373046
批准年份:2013
负责人:刘国荣
学科分类:F0203
资助金额:77.00
项目类别:面上项目