HSTCG: State-Aware Simulink Model Test Case Generation With Heuristic Strategy

IF 5.6 1区 计算机科学 Q1 COMPUTER SCIENCE, SOFTWARE ENGINEERING IEEE Transactions on Software Engineering Pub Date : 2024-07-15 DOI:10.1109/TSE.2024.3428528
Zhuo Su;Zehong Yu;Dongyan Wang;Yixiao Yang;Rui Wang;Wanli Chang;Aiguo Cui;Yu Jiang
{"title":"HSTCG: State-Aware Simulink Model Test Case Generation With Heuristic Strategy","authors":"Zhuo Su;Zehong Yu;Dongyan Wang;Yixiao Yang;Rui Wang;Wanli Chang;Aiguo Cui;Yu Jiang","doi":"10.1109/TSE.2024.3428528","DOIUrl":null,"url":null,"abstract":"Simulink has gained widespread recognition as a valuable tool for system design. As systems grow increasingly complex, particularly in terms of their internal states, this complexity poses new challenges for existing model testing methodologies. Traditional techniques such as constraint solving and random search encounter difficulties when attempting to explore the intricate logic embedded within these models. In this paper, we introduce \n<monospace>HSTCG</monospace>\n, a state-aware test case generation method for Simulink models with heuristic strategy. \n<monospace>HSTCG</monospace>\n solves only one iteration of the model each time to get the test input that can cover a target branch, then executes the model once to obtain and update the new model state based on the solved input dynamically. Then, it solves the remaining branches based on the new model state iteratively until all the coverage requirements are satisfied. To improve the efficiency of test case generation, we also designed a heuristic strategy containing heuristic branch searching, repeated state filter and unreached branch filter to minimize the times of constraint solving. We implemented \n<monospace>HSTCG</monospace>\n and evaluated it on several benchmark Simulink models. Compared to the built-in Simulink Design Verifier and state-of-the-art academic work SimCoTest, \n<monospace>HSTCG</monospace>\n achieves an average improvement of 55% and 103% on Decision Coverage, 53% and 62% on Condition Coverage and 192% and 201% on Modified Condition Decision Coverage, respectively. We also validated the significant improvement of the heuristic strategy, which can improve the efficiency of test case generation by 62.2% on average.","PeriodicalId":13324,"journal":{"name":"IEEE Transactions on Software Engineering","volume":"50 12","pages":"3088-3103"},"PeriodicalIF":5.6000,"publicationDate":"2024-07-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"IEEE Transactions on Software Engineering","FirstCategoryId":"94","ListUrlMain":"https://ieeexplore.ieee.org/document/10599334/","RegionNum":1,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q1","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
引用次数: 0

Abstract

Simulink has gained widespread recognition as a valuable tool for system design. As systems grow increasingly complex, particularly in terms of their internal states, this complexity poses new challenges for existing model testing methodologies. Traditional techniques such as constraint solving and random search encounter difficulties when attempting to explore the intricate logic embedded within these models. In this paper, we introduce HSTCG , a state-aware test case generation method for Simulink models with heuristic strategy. HSTCG solves only one iteration of the model each time to get the test input that can cover a target branch, then executes the model once to obtain and update the new model state based on the solved input dynamically. Then, it solves the remaining branches based on the new model state iteratively until all the coverage requirements are satisfied. To improve the efficiency of test case generation, we also designed a heuristic strategy containing heuristic branch searching, repeated state filter and unreached branch filter to minimize the times of constraint solving. We implemented HSTCG and evaluated it on several benchmark Simulink models. Compared to the built-in Simulink Design Verifier and state-of-the-art academic work SimCoTest, HSTCG achieves an average improvement of 55% and 103% on Decision Coverage, 53% and 62% on Condition Coverage and 192% and 201% on Modified Condition Decision Coverage, respectively. We also validated the significant improvement of the heuristic strategy, which can improve the efficiency of test case generation by 62.2% on average.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
HSTCG:采用启发式策略生成状态感知 Simulink 模型测试用例
作为一种有价值的系统设计工具,Simulink已经获得了广泛的认可。随着系统变得越来越复杂,特别是就其内部状态而言,这种复杂性对现有的模型测试方法提出了新的挑战。约束求解和随机搜索等传统技术在试图探索这些模型中嵌入的复杂逻辑时会遇到困难。本文介绍了一种基于启发式策略的Simulink模型状态感知测试用例生成方法——HSTCG。HSTCG每次只求解模型的一次迭代,以获得能够覆盖目标分支的测试输入,然后执行模型一次,根据求解的输入动态地获取和更新新的模型状态。然后,根据新的模型状态迭代求解剩余的分支,直到满足所有的覆盖需求。为了提高测试用例生成的效率,设计了包含启发式分支搜索、重复状态过滤和未达分支过滤的启发式策略,最大限度地减少了约束求解的次数。我们实现了HSTCG,并在几个基准Simulink模型上对其进行了评估。与内置的Simulink设计验证器和最先进的学术工作SimCoTest相比,HSTCG在决策覆盖率上的平均提高分别为55%和103%,在条件覆盖率上的平均提高为53%和62%,在修改条件决策覆盖率上的平均提高为192%和201%。我们还验证了启发式策略的显著改进,它可以将测试用例生成的效率平均提高62.2%。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
IEEE Transactions on Software Engineering
IEEE Transactions on Software Engineering 工程技术-工程:电子与电气
CiteScore
9.70
自引率
10.80%
发文量
724
审稿时长
6 months
期刊介绍: IEEE Transactions on Software Engineering seeks contributions comprising well-defined theoretical results and empirical studies with potential impacts on software construction, analysis, or management. The scope of this Transactions extends from fundamental mechanisms to the development of principles and their application in specific environments. Specific topic areas include: a) Development and maintenance methods and models: Techniques and principles for specifying, designing, and implementing software systems, encompassing notations and process models. b) Assessment methods: Software tests, validation, reliability models, test and diagnosis procedures, software redundancy, design for error control, and measurements and evaluation of process and product aspects. c) Software project management: Productivity factors, cost models, schedule and organizational issues, and standards. d) Tools and environments: Specific tools, integrated tool environments, associated architectures, databases, and parallel and distributed processing issues. e) System issues: Hardware-software trade-offs. f) State-of-the-art surveys: Syntheses and comprehensive reviews of the historical development within specific areas of interest.
期刊最新文献
NSGen: A Template-Based Framework to Find Bugs in Computer-Aided Engineering Tools Automated Test Validators for Flaky Cyber-Physical System Simulators: Approach and Evaluation Synthesis with Guided Environments TriagerX: Dual Transformers for Bug Triaging Tasks with Content and Interaction Based Rankings Towards Understanding Functional Bugs in EVM-based Blockchain Systems
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1