MiMIs: Simple, Efficient, and Fast Bounded-Exhaustive Test Case Generators

Kyle Dewey, Shant Hairapetian, M. Gavrilov
{"title":"MiMIs: Simple, Efficient, and Fast Bounded-Exhaustive Test Case Generators","authors":"Kyle Dewey, Shant Hairapetian, M. Gavrilov","doi":"10.1109/icst46399.2020.00016","DOIUrl":null,"url":null,"abstract":"Bounded-exhaustive test case generators are important bug-finding tools, epitomized with tools like Korat, UDITA, and SciFe. All such tools are practically limited by scale; a given testing problem may be too large to generate all tests within reasonable time, or prohibitive amounts of memory may be required for this generation. The tools themselves may have lengthy implementations which hide their own bugs, or they may require users to familiarize themselves with many operations. In this paper, we strive to push the boundaries of what test case generators can scale to, while preserving a simple implementation and user interface. To this end, we introduce a novel programming abstraction: Memoized Monadic Iterators (MiMIs). MiMIs combine the disparate ideas of ASTGen’s iterators, LogicT’s additive monad interface, and SciFe’s memoization into a single coherent programming abstraction. Our evaluation shows that MiMIs are typically faster than the state of the art with orders of magnitude less memory used, and that MiMIs overall scale better to big testing problems than any competitor. Thanks to their fundamental design, MiMIs are implemented in under 200 LOC (compared to thousands with most competitors), and require users to familiarize themselves with collectively only 7 operations and types (less than half as many as the state of the art), all without sacrificing generator conciseness.","PeriodicalId":235967,"journal":{"name":"2020 IEEE 13th International Conference on Software Testing, Validation and Verification (ICST)","volume":"303 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2020-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2020 IEEE 13th International Conference on Software Testing, Validation and Verification (ICST)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/icst46399.2020.00016","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1

Abstract

Bounded-exhaustive test case generators are important bug-finding tools, epitomized with tools like Korat, UDITA, and SciFe. All such tools are practically limited by scale; a given testing problem may be too large to generate all tests within reasonable time, or prohibitive amounts of memory may be required for this generation. The tools themselves may have lengthy implementations which hide their own bugs, or they may require users to familiarize themselves with many operations. In this paper, we strive to push the boundaries of what test case generators can scale to, while preserving a simple implementation and user interface. To this end, we introduce a novel programming abstraction: Memoized Monadic Iterators (MiMIs). MiMIs combine the disparate ideas of ASTGen’s iterators, LogicT’s additive monad interface, and SciFe’s memoization into a single coherent programming abstraction. Our evaluation shows that MiMIs are typically faster than the state of the art with orders of magnitude less memory used, and that MiMIs overall scale better to big testing problems than any competitor. Thanks to their fundamental design, MiMIs are implemented in under 200 LOC (compared to thousands with most competitors), and require users to familiarize themselves with collectively only 7 operations and types (less than half as many as the state of the art), all without sacrificing generator conciseness.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
mimi:简单、高效、快速的有界穷举测试用例生成器
有界穷举测试用例生成器是重要的bug查找工具,以Korat、UDITA和SciFe等工具为代表。所有这些工具实际上都受到规模的限制;给定的测试问题可能太大,无法在合理的时间内生成所有测试,或者可能需要大量的内存来生成测试。这些工具本身可能有冗长的实现,隐藏了它们自己的缺陷,或者它们可能需要用户熟悉许多操作。在本文中,我们努力推动测试用例生成器可以扩展到的边界,同时保持简单的实现和用户界面。为此,我们引入了一种新的编程抽象:记忆一元迭代器(MiMIs)。mimi将ASTGen的迭代器、LogicT的加性单接口和SciFe的记忆等不同的思想结合到一个统一的编程抽象中。我们的评估表明,mimi通常比目前的技术更快,使用的内存要少几个数量级,而且总的来说,mimi比任何竞争对手都更适合大型测试问题。由于它们的基本设计,mimi在200 LOC以下实现(与大多数竞争对手的数千LOC相比),并且要求用户熟悉总共只有7种操作和类型(不到现有技术的一半),所有这些都不会牺牲生成器的简洁性。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Checking Security Properties of Cloud Service REST APIs EC.LANG – A Language for Specifying Response Time Analyses of Event Chains Agent-based Testing of Extended Reality Systems One-click formal methods ICST 2020 Index
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1