Test generation for large automotive models

R. Venkatesh, U. Shrotri, P. Darke, P. Bokil
{"title":"Test generation for large automotive models","authors":"R. Venkatesh, U. Shrotri, P. Darke, P. Bokil","doi":"10.1109/ICIT.2012.6210014","DOIUrl":null,"url":null,"abstract":"Modeling tools such as Statemate, Simulink and Stateflow are widely used in the automotive industry to specify low level requirements and design. Systematic testing of models to achieve structural coverage such as state coverage, transition coverage or modified condition decision coverage (MCDC) helps in early defect detection. Automatic generation of test data can help in reducing the cost and improving the quality of systematic testing. Test data can be automatically generated either 1) directly from the models or 2) from the code generated from these models. In this paper we argue for and recommend the second approach. We propose generating test data from C, a formalism-independent intermediate language, as it is widely used in the embedded domain and most modeling tools have C code generators. Accurate representation of floating point number type is possible in C (that being the representation in the final executable) and there are various analysis tools that are available for C. A major challenge in using code to generate test data is scalability. To overcome this problem, we built a tool that combines available static slicing and model-checking techniques to generate test data. We conducted experiments to check if this tool can generate test data for large complex models from the automotive domain. To demonstrate formalism independence and scalability we chose industry size Statemate as well as Simulink/Stateflow models. The set up and the findings of these experiments are also presented in this paper. We successfully generated test data for code sizes as large as 50KLOC and detected several bugs in four already tested industry models thus proving the benefits of this approach.","PeriodicalId":365141,"journal":{"name":"2012 IEEE International Conference on Industrial Technology","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2012-03-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"18","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2012 IEEE International Conference on Industrial Technology","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICIT.2012.6210014","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 18

Abstract

Modeling tools such as Statemate, Simulink and Stateflow are widely used in the automotive industry to specify low level requirements and design. Systematic testing of models to achieve structural coverage such as state coverage, transition coverage or modified condition decision coverage (MCDC) helps in early defect detection. Automatic generation of test data can help in reducing the cost and improving the quality of systematic testing. Test data can be automatically generated either 1) directly from the models or 2) from the code generated from these models. In this paper we argue for and recommend the second approach. We propose generating test data from C, a formalism-independent intermediate language, as it is widely used in the embedded domain and most modeling tools have C code generators. Accurate representation of floating point number type is possible in C (that being the representation in the final executable) and there are various analysis tools that are available for C. A major challenge in using code to generate test data is scalability. To overcome this problem, we built a tool that combines available static slicing and model-checking techniques to generate test data. We conducted experiments to check if this tool can generate test data for large complex models from the automotive domain. To demonstrate formalism independence and scalability we chose industry size Statemate as well as Simulink/Stateflow models. The set up and the findings of these experiments are also presented in this paper. We successfully generated test data for code sizes as large as 50KLOC and detected several bugs in four already tested industry models thus proving the benefits of this approach.
大型汽车模型的测试生成
Statemate、Simulink和Stateflow等建模工具广泛应用于汽车行业,用于指定低级需求和设计。系统地测试模型以实现结构覆盖,例如状态覆盖、转换覆盖或修改条件决策覆盖(MCDC),有助于早期缺陷检测。测试数据的自动生成有助于降低成本,提高系统测试的质量。测试数据可以自动生成:1)直接从模型生成,或者2)从这些模型生成的代码生成。在本文中,我们论证并推荐第二种方法。我们建议用C语言生成测试数据,这是一种独立于形式的中间语言,因为它在嵌入式领域被广泛使用,而且大多数建模工具都有C代码生成器。浮点数类型的精确表示在C语言中是可能的(这是最终可执行文件中的表示),并且有各种各样的分析工具可用于C语言。使用代码生成测试数据的主要挑战是可伸缩性。为了克服这个问题,我们构建了一个工具,它结合了可用的静态切片和模型检查技术来生成测试数据。我们进行了实验,以检查该工具是否可以为汽车领域的大型复杂模型生成测试数据。为了展示形式独立性和可扩展性,我们选择了行业规模的Statemate以及Simulink/Stateflow模型。本文还介绍了这些实验的设置和结果。我们成功地为代码大小高达50KLOC的代码生成了测试数据,并在四个已经测试过的行业模型中检测到了几个bug,从而证明了这种方法的好处。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信