| 【中文题名】 | 模块单子切片性质研究及扩展 |
| 【英文题名】 | Research of Property and Extending of Modular Monadic Slicing |
| 【学科专业】 | 计算机软件与理论 |
| 【论文级别】 | 硕士论文 |
| 【投稿时间】 | 2007-3-2 |
| 【中关键词】 | 程序切片,模块单子切片,终止性,一致性,指向分析, |
| 【英关键词】 | program slicing,modular monadic slicing,termination,coincidence,point-to analysis, |
| 【分类导航】 | 工业技术>自动化技术、计算机技术>计算技术、计算机技术>计算机软件>程序设计、软件工程>程序设计 |
| 【论文摘要】 |
程序切片是一种程序分解技术。因目前切片方法缺乏模块性和灵活性,我们实验室曾提出一种新的形式化切片方法——模块单子切片。目前,模块单子切片的基本理论已初见规模,但是模块单子切片的一些性质尚未有深入探讨,所处理的语言机制还有待完善扩充。本文在已有工作的基础上,部分完善了模块单子切片的基本理论,并将之扩展以处理含指针的程序。
主要工作包括:(1)模块单子切片算法终止性的精确证明。在现有理论的基础上,利用指称技术及不动点理论给出终止性证明。(2)定义模块单子切片与基于依赖图的切片方法的一致性。(3)含指针程序的模块单子切片。主要研究内容是切片算法的扩展。通过将指向分析融入已有的模块单子切片,改进的模块单子切片可以处理含指针的程序。不同于将指向分析与切片计算分开的传统切片算法,改进的模块单子切片将正向程序切片思想与数据流迭代分析相结合后,可同时进行切片计算和指向分析,从而保证了较高的精度,而且比一般的数据流迭代方法节省空间。 |
| 【论文题纲】 |
|
摘要 |
5-6 |
|
Abstract |
6-9 |
|
第一章 引言 |
9-11 |
|
1.1 选题依据 |
9 |
|
1.2 国内外研究现状 |
9-10 |
|
1.2.1 模块单子切片 |
9 |
|
1.2.2 含指针程序分析技术 |
9-10 |
|
1.3 主要研究内容 |
10 |
|
1.4 论文主要成果 |
10 |
|
1.5 论文结构 |
10-11 |
|
第二章 基本概念 |
11-15 |
|
2.1 模块单子语义 |
11-13 |
|
2.1.1 单子 |
11-12 |
|
2.1.2 单子转换器 |
12 |
|
2.1.3 模块单子语义 |
12-13 |
|
2.2 程序切片 |
13-15 |
|
第三章 模块单子切片方法 |
15-19 |
|
3.1 切片单子转换器 |
15 |
|
3.2 单子切片算法 |
15-18 |
|
3.2.1 Syn(s, L)的定义 |
16 |
|
3.2.2 具体算法步骤 |
16-18 |
|
3.2.3 复杂度分析 |
18 |
|
3.3 本章小结 |
18-19 |
|
第四章 单子切片性质研究 |
19-26 |
|
4.1 终止性证明 |
19-23 |
|
4.1.1 基本定义 |
19 |
|
4.1.2 指称函数定义 |
19-20 |
|
4.1.3 引理及部分证明 |
20-21 |
|
4.1.4 终止性证明 |
21-23 |
|
4.2 与依赖图方法的关系 |
23-25 |
|
4.2.1 基本思路 |
24-25 |
|
4.2.2 一致性定义 |
25 |
|
4.3 本章总结 |
25-26 |
|
第五章 含指针程序的单子切片技术 |
26-33 |
|
5.1 基本概念 |
26-27 |
|
5.2 相关研究 |
27 |
|
5.3 引入指针后的问题分析 |
27-28 |
|
5.4 指针单子切片算法 |
28-31 |
|
5.4.1 指向集数据结构 |
28 |
|
5.4.2 赋值语句分类及表达式的处理 |
28-29 |
|
5.4.3 赋值语句的处理 |
29-31 |
|
5.4.4 其他语句的处理 |
31 |
|
5.5 复杂性分析 |
31-32 |
|
5.6 实例分析 |
32 |
|
5.7 本章小结 |
32-33 |
|
第六章 总结与展望 |
33-34 |
|
6.1 论文总结 |
33 |
|
6.2 今后工作展望 |
33-34 |
|
致谢 |
34-35 |
|
参考文献 |
35-38 |
|
附录 攻读硕士学位期间完成的论文以及参加的科研项目列表 |
38 |
|
| 【DOI】 | LunWen.ID:2.2008.356838 |