项目名称: 基于软件多版本演化的克隆家系提取研究
项目编号: No.61462071
项目类型: 地区科学基金项目
立项/批准年度: 2015
项目学科: 自动化技术、计算机技术
项目作者: 张丽萍
作者单位: 内蒙古师范大学
项目金额: 44万元
中文摘要: 克隆代码检测、管理和理解是软件工程的重要研究内容,其在软件维护、演化、架构、复用及软件授权、反剽窃等众多领域有广泛的需求与应用。基于已有研究成果,针对克隆家系提取这一关键问题,围绕检测克隆代码、建立克隆群映射、识别克隆演化模式、提取克隆家系四个具体核心问题深入开展研究。通过选取适当克隆代码粒度,提出改进算法实现高效检测克隆代码,并达到降低现有算法时空复杂度的目的;基于克隆检测结果,准确映射历时演化文件版本间的克隆群;从克隆片段的内容和位置两个方面来确定克隆片段的起源,从而确定克隆群之间的演化模式;把具有共同祖先的直系克隆提取出来组成克隆家系,并对其实现可视化。最终,设计开发一个与程序设计语言无关的、可移植的、可视化的克隆家系提取实验系统。预期成果将为克隆代码的演化分析提供参考,从而为克隆代码的管理和维护提供有力的支持。
中文关键词: 克隆代码;克隆家系;克隆群映射;克隆演化模式
英文摘要: Clone detection, management and understanding are significant researches in software engineering. They have wide requirements and applications in many fields, such as software maintenance, evolution, architecture, reuse, licensing, anti-plagiarism and so on.For the key problem clone genealogies extraction, we carry out further studies on clone detection, clone group mapping, clone evolution pattern recognition, and clone genealogy extraction based on available results. By choosing the proper granularity of clones, present an optimized algorithm implement the efficient clone detection and reduces the time and space complexity of existing algorithm, map clone groups between adjacent versions of software accurately based on clone detection results, identify the origin of a code clone by its content and position, and then determine evolution pattern between clone groups, extract clone genealogies by combine clone lineages originated from the same clone group, and realize its visualization. At last, an experimental system is obtained, which is portable, language-independent, and visual, for automatically extract clone genealogies. The achievements will provide reference of code clones evolution analysis, thus provide powerful support to the management and maintenance of code clones.
英文关键词: code clone;clone genealogy;clone group mapping;clone evolution pattern