首页> 外文会议>2018 IEEE/ACM 40th International Conference on Software Engineering: Software Engineering in Practice Track >SmartUnit: Empirical Evaluations for Automated Unit Testing of Embedded Software in Industry
【24h】

SmartUnit: Empirical Evaluations for Automated Unit Testing of Embedded Software in Industry

机译:SmartUnit:行业中嵌入式软件自动单元测试的经验评估

获取原文
获取原文并翻译 | 示例

摘要

In this paper, we aim at the automated unit coverage-based testing for embedded software. To achieve the goal, by analyzing the industrial requirements and our previous work on automated unit testing tool CAUT, we rebuild a new tool, SmartUnit, to solve the engineering requirements that take place in our partner companies. SmartUnit is a dynamic symbolic execution implementation, which supports statement, branch, boundary value and MC/DC coverage. SmartUnit has been used to test more than one million lines of code in real projects. For confidentiality motives, we select three in-house real projects for the empirical evaluations. We also carry out our evaluations on two open source database projects, SQLite and PostgreSQL, to test the scalability of our tool since the scale of the embedded software project is mostly not large, 5K-50K lines of code on average. From our experimental results, in general, more than 90% of functions in commercial embedded software achieve 100% statement, branch, MC/DC coverage, more than 80% of functions in SQLite achieve 100% MC/DC coverage, and more than 60% of functions in PostgreSQL achieve 100% MC/DC coverage. Moreover, SmartUnit is able to find the runtime exceptions at the unit testing level. We also have reported exceptions like array index out of bounds and divided-by-zero in SQLite. Furthermore, we analyze the reasons of low coverage in automated unit testing in our setting and give a survey on the situation of manual unit testing with respect to automated unit testing in industry. SmartUnit is a dynamic symbolic execution implementation, which supports statement, branch, boundary value and MC/DC coverage. SmartUnit has been used to test more than one million lines of code in real projects. For confidentiality motives, we select three in-house real projects for the empirical evaluations. We also carry out our evaluations on two open source database projects, SQLite and PostgreSQL, to test the scalability of our tool since the scale of the embedded software project is mostly not large, 5K-50K lines of code on average. From our experimental results, in general, more than 90% of functions in commercial embedded software achieve 100% statement, branch, MC/DC coverage, more than 80% of functions in SQLite achieve 100% MC/DC coverage, and more than 60% of functions in PostgreSQL achieve 100% MC/DC coverage. Moreover, SmartUnit is able to find the runtime exceptions at the unit testing level. We also have reported exceptions like array index out of bounds and divided-by-zero in SQLite. Furthermore, we analyze the reasons of low coverage in automated unit testing in our setting and give a survey on the situation of manual unit testing with respect to automated unit testing in industry.
机译:在本文中,我们针对嵌入式软件的基于单元覆盖率的自动化测试。为了实现该目标,通过分析工业需求以及我们之前在自动化单元测试工具CAUT方面的工作,我们重建了新工具SmartUnit,以解决合作伙伴公司发生的工程需求。 SmartUnit是一种动态的符号执行实现,它支持语句,分支,边界值和MC / DC覆盖范围。在实际项目中,SmartUnit已用于测试超过一百万行代码。出于保密目的,我们选择三个内部真实项目进行经验评估。我们还对两个开源数据库项目SQLite和PostgreSQL进行了评估,以测试我们工具的可扩展性,因为嵌入式软件项目的规模通常并不大,平均5K-50K行代码。根据我们的实验结果,一般而言,商业嵌入式软件中超过90%的功能实现了100%的语句,分支,MC / DC覆盖率,SQLite中超过80%的功能实现了100%的MC / DC覆盖率,而超过60% PostgreSQL中%的功能实现了100%的MC / DC覆盖率。此外,SmartUnit能够在单元测试级别找到运行时异常。我们还报告了SQLite中的异常,例如数组索引超出范围和被零除。此外,我们分析了在我们的环境中自动单元测试覆盖率低的原因,并针对工业中的自动单元测试对手动单元测试的情况进行了调查。 SmartUnit是一种动态的符号执行实现,它支持语句,分支,边界值和MC / DC覆盖范围。在实际项目中,SmartUnit已用于测试超过一百万行代码。出于保密目的,我们选择三个内部真实项目进行经验评估。我们还对两个开源数据库项目SQLite和PostgreSQL进行了评估,以测试我们工具的可扩展性,因为嵌入式软件项目的规模通常并不大,平均5K-50K行代码。根据我们的实验结果,一般而言,商业嵌入式软件中超过90%的功能实现了100%的语句,分支,MC / DC覆盖率,SQLite中超过80%的功能实现了100%的MC / DC覆盖率,而超过60% PostgreSQL中%的功能实现了100%的MC / DC覆盖率。此外,SmartUnit能够在单元测试级别找到运行时异常。我们还报告了SQLite中的异常,例如数组索引超出范围和被零除。此外,我们分析了在我们的环境中自动单元测试覆盖率低的原因,并针对工业中的自动单元测试对手动单元测试的情况进行了调查。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号