节点文献

文件化简技术在静态分析中的研究与应用

Research and Application of File Simplification Technology in Static Analysis

【作者】 刘莉

【导师】 宫云战;

【作者基本信息】 北京邮电大学 , 计算机科学与技术, 2012, 硕士

【摘要】 随着计算机行业的的迅速发展,软件规模、复杂度不断提升,应用领域也不断扩大,如何保证和提高软件的可靠性与安全性成为计算机领域研究的热点,软件测试已经成为软件生命周期中不可或缺的-部分。程序静态分析是与程序动态分析相对应的代码分析技术,它以其执行速度快、效率高、不实际执行程序等特点,受到了业界的高度重视,近几年来发展迅速。随着软件规模的不断扩大,如何提高静态分析的效率成为人们普遍关心的问题。因此本文的研究工作将围绕如何提高静态分析的效率来展开。本文以C语言源文件为研究对象,结合中间文件生成原理,以合理去除中间文件中的冗余代码为核心,设计并实现了中间文件简化功能,有效地提升了静态分析效率。本文首先介绍了中间文件的结构及冗余信息的模式,通过大量实验统计冗余信息比重,得出进行中间文件简化的必要性。文中设计了中间文件化简子系统来对冗余信息进行删除,并合理储存头文件信息,消除冗余信息的删除对静态分析精度所造成的影响。最后,本文在基于缺陷的软件测试框架DTS的基础上,实现了中间文件化简子系统,并通过对大量Linux中GCC开源工程进行检测,验证了文中方法的可行性与有效性。

【Abstract】 With the fast development of the computer industry, the increasing scale and complexity of software system, and the expendingapplication areas, how to guarantee and improve the reliability and the safety has become the focus in the research of computer. Software testing has become an indispensable part in software’s life circle. Static analysis is a code analysis technology which is corresponding with the dynamic analysis. With its fast execution, highly effective, not actually execute the program and other characteristics, it is highly valued by the field and developed rapidly in recent years.With the constant expansion of the software, how to improve the efficiency of static analysis becomes a widespread concern. Therefore, this research will focus on how to improve the efficiency of static analysis.In this thesis, we let the C language as the research object, and focus on how to remove the redundant code in C preprocessor output combined with C preprocessor principle. This thesis also design and implement the function of the simplification of c preprocessor output, and improve the efficiency of static analysis effectively.This thesis first introduces the structure of C preprocessor output and the model of redundant information, then statistical analysis the redundancy information proportion through a lot of experiment and describes the necessary for the simplification of c preprocessor output. In this thesis, we design the file-simplication subsystem to remove the redundant information and store the header information reasonable to eliminate the effects of the static analysis precision which is caused by removing the redundant information. Finally, based on the software defect detecting tool-DTS (defect Testing System), we implement the file-simplication subsystem. We apply DTSGCC to validate plenty of GCC open source projects to proving the feasibility and effectiveness of our method.

节点文献中: 

本文链接的文献网络图示:

本文的引文网络