首页> 中文学位 >面向C++的函数静态调用路径自动生成
【6h】

面向C++的函数静态调用路径自动生成

代理获取

目录

声明

摘要

第1章 绪论

1.1 课题研究背景

1.2 国内外研究现状

1.2.1 路径覆盖测试

1.2.2 函数调用路径

1.2.3 面向对象软件测试

1.3 课题研究目的和意义

1.4 课题主要研究内容

1.5 论文组织结构

第2章 面向对象软件测试

2.1 面向对象技术的主要特点

2.1.1 封装

2.1.2 继承

2.1.3 多态

2.2 面向对象软件测试特点

2.3 面向对象的函数调用关系

2.3.1 函数调用关系

2.3.2 面向对象的函数调用关系

2.4 本章小结

第3章 算法分析与设计

3.1 算法框架

3.2 预处理模块

3.3 C++静态分析

3.3.1 词法分析

3.3.2 模式匹配

3.4 函数调用唯一性确定

3.4.1 多态唯一性确定

3.4.2 重载唯一性确定

3.5 函数静态调用路径分析与提取

3.5.1 局部函数静态调用路径

3.5.2 全局函数静态调用路径

3.6 本章小结

第4章 算法实现

4.1 预处理算法

4.2 静态分析算法实现

4.3 唯一性确定算法实现

4.4 函数静态调用路径生成算法

4.5 本章小结

第5章 实验与评测

5.1 测试数据

5.2 实验结果与评测

5.2.1 算法分析结果

5.2.2 人工分析结果

5.2.3 实验对比

5.3 本章小结

第6章 总结与展望

6.1 论文的工作与总结

6.2 研究工作展望

参考文献

个人简历 在学期间发表的学术论文及研究成果

致谢

展开▼

摘要

软件在人类的社会生活中扮演着越来越重要的角色,软件质量成为人们关注的重要问题。软件测试是保证软件质量的重要手段,软件测试充分性原则使得软件测试工作变得更加准确。路径覆盖测试是一种能够保证软件测试充分性的覆盖准则,但是即使一个不大的软件,其路径的数目往往都是一个天文数字,很难实现。因此,基于函数调用关系的路径覆盖测试提高了传统路径的粒度,将其由语句级提升为函数级,在保证测试充分性的基础上,提升了路径覆盖测试的可行性。 近几年来,面向对象技术的兴起使得软件测试领域产生了巨大的变化,面向对象技术中的封装、继承和多态的特点,导致了面向对象软件测试的复杂性大大增加。传统的函数路径生成算法仅根据函数名来确定函数原型,在面向对象程序中会带来路径冗余的问题。论文将基于函数调用关系的路径覆盖生成技术与面向对象的软件测试结合起来,对C++程序进行静态分析,获取程序基于函数调用关系的静态路径。论文针对C++的语言特点,对所需要获取的静态信息进行分类,针对每个类别,设计相应的匹配模式及处理算法,具有良好的扩展性,并且逻辑结构清晰明了。针对C++中的多态和重载问题,通过跟踪函数指针变化和设计有限状态机的方法,静态确定C++中多态调用点和重载调用点唯一对应的函数原型,解决了重载和多态带来的冗余路径问题。 实验证明,论文可以准确提取出C++程序中的静态路径,唯一性确定算法有效减少了静态路径中的冗余路径,提高了测试效率。论文提取的静态路径可帮助相关人员理解和维护程序,对相应程序的测试工作起到指导性的作用。它与测试用例的自动生成,以及函数动态调用路径的覆盖分析相结合,可以实现程序的自动化测试,提高测试工作的效率。

著录项

  • 作者

    刘梦婷;

  • 作者单位

    北京信息科技大学;

  • 授予单位 北京信息科技大学;
  • 学科 计算机应用技术
  • 授予学位 硕士
  • 导师姓名 牟永敏;
  • 年度 2013
  • 页码
  • 总页数
  • 原文格式 PDF
  • 正文语种 中文
  • 中图分类 计算技术、计算机技术;
  • 关键词

    函数; 静态调用; 路径;

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号