基于重放的并发程序调试技术研究

基于重放的并发程序调试技术研究

论文题目: 基于重放的并发程序调试技术研究

论文类型: 硕士论文

论文专业: 计算机软件与理论

作者: 左赋斌

导师: 徐宝文

关键词: 并发程序,并发调试,进程,消息队列,通信,追踪重放

文献来源: 东南大学

发表年度: 2005

论文摘要: 随着并发程序日益广泛的使用,并发程序的调试也变得越发的重要。传统的循环调试技术主要是设置断点,多次执行源程序,逐步定位错误位置。因为顺序程序的执行结果主要取决于程序的输入,所以这种方法对于顺序程序十分有效,但是对于并发程序,问题要复杂得多。首先,并发程序的并发性和不确定性,导致了对于一个给定的并发程序,即使在相同的输入下,也可能产生不同的结果,或者是结果相同,但是执行的路径不同。正确发现和纠正错误的前提是能够不断地让同样的错误重复出现,然而在并发程序调试时,可能无法得到错误信息,或者观察到了错误,再次运行时却无法得到上次的错误状态。这就迫切需要有一种机制,使得在调试时能够确定性地执行程序。其次,并发程序一般都含有多个进程,它们之间存在着复杂的通信和同步,因此在调试时程序员希望对并发程序的执行流程和进程间的通信有一个整体的把握,然而人工查阅代码获得进程间的通信关系几乎是不可能的。这将使得程序员难于分析和理解并发程序,调试时必须在多个进程间频繁地切换和盲目地跟踪,调试效率将大大降低。这就有必要给程序员提供进程间的通信关系。基于上述问题,我们研究和开发了并发程序分析和调试工具,其中包括基于重放的并发程序调试工具和进程间通信关系提取和描述工具。该工具基于用C语言编写的进程间以消息队列和共享内存为通信机制的并发程序。基于重放的并发程序调试工具追踪并发程序执行,以便在重放的基础上调试并发程序;通信关系提取和描述工具用于自动提取源代码中可能的通信关系和本次执行时实际的通信关系,并将关系以图形的方式显示给用户。

论文目录:

摘要

Abstract

第一章 引言

1.1 选题依据

1.2 基于重放的程序调试的目的和意义

1.3 通信关系提取的目的和意义

1.4 研究现状

1.5 论文结构

第二章 并发的有关问题及程序分析技术

2.1 进程的基本概念

2.2 进程间的同步与通信

2.2.1 同步

2.2.2 通信

2.3 并发执行的不确定性

2.3.1 消息队列

2.3.2 共享内存

2.4 程序分析技术

2.4.1 函数内分析

2.4.2 跨函数分析

第三章 基于重放的并发调试

3.1 调试策略

3.2 源代码插装

3.3 同步事件监视与记录

3.3.1 向量时间戳

3.3.2 同步事件的记录

3.4 并发程序的重放

3.4.1 同步操作的插装

3.4.2 程序的重放

3.5 并发程序的调试

3.5.1 断点的实现

3.5.2 单步运行

3.5.3 信息显示

第四章 通信关系的提取

4.1 进程间通信关系静态分析

4.1.1 波动分析

4.1.2 图形化表示

4.1.3 实例分析

4.2 进程间通信关系动态分析

4.2.1 交互信息的获取

4.2.2 动态通信关系描述

第五章 系统的设计与实现

5.1 系统总体框架

5.2 C程序分析模块的设计

5.2.1 词法分析生成工具FLEX和语法分析器生成工具BYACC

5.2.2 C程序分析器的主要数据结构

5.3 并发程序调试模块

5.3.1 系统函数简介及封装

5.3.2 数据结构与算法

5.4 通信关系提取模块

5.4.1 静态通信关系分析数据结构

5.4.2 静态通信关系可视化

5.4.3 动态通信关系分析数据结构

5.4.4 动态通信关系可视化

5.4 用户界面

第六章 结束语

致谢

附录一 攻读硕士学位期间完成的论文列表

附录二 攻读硕士学位期间参加的科研项目列表

参考文献

发布时间: 2007-06-11

参考文献

  • [1].基于变体的并发程序测试及其实验研究[D]. 颉佳宇.东南大学2017
  • [2].基于并发程序切片的修改影响分析[D]. 张欢.东南大学2017
  • [3].基于变体的并发程序测试技术研究[D]. 周华杨.东南大学2015
  • [4].一个自适应的并发程序测试框架[D]. 吴熳娜.浙江大学2010
  • [5].并发程序原子图挖掘及违背检测[D]. 朱一清.上海交通大学2012
  • [6].可信软件并发正确性测试技术的研究与应用[D]. 李桢.广东工业大学2014
  • [7].面向并发程序数据竞争故障的变异策略研究[D]. 吴俞伯.北京化工大学2016
  • [8].面向对象并发程序切片技术及其在程序验证中的应用[D]. 何志学.苏州大学2008
  • [9].基于JDT的并发程序错误模式检测工具设计与实现[D]. 封煜佳.南京大学2011
  • [10].并发测试重演工具系统的设计与实现[D]. 王重.大连理工大学2014

相关论文

  • [1].软件测试Rough Set模型研究[D]. 汪春昭.大连交通大学2007
  • [2].复杂环境下的软件调试技术研究与应用[D]. 翟峰.上海交通大学2007
  • [3].机群系统并行程序调试器的设计与实现[D]. 李永强.解放军信息工程大学2007
  • [4].嵌入式Linux内核调试技术的研究与实现[D]. 黄凌碧.哈尔滨理工大学2006
  • [5].组件软件可靠性优化技术研究[D]. 孙莉.东南大学2006
  • [6].Java程序分层及概率依赖性分析[D]. 余斌.东南大学2006
  • [7].构件系统回归测试模型与技术研究[D]. 解凯.东南大学2006
  • [8].并发程序调试的追踪/重演机制研究[D]. 曾奕.东南大学2005
  • [9].嵌入式系统调试技术的分析与设计[D]. 黄红燕.浙江大学2006
  • [10].ARM嵌入式系统调试技术研究与实现[D]. 张群忠.华东师范大学2006

标签:;  ;  ;  ;  ;  ;  

基于重放的并发程序调试技术研究
下载Doc文档

猜你喜欢