项目名称: 对象模型上交互式修复生成技术研究
项目编号: No.61202071
项目类型: 青年科学基金项目
立项/批准年度: 2013
项目学科: 计算机科学学科
项目作者: 熊英飞
作者单位: 北京大学
项目金额: 23万元
中文摘要: 修复软件制品中的不一致(也称错误)是软件开发中的一项基本活动。为了帮助用户修复不一致,部分软件系统提供交互式修复,比如Eclipse对Java编译错误提供Quick Fix,嵌入式操作系统eCos为配置错误提供修复建议等等。交互式修复显著减轻了修复不一致的工作量,但由于开发修复生成模块成本较高,目前只在少数系统中有应用。 本项目的目标是,给定用对象模型表示的软件制品,通过分析软件制品上的约束和用户的修改历史,自动的生成高质量的交互式修复列表。同现有工作相比,本项目包含如下三点创新:一、引入约束求解程序,利用其强大的分析能力更高效地生成修复;二、合并同类别的修复,增强修复列表的可读性;三、通过挖掘用户的编辑历史,过滤掉不常用修复,提高修复列表的质量。通过本项目的执行,在理论上我们期望建立起交互式修复的理论模型,在实践上我们期望大大降低修复生成程序的开发成本,拓宽交互式修复的应用范围。
中文关键词: 软件缺陷;自动修复;;;
英文摘要: Fixing inconsistencies (also known as errors) is a basic task in software development. To assist users in fixing inconsistencies, some software systems provide interactive fixes. For example, Eclipse provides quick fixes for compilation errors in Java programs, and eCos, an embedded operating system, provides fix recommendation for configuration errors. Interative fixes noticeably reduce the workload of fixing inconsistencies. However, developing the fix generation module requires a lot of work, and thus interative fixes are only available in a few systems. The goal of this project is to automatically generate high-quality fixes for software artifacts defined in object model. Compared with existing work, this project will include the following three innovations: 1) introduce constraint solvers into fix generation, generating fixes more efficiently with their powerful analytical capability; 2) merge the fixes of the same type, producing more readable fix lists; 3) filter out the infrequent fixes by mining the edit history of users, improving the quality of fix lists. With this project, we expect to 1) in theory, build the theorical model of interactive fixes; 2) in practice, greatly reduce the cost of developing fix generation program, making interactive fixes applicable to more systems.
英文关键词: Software Defects;Automatic Repair;;;