ISCAS OpenIR  > 中科院软件所  > 中科院软件所
基于时序逻辑的编译优化形式化描述及测试用例生成方法
夏勇
2006-06-02
Degree Grantor中国科学院软件研究所
Degree Level博士
Place of Degree Grantor软件研究所
Keyword编译优化 循环优化 时序逻辑 关键结点控制图 重写规则
English Abstract编译器是软件开发的基础支撑性工具,它的正确性直接影响到应用软件的可靠性,保证其质量的有效手段之一是软件测试。优化是编译过程中的重要阶段,它主要通过对程序进行等价性变换来提高目标程序的执行性能,或缩减目标程序的代码规模、降低程序的运行功耗等。编译优化测试是针对编译器优化功能和效果的测试,检查经过优化变换后的代码是否保持了原程序的功能语义、是否达到了性能改进的目标。 编译测试的主要流程和通常的软件测试一样,包括了测试用例生成、测试用例执行以及测试结果判定等活动。编译器测试中的测试用例是高级语言源程序,手工生成工作量大,难以保证充分的覆盖度,为提高效率,需要有自动化的测试用例生成方法。自动化的测试用例生成方法需要对优化进行形式化描述作为支撑。 典型的优化变换包括四个部分:源程序、目标程序、变换动作以及变换实施的使能条件,其中使能条件是源程序具有的某种程序性质。变换描述语言TRANS采用条件重写规则描述优化变换,其中使能条件用时序逻辑公式表示。 循环优化是一种重要的优化,其变换的实施通常涉及到循环结构、归纳变量、循环依赖的识别。本文针对循环优化的特点,对TRANS语言做了宏扩展,详细讲述了循环、循环嵌套、归纳变量、循环依赖等循环结构和基础特征的时序逻辑特性,给出相应的TRANS语言宏定义;并以循环逆转、循环交换、循环合并三个典型的优化为例阐述了扩展宏定义的使用方法。扩展的宏定义能简化复杂的循环优化变换描述结果,为针对优化的测试用例自动化生成以及形式化验证研究奠定了基础。 本文提出了一种基于时序逻辑的编译优化测试用例生成方法。该方法通过变换中涉及的关键语句和它们之间的关系构造测试用例的模板,在模板之上通过随机策略插入程序语句从而完成测试用例的生成。它的核心是关键结点控制图生成算法,关键结点控制图是测试用例模板的表现形式,算法包括三个阶段:初始化、时序逻辑公式规整化和图的生成。该方法为多种编译优化的测试提供了统一的用例生成方法,生成的测试用例具较强针对性。
Pages60
Language中文
Content Type学位论文
URIhttp://ir.iscas.ac.cn/handle/311060/6758
Collection中科院软件所_中科院软件所
Recommended Citation
GB/T 7714
夏勇. 基于时序逻辑的编译优化形式化描述及测试用例生成方法[D]. 软件研究所. 中国科学院软件研究所,2006.
Files in This Item:
File Name/Size DocType Version Access License
10001_20032801500434(471KB) 限制开放--Application Full Text
Related Services
Recommend this item
Bookmark
Usage statistics
Export to Endnote
Google Scholar
Similar articles in Google Scholar
[夏勇]'s Articles
Baidu academic
Similar articles in Baidu academic
[夏勇]'s Articles
Bing Scholar
Similar articles in Bing Scholar
[夏勇]'s Articles
Terms of Use
No data!
Social Bookmark/Share
All comments (0)
No comment.
 

Items in the repository are protected by copyright, with all rights reserved, unless otherwise indicated.