当前位置:问答库>论文摘要

题目:C++程序动态切片系统的设计与实现

关键词:程序切片,C++,系统依赖图,插桩

  摘要



大型的程序在分析、调试和检错时会消耗大量的时间,如果直接对源代码进行例如检错的操作,效率会比较低。如果可以将程序分割成几个小的程序,并且可以独立运行,就可以单独的对一个子程序进行相关的分析或者调试等操作,大大提高了工作效率。

将程序切割成几个子程序的技术就是本文所要提到的重点——程序切片技术。这种技术主要是通过将一个复杂程度高、规模大的程序通过一定的分解机制将程序分解成若干的复杂程度低、结构相对较低的程序片段。本文主要针对课题需求,实现了C++程序动态切片系统。切片技术本身存在众多的趋于解决的问题。使用程序切片需要很大的代价,包括存储空间和时间,而且虽然在被提出来这个概念后有了很大提高,但是在精度上也无法达到工业的要求,所以现在课题的研究仅限于实验室。

系统通过分析C++程序的源代码,首先将源代码进行格式化,在格式化的基础上对代码进行词法语法分析,得到插桩所需要的信息,然后对代码进行插桩,获得程序的运行信息,在运行信息的基础上对程序进行依赖分析,获得程序的动态系统依赖图,然后对动态系统依赖图进行切片,最终获得我们所需要的切片结果。

本文根据软件开发的流程,从需求分析,概要设计,系统的详细设计与实现和系统测试四个阶段分别介绍了该切片系统的设计与实现。并且对其中所使用到的几项关键技术做了详细的描述。最后对系统进行了测试。