- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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规范
您可能关注的文档
- 激活全员正能量——唐山热电打造一流员工队伍调查.doc
- 灭菌方式对罗汉果饮料浓缩液品质的影响.doc
- 灵活趣味 让高职学前钢琴课更高效.doc
- 灸疗液稳步向前 为客户做好服务.doc
- 炭阳极焙烧炉7室运行实践.doc
- 炼油厂催化重整装置的常见故障综述.doc
- 烟台市工程场地地脉动特征分析.doc
- 烟叶主脉不同位置烟梗挥发性香味物质的变化.doc
- 烟台市芝罘区体育公园概念设计.doc
- 烤烟品种正反交对F1代产质量性状的影响.doc
- 《GB/T 46383.302-2025电气运输设备 第3-2部分:载物电气运输设备移动性能测试方法》.pdf
- GB/T 46383.302-2025电气运输设备 第3-2部分:载物电气运输设备移动性能测试方法.pdf
- 中国国家标准 GB/T 46383.302-2025电气运输设备 第3-2部分:载物电气运输设备移动性能测试方法.pdf
- 《GB/T 31270.7-2025化学农药环境安全评价试验准则 第7部分:生物富集试验》.pdf
- GB/T 31270.7-2025化学农药环境安全评价试验准则 第7部分:生物富集试验.pdf
- 《GB 5135.2-2025自动喷水灭火系统 第2部分:湿式报警阀、延迟器、水力警铃》.pdf
- GB/T 19412-2025蓄冷(热)空调系统的测试和评价方法.pdf
- 《GB/T 19412-2025蓄冷(热)空调系统的测试和评价方法》.pdf
- 中国国家标准 GB/T 19412-2025蓄冷(热)空调系统的测试和评价方法.pdf
- GB/T 46611-2025电光调制器用铌酸锂单晶薄膜.pdf
原创力文档


文档评论(0)