项目名称: 基于机器学习的软件调试技术研究

项目编号: No.61272102

项目类型: 面上项目

立项/批准年度: 2013

项目学科: 自动化技术、计算机技术

项目作者: 赵建军

作者单位: 上海交通大学

项目金额: 83万元

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

中文关键词: 程序调试;软件维护;程序分析;软件测试;缺陷定位

英文摘要: 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. Ou

英文关键词: Program Debugging;Software Maintenance;Program Analysis;Software Testing;Bug Localization

成为VIP会员查看完整内容
0

相关内容

【经典书】机器学习统计学,476页pdf
专知会员服务
120+阅读 · 2021年7月19日
专知会员服务
53+阅读 · 2021年4月3日
【干货书】Python机器学习,361页pdf
专知会员服务
264+阅读 · 2021年2月25日
专知会员服务
60+阅读 · 2021年2月22日
Python机器学习经典实例,366页pdf
专知会员服务
104+阅读 · 2021年1月2日
基于机器学习的数据库技术综述
专知会员服务
53+阅读 · 2021年1月2日
专知会员服务
30+阅读 · 2020年12月21日
专知会员服务
44+阅读 · 2020年8月20日
基于机器学习的自动化网络流量分析
CCF计算机安全专委会
4+阅读 · 2022年4月8日
2021 年 Python 的好与坏
InfoQ
2+阅读 · 2021年11月16日
机器学习中的数据级联
TensorFlow
0+阅读 · 2021年7月15日
【机器学习】深入剖析机器学习中的统计思想
产业智能官
14+阅读 · 2019年1月24日
贝叶斯机器学习前沿进展
机器学习研究会
21+阅读 · 2018年1月21日
各厂推荐算法!
程序猿
17+阅读 · 2018年1月13日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
2+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
1+阅读 · 2009年12月31日
Arxiv
0+阅读 · 2022年4月20日
Arxiv
1+阅读 · 2022年4月20日
Arxiv
0+阅读 · 2022年4月16日
Arxiv
46+阅读 · 2021年10月4日
Arxiv
110+阅读 · 2020年2月5日
Meta-Learning to Cluster
Arxiv
17+阅读 · 2019年10月30日
小贴士
相关VIP内容
【经典书】机器学习统计学,476页pdf
专知会员服务
120+阅读 · 2021年7月19日
专知会员服务
53+阅读 · 2021年4月3日
【干货书】Python机器学习,361页pdf
专知会员服务
264+阅读 · 2021年2月25日
专知会员服务
60+阅读 · 2021年2月22日
Python机器学习经典实例,366页pdf
专知会员服务
104+阅读 · 2021年1月2日
基于机器学习的数据库技术综述
专知会员服务
53+阅读 · 2021年1月2日
专知会员服务
30+阅读 · 2020年12月21日
专知会员服务
44+阅读 · 2020年8月20日
相关资讯
基于机器学习的自动化网络流量分析
CCF计算机安全专委会
4+阅读 · 2022年4月8日
2021 年 Python 的好与坏
InfoQ
2+阅读 · 2021年11月16日
机器学习中的数据级联
TensorFlow
0+阅读 · 2021年7月15日
【机器学习】深入剖析机器学习中的统计思想
产业智能官
14+阅读 · 2019年1月24日
贝叶斯机器学习前沿进展
机器学习研究会
21+阅读 · 2018年1月21日
各厂推荐算法!
程序猿
17+阅读 · 2018年1月13日
相关基金
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
2+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
1+阅读 · 2009年12月31日
相关论文
Arxiv
0+阅读 · 2022年4月20日
Arxiv
1+阅读 · 2022年4月20日
Arxiv
0+阅读 · 2022年4月16日
Arxiv
46+阅读 · 2021年10月4日
Arxiv
110+阅读 · 2020年2月5日
Meta-Learning to Cluster
Arxiv
17+阅读 · 2019年10月30日
微信扫码咨询专知VIP会员