项目名称: 数据挖掘和静态分析相结合的重复代码缺陷检测及重构方法
项目编号: No.61073052
项目类型: 面上项目
立项/批准年度: 2011
项目学科: 金属学与金属工艺
项目作者: 苏小红
作者单位: 哈尔滨工业大学
项目金额: 11万元
中文摘要: 开发人员常采用拷贝-粘贴的方法实现软件复用,使得大型软件系统随着功能的不断添加,重复代码越来越多,结构越来越复杂,系统越来越难于理解和维护。针对软件复用时常引入重复代码相关的软件缺陷的问题,以及越来越多的领域需要在遗产系统逆向工程和重构基础上构建软件的应用背景,本项目结合数据挖掘和程序静态分析两项核心技术,将重复代码及相关软件缺陷检测融合为一个整体。基于频繁子序列挖掘技术检测重复代码,使其能够识别大型软件中经过增删改的重复代码,同时融合程序静态分析技术,检测现有软件缺陷检测方法不易检测的大型软件中与重复代码相关的语义和逻辑缺陷,为应用于能源、航空航天等安全攸关软件的缺陷检测、维护和重构,以及提高软件质量奠定理论基础,具有重要的科学理论意义和实用价值。
中文关键词: 软件缺陷检测;重复代码;数据挖掘;程序静态分析
英文摘要: Software developers usually reuse software components by copying and pasting source code. With the increment of functionalities of large software systems, duplicated source codes are increased and the structure of the software systems get more and more complicated. This makes the systems be more difficult to comprehend and maintain. To solve the problem of duplicated code related bugs introduced by software reuse, under the circumstance of more and more softwares being constructed based on legacy systems reverse engineering and refactoring, this project integrates duplicated code detection with duplicated code related bug detection by combining data mining technique with program static analysis technique. By detecting duplicated code based on frequent item sequence mining, the modified duplicated code in large softwares can be recognized. By introducing the static analysis technique, duplicated code related semantic and logical bugs in large softwares can be detected, which can not be achieved by most existing bug detection approaches. This project lays a good foundation for safety-critical software (usually used in the field of energy, aviation, space, and so on) bug detection and maintenance and code refactoring to improve software quality. So it is of great scientific and application value.
英文关键词: software bug detection;duplicated code;data mining;program static analysis