期刊文献+

基于懒替换的C符号执行 被引量:3

Lazy-substitution based symbolic execution for C programs
下载PDF
导出
摘要 针对传统符号执行中的动态地址计算问题,提出了基于懒替换的符号执行方法.通过引入尽可能替换的策略,基于懒替换的符号执行在无法静态确定变量的地址或符号表达式过长时不做符号替换.首先给出了基于懒替换的符号执行算法,在此基础上,详细分析了C语言主要结构尤其是数组和指针的懒符号执行语义.LazySEC是一个面向C程序的懒符号执行系统原型,初步实验表明,它可以有效地处理含有指针和结构体等涉及动态地址计算的程序语言结构. Lazy-substitution based symbolic execution was presented in order to address the computed memory location problem in traditional symbolic execution. A form of lazy strategy was introduced into traditional symbolic execution, which substitutes program variables with their symbolic values as much as possible. When the memory locations of variables in a statement can't be determined statically or the length of a symbolic expression for substitution is too long, those variables won't be replaced with their symbolic values. The lazy substitution algorithm was provided. Moreover, the lazy symbolic execution semantics for most of structures in C programming language were discussed in detail, especially for array and pointer. The prototype of symbolic execution system LazySEC (a lazy symbolic executor for C programs) performs lazy-substitution based symbolic execution for C programs. Preliminary experiment results show that LazySEC can handle program structures involving computed memory locations efficiently.
出处 《北京航空航天大学学报》 EI CAS CSCD 北大核心 2009年第6期687-691,共5页 Journal of Beijing University of Aeronautics and Astronautics
基金 国家863计划资助项目(2007AA010301)
关键词 软件工程 程序调试 工具 software engineering program debugging tools
  • 相关文献

参考文献1

二级参考文献2

共引文献45

同被引文献19

  • 1洪宇,陈光,于见平,韩柯.处理符号执行中数组元素混淆的一种新方法[J].计算机应用,2005,25(B12):434-436. 被引量:2
  • 2King J C. Symbolic execution and program testing [J].Commun ACM, 1976,19(7) : 385-394.
  • 3Godefroid P, Klarlund N, Sen K. DART: directed automated ran dom testing[C]//Proceedings of the 2005 ACM SIGPLAN Con ference on Programming Language Design and Implementation. New York, USA, 2005 : 213- 223.
  • 4Sen K, Agha G. CUTE and Jcute: Concolic unit testing and ex- plicit path model-checking tools[C]//Proceedings of Conference on Computer Aided Verification. 2006,4144:419-423.
  • 5Cadar C, Ganesh V, Pawlowski P, et al. EXE: Automatically generating inputs of death[J]. ACM Transaction on Information and System Security, 2008,12 : 1-38.
  • 6Coward P D. Symbolic execution systerns-a review [J].Software Engineering Journal, 1988,3(6) : 229-239.
  • 7Zhang Jian, Wang Xiao-xu. A constraint solver and its applica tion to path feasibility analysis[J].International Journal of Soft ware Engineering and Knwoledge Engineering, 2001, 11 (2) 139-156.
  • 8Ngo M N,Tan H B K. Heuristices based infeasible path detec- tion for dynamic test data generation[J]. Information ~ Soft- ware Technology, 2008,50(7/8) : 641-655.
  • 9Xu Z,Zhang J. A test data generation tool for unit testing of C programs[C]//International Conference on Quality Software (QSIC' 06). 2006 : 63-74.
  • 10Z3 : New High-performance Theorem Prover [EB/OL]. http:// research, microsoft, com/ projects / z3 /.

引证文献3

二级引证文献6

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部