A solver-aided language for test input generation

Author:

Ringer Talia1,Grossman Dan1,Schwartz-Narbonne Daniel2,Tasiran Serdar2

Affiliation:

1. University of Washington, USA

2. Amazon, USA

Abstract

Developing a small but useful set of inputs for tests is challenging. We show that a domain-specific language backed by a constraint solver can help the programmer with this process. The solver can generate a set of test inputs and guarantee that each input is different from other inputs in a way that is useful for testing. This paper presents Iorek: a tool that empowers the programmer with the ability to express to any SMT solver what it means for inputs to be different. The core of Iorek is a rich language for constraining the set of inputs, which includes a novel bounded enumeration mechanism that makes it easy to define and encode a flexible notion of difference over a recursive structure. We demonstrate the flexibility of this mechanism for generating strings. We use Iorek to test real services and find that it is effective at finding bugs. We also build Iorek into a random testing tool and show that it increases coverage.

Funder

NSF

Publisher

Association for Computing Machinery (ACM)

Subject

Safety, Risk, Reliability and Quality,Software

Reference45 articles.

1. Saswat Anand Corina S. Păsăreanu and Willem Visser. 2006. Symbolic Execution with Abstract Subsumption Checking (SPIN). 10.1007/11691617_10 Saswat Anand Corina S. Păsăreanu and Willem Visser. 2006. Symbolic Execution with Abstract Subsumption Checking (SPIN). 10.1007/11691617_10

2. Saswat Anand Corina S. Păsăreanu and Willem Visser. 2007. JPF-SE: A Symbolic Execution Extension to Java PathFinder (TACAS). Saswat Anand Corina S. Păsăreanu and Willem Visser. 2007. JPF-SE: A Symbolic Execution Extension to Java PathFinder (TACAS).

3. Clark Barrett Roberto Sebastiani Sanjit A. Seshia and Cesare Tinelli. 2008a. Handbook of Satisfiability. Chapter Satisfiability Modulo Theories 127–149. Clark Barrett Roberto Sebastiani Sanjit A. Seshia and Cesare Tinelli. 2008a. Handbook of Satisfiability. Chapter Satisfiability Modulo Theories 127–149.

4. Clark Barrett Roberto Sebastiani Sanjit A. Seshia and Cesare Tinelli. 2008b. Handbook of Satisfiability. Chapter Satisfiability Modulo Theories 737–797. Clark Barrett Roberto Sebastiani Sanjit A. Seshia and Cesare Tinelli. 2008b. Handbook of Satisfiability. Chapter Satisfiability Modulo Theories 737–797.

5. Nikolaj Bjørner Vijay Ganesh Raphaël Michel and Margus Veanes. 2012. An SMT-LIB format for sequences and regular expressions (SMT Workshop). Nikolaj Bjørner Vijay Ganesh Raphaël Michel and Margus Veanes. 2012. An SMT-LIB format for sequences and regular expressions (SMT Workshop).

Cited by 8 articles. 订阅此论文施引文献 订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献

1. June: A Type Testability Transformation for Improved ATG Performance;Proceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis;2023-07-12

2. REACH: Refining Alloy Scenarios by Size (Tools and Artifact Track);2022 IEEE 33rd International Symposium on Software Reliability Engineering (ISSRE);2022-10

3. ExeBench: an ML-scale dataset of executable C functions;Proceedings of the 6th ACM SIGPLAN International Symposium on Machine Programming;2022-06-13

4. Helmholtz: A Verifier for Tezos Smart Contracts Based on Refinement Types;New Generation Computing;2022-05-27

5. Programming and execution models for parallel bounded exhaustive testing;Proceedings of the ACM on Programming Languages;2021-10-20

同舟云学术

1.学者识别学者识别

2.学术分析学术分析

3.人才评估人才评估

"同舟云学术"是以全球学者为主线,采集、加工和组织学术论文而形成的新型学术文献查询和分析系统,可以对全球学者进行文献检索和人才价值评估。用户可以通过关注某些学科领域的顶尖人物而持续追踪该领域的学科进展和研究前沿。经过近期的数据扩容,当前同舟云学术共收录了国内外主流学术期刊6万余种,收集的期刊论文及会议论文总量共计约1.5亿篇,并以每天添加12000余篇中外论文的速度递增。我们也可以为用户提供个性化、定制化的学者数据。欢迎来电咨询!咨询电话:010-8811{复制后删除}0370

www.globalauthorid.com

TOP

Copyright © 2019-2024 北京同舟云网络信息技术有限公司
京公网安备11010802033243号  京ICP备18003416号-3