当前位置: X-MOL 学术Inf. Softw. Technol. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
MAESTRO: Automated test generation framework for high test coverage and reduced human effort in automotive industry
Information and Software Technology ( IF 3.8 ) Pub Date : 2019-11-06 , DOI: 10.1016/j.infsof.2019.106221
Yunho Kim , Dongju Lee , Junki Baek , Moonzoo Kim

Context

The importance of automotive software has been rapidly increasing because software controls many components of motor vehicles such as smart-key system, tire pressure monitoring system, and advanced driver assistance system. Consequently, the automotive industry spends a large amount of human effort to test automotive software and is interested in automated testing techniques to ensure high-quality automotive software with reduced human effort.

Objective

Applying automated test generation techniques to automotive software is technically challenging because of false alarms caused by imprecise test drivers/stubs and lack of tool supports for symbolic analysis of bit-fields and function pointers in C. To address such challenges, we have developed an automated testing framework MAESTRO.

Method

MAESTRO automatically builds a test driver and stubs for a target task (i.e., a software unit consisting of target functions). Then, it generates test inputs to a target task with the test driver and stubs by applying concolic testing and fuzzing together in an adaptive way. In addition, MAESTRO transforms a target program that uses bit-fields into a semantically equivalent one that does not use bit-fields. Also, MAESTRO supports symbolic function pointers by identifying the candidate functions of a symbolic function pointer through static analysis.

Results

MAESTRO achieved 94.2% branch coverage and 82.3% MC/DC coverage on the four target modules (238 KLOC) developed by Hyundai Mobis. Furthermore, it significantly reduced the cost of coverage testing by reducing the manual effort for coverage testing by 58.8%.

Conclusion

By applying automated testing techniques, MAESTRO can achieve high test coverage for automotive software with significantly reduced manual testing effort.



中文翻译:

MAESTRO:自动化的测试生成框架,可在汽车行业实现高测试覆盖率并减少人工工作

语境

汽车软件的重要性正在迅速提高,因为该软件控制着汽车的许多组件,例如智能钥匙系统,轮胎压力监测系统和高级驾驶员辅助系统。因此,汽车工业花费大量的人力来测试汽车软件,并且对自动测试技术感兴趣,以确保以较少的人力来确保高质量的汽车软件。

目的

由于不正确的测试驱动程序/存根(stub)导致错误警报,并且缺乏用于对C中的位域和功能指针进行符号分析的工具支持,因此将自动测试生成技术应用于汽车软件在技术上具有挑战性。为解决此类挑战,我们开发了一种自动化测试框架MAESTRO。

方法

MAESTRO自动为目标任务(即由目标功能组成的软件单元)构建测试驱动程序和存根。然后,通过以自适应方式一起应用标准测试和模糊测试,它使用测试驱动程序和存根生成对目标任务的测试输入。此外,MAESTRO将使用位域的目标程序转换为不使用位域的语义等效程序。此外,MAESTRO通过静态分析识别符号函数指针的候选函数,从而支持符号函数指针。

结果

MAESTRO在现代摩比斯开发的四个目标模块(238 KLOC)上实现了94.2%的分支覆盖率和82.3%的MC / DC覆盖率。此外,它通过将覆盖测试的手动工作量减少了58.8%,大大降低了覆盖测试的成本。

结论

通过应用自动化测试技术,MAESTRO可以大大减少手动测试工作,从而实现汽车软件的高测试覆盖率。

更新日期:2019-11-06
down
wechat
bug