期刊文献+

C形状分析在函数和路径层次上的并行化

Parallel Analysis of C Shape Analysis on Function Level and Path Level
原文传递
导出
摘要 静态分析技术作为一种重要的提高程序安全性的手段,目前已被广泛地用于查找程序中的错误和漏洞。性能作为静态分析工具的一个重要指标,直接影响到工具的实用性和可伸缩性。在多核处理器时代,提升工具分析性能的一个有效的途径是充分利用多个处理器来增加分析的并行度。本文的目的是探究如何在静态分析工具中使用并行化分析技术来提升工具的分析性能。我们在实验室设计的一款专门分析C程序中单链表、双链表等数据结构的形状和内存相关错误的静态分析工具上,根据工具本身的分析层次和分析过程,在工具的函数层次和路径层次上使用并行化分析技术,然后在服务器平台上对并行化分析技术的效果进行实验测试。实验数据表明,在这两个层次上使用并行化分析技术能有效地提升工具的分析性能。 As an important way to improve software's safety, static analysis technology has been widely used to find errors and bugs in program. Performance is a significant factor for static analysis tool and directly affects the usability and scalability of the tool. On the era of multi-core processors, one of effective methods to improve the analysis performance is to fully utilize multiple processors and add the degree of parallelism. This paper is to find out how to utilize parallel analysis technology to improve the analysis performance in static analysis tool. Our work is based on a static analysis tool that designed by our lab. It supports to analyze the shape of some data structures such as single linked list and double linked list and find out errors and bugs with memory in a C program. On the basis of the analysis levels and procedures of tool, we utilize parallel analysis technology on function level and path level and then test if our method is effective for the tool on a server platform. The experiment data indicates that utilizing parallel analysis technology on these two levels can effectively improve the tool's performance.
出处 《电子技术(上海)》 2015年第8期20-26,共7页 Electronic Technology
基金 国家自然科学基金面上项目(61170018)
关键词 函数层次 路径层次 静态分析 并行化分析 实用性 可伸缩性 Function Level Path Level Static Analysis Parallel Analysis Workability Scalability
  • 相关文献

参考文献12

  • 1James C. King, Symbolic execution and programtesting[J], Communications of the ACM,1976,19(07): 385-394.
  • 2Cristian Cadar,Koushik Sen. Symbolic executionfor software testing: three decades later[J].Communications of the ACM,2013, 56(02): 82-90.
  • 3Cristian Cadar, Daniel Dunbar, Dawson Engler.KLEE: Unassisted and Automatic Generation ofHigh-Coverage Tests for Complex SystemsPrograms[C]//USENIX Symposium on OperatingSystems Design and Implementation (OSDI2008).USENIX Association, 2008.
  • 4The LLVM development team. Clang Static Analyzer[EB/OL]. (2015-2)//[2015-2-5].http://clang-analyzer.llvm.org.
  • 5The LLVM development team. The LLVM CompilerInfrastructure[EB/OL].(2015-3)//[2015-3-10].http ://www.llvm. org.
  • 6The LLVM development team. Clang: A C LanguageFamily Frontend For LLVM[EB/OL]. (2015-2)//[2015-3-2].http://clang.llvm.org.
  • 7The ShapeChecker development team. ShapeChecker [EB/OL].(2015-2)//[2015-03-13].http://kyhcs.ustcsz.edu.cn/-shapechecker/.
  • 8Chris Lattner. Macroscopic Data Structure Analysisand Optimization [D]. Urbana-Champaign: Universityof Illinois at Urbana-Champaign, 2005.
  • 9The GNU Coreutils development team. GNUCoreutils Project Archives[EB/OL].(2015-3)//[2015-3-5]. http://ftp.gnu.org/gnu/coreutils/.
  • 10The wikipedia development team. GNU CoreUtilities[EB/OL].(2015-2)//[2015-3-16].http ://en. wikipedia.org/wiki/GNUCoreUtilities.

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

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