采用ClangLLVM的C++源代码覆盖率分析插装方法.docVIP

采用ClangLLVM的C++源代码覆盖率分析插装方法.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
采用ClangLLVM的C源代码覆盖率分析插装方法

采用Clang/LLVM的C++源代码覆盖率分析插装方法 李树芳 安金霞 刘洋 陈良 中国酒泉卫星发射中心 X 关注成功! 加关注后您将方便地在 我的关注中得到本文献的被引频次变化的通知! 新浪微博 腾讯微博 人人网 开心网 豆瓣网 网易微博 摘????要: 近年来, 越来越多的安全关键软件系统运行在国产Linux操作系统上, 其中大多数采用C++开发, 而C++正在扩展新版语言规范, 已有的覆盖率统计插装工具不能满足要求。给出一种基于Clang/LLVM的C++源代码覆盖率统计插装方法, 利用开源社区Clang/LLVM库提供的C++源代码解析和操作功能, 构建面向C++源代码的语句、分支和MC/DC覆盖率统计框架, 在运行时采集覆盖率信息并进行统计分析, 输出覆盖率分析报告。实际案例表明, 该方法简易实用, 能够满足真实工程软件的覆盖率测试分析需求。 关键词: C++; Clang; 代码插装; 覆盖率分析; 作者简介:李树芳 (1978-) , 男, 硕士, 高级工程师, 主要研究方向为软件工程;E-mail:shufang@; 作者简介:安金霞 (1973-) , 女, 博士, 高级工程师, 主要研究方向为大数据分析; 作者简介:刘洋 (1983-) , 硕士, 工程师, 主要研究方向为软件测试; 作者简介:陈良 (1987-) 男, 硕士, 工程师, 主要研究方向为网络安全。 收稿日期:2016-10-10 Approach to C++ Code Instrumentation for Coverage Analysis with Clang/LLVM LI Shu-fang AN Jin-xia LIU Yang CHEN Liang Jiuquan Satellite Launch Center of China; Abstract: In recent years, many safety-critical software system have been running under domestic Linux operating systems, most of which are developed with C+ +.As C+ + is expanding to new revision of the C+ + ISO/IEC standards, the existing source code instrumentation tools for coverage analysis cannot satisfy users requirements.In this paper, an approach to C++ source code instrumentation for coverage analysis with Clang/LLVM was proposed.Employing the Clang/LLVM library in open source community, which provides C++ source code parsing and manipulation functions, a framework of C++ coverage analysis for statement coverage, branch coverage and MC/DC coverage was constructed.Coverage information was collected in real-time, and was analyzed and exported to reports.Case study shows that the proposed approach is very convenient and practical in real world software testing activities. Keyword: C++; Clang; Code instrumentation; Coverage analysis; Received: 2016-10-10 1 引言 C++语言是最受欢迎的主流程序设计语言之一。近年来, 越来越多的安全关键软件系统运行在以银河麒麟为代表的国产Linux操作系统上, 其中大多采用C++开发。C++11和C++14等新版规范相继发布, 并得到GCC, Clang/LLVM, Visual Studio等主流编译器的全面支持。例如, GCC6默认采用gnu++14规范 (即C++14的GNU扩展) , QT5代码遵循C++11规范, Clang/LLVM自身代码使用C++11规范

您可能关注的文档

文档评论(0)

baoyue + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档