首页> 中文学位 >基于程序切片的重构识别、实施、验证
【6h】

基于程序切片的重构识别、实施、验证

代理获取

目录

文摘

英文文摘

第一章 绪论

1.1 研究背景

1.2 研究现状

1.2.1 重构识别的现状

1.2.2 重构实施的现状

1.2.3 重构验证的现状

1.2.4 重构工具

1.3 研究内容

1.4 论文章节安排

第二章 基础知识

2.1 示例代码

2.2 构造程序依赖图的方法

2.3 程序切片

2.4 重构的基本概念

第三章 重构识别

3.1 控制度函数

3.2 通过控制度函数识别重构对象

3.2.1 识别Move Method重构对象

3.2.2 识别Move Field重构对象

3.2.3 识别Extract Class重构对象

3.3 重构识别实例分析

3.3.1 Move Method重构识别实例

3.3.2 Move Field重构识别实例

3.3.3 Extract Class重构识别实例

第四章 重构实施

4.1 程序标签图

4.2 程序类型图

4.3 用图产生式表示重构

4.3.1 图产生式

4.3.2 图产生式表示Move Method重构

4.3.3 图产生式表示Move Field重构

4.3.4 图产生式表示Extract Class重构

第五章 重构验证

5.1 保证重构正确性

5.1.1 Move Method的否定应用条件表达式

5.1.2 Move Field的否定应用条件表达式

5.1.3 Extract Class的否定应用条件表达式

5.2 保证重构行为不变性

5.2.1 通过图表达式表示程序的行为

5.2.2 More Method的行为不变性

5.2.3 Move Field的行为不变性

5.2.4 Extract Class的行为不变性

第六章 工具支持

6.1 程序切片工具JSlicing

6.2 重构识别工具JRIdentifier

6.3 重构实施工具JReflmplement

第七章 实验结果与分析

7.1 最小二乘法

‘7.2 对Move Method的实验分析

7.3 对Move Field的实验分析

7.4 对Extract Class的实验分析

第八章 总结与展望

8.1 主要工作总结

8.2 未来工作和展望

致谢

参考文献

作者简介

展开▼

摘要

重构是指在不改变软件外部行为的前提下,以提高软件内部质量为目的,对软件实施更改的一种技术[1]。重构主要包含识别、实施和验证三个阶段。目前,存在很多技术分别支持重构的各个阶段:对于识别阶段,主要依靠手动方法,这样不但效率低,而且正确性不高;对于实施阶段,已经提出一系列技术(如图转换,程序切片和概念分析等技术),能够把不健康的程序结构更改成结构健壮的模式,并研发出大量的自动化重构工具;对于验证阶段,由于对行为的定义没有达成统一,所以至今没有一种有效的方法能够完全证明重构是否改变程序的外部行为。
   鉴于上述问题,制约重构发展的本质原因是缺少统一的方法对整个重构过程进行系统的研究。本文提出一种基于程序切片的形式化方法对重构识别、实施和验证阶段进行统一的研究。这种形式化方法以图转换技术为基础,把程序通过图的方式描述出来,把重构等价成图转换中的产生式,并为每条产生式设定一些应用限制条件来保证程序的行为。在识别阶段,基于程序依赖图定义一种度量函数来计算元素间的控制关系,根据度量结果识别元素间不合理的耦合关系,从而自动识别程序中的坏味道[1]。在实施阶段,通过向图中的节点和边中加入类型信息,把程序依赖图扩展为标签图[2],使其包含重构实施过程所需的必要信息;在重构和图转换之间建立起等价关系,从而使重构按照合理的方式自动实施。在验证阶段,为保证重构的正确性,预先为重构产生式定义一些前置条件,使得能够满足条件的程序才能被重构,且保持程序的正确性;在保证重构正确性的前提下,通过验证重构产生式的实施是否影响图的行为,来证明重构是否保证程序的行为不变性。最后,通过实验分析和工具支持来展示基于程序切片的形式化重构方法的可行性和实际应用价值。

著录项

  • 作者

    张重峰;

  • 作者单位

    东南大学;

  • 授予单位 东南大学;
  • 学科 软件与理论
  • 授予学位 硕士
  • 导师姓名 李必信;
  • 年度 2010
  • 页码
  • 总页数
  • 原文格式 PDF
  • 正文语种 中文
  • 中图分类 TP311.52;
  • 关键词

    程序切片; 重构; 识别方法; 实际应用价值;

  • 入库时间 2022-08-17 10:51:48

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号