skip to main content
10.1145/1101908.1101969acmconferencesArticle/Chapter ViewAbstractPublication PagesaseConference Proceedingsconference-collections
Article

yagg: an easy-to-use generator for structured test inputs

Published: 07 November 2005 Publication History

Abstract

Automated testing typically uses specifications to drive the generation of test inputs and/or the checking of program outputs. Many software systems have structurally complex inputs that cannot be adequately described using simple formalisms such as context-free grammars. In order to generate such inputs, many automated testing environments require the user to express the structure of the input using an unfamiliar formal notation. This raises the cost of employing automated testing, thereby offsetting the benefits gained. We present yagg (yet another generator-generator), a tool that allows the programmer to specify the input using a syntax very similar to that of LEX and YACC, widely used scanner and parser generators. yagg allows the user to bound the input space using several different techniques, and generates an input generator that systematically enumerates inputs. We evaluate the ease of use and performance of the tool relative to a model checker-based generator used in previous research. Our experiences indicate that yagg generators can be somewhat slower, but that the ease-of-use afforded by the familiar syntax may be attractive to users.

References

[1]
Jonathan A. Bauer and Alan B. Finger. Test plan generation using formal grammars. In Proceedings of the 4th International Conference on Software Engineering, pages 425--32, Munich, Germany, 17--19 September 1979. IEEE.
[2]
David Coppit, Jinlin Yang, Sarfraz Khurshid, Wei Le, and Kevin Sullivan. Software assurance by bounded exhaustive testing. IEEE Transactions on Software Engineering, 31(4):328--39, April 2005.
[3]
A. G. Duncan and J. S. Hutchison. Using attributed grammars to test designs and implementations. In Proceedings of the 5th International Conference on Software Engineering, pages 170--8, New York, NY, 9--12 March 1981. IEEE.
[4]
Daniel Jackson. Micromodels of software: Modelling and analysis with Alloy. URL: http://sdg.lcs.mit.edu/alloy/reference-manual.pdf
[5]
Daniel Jackson, I. Scheckter, and I. Shlyakhter. Alcoa: The Alloy constraint analyzer. In Proceedings of the 22nd International Conference on Software Engineering, pages 730--3, Limerick, Ireland, 4--11 June 2000. IEEE.
[6]
S. C. Johnson. YACC --- Yet another compiler-compiler. Computing Science Technical Report No. 32, Bell Laboratories, Murray Hill, N.J., 1975.
[7]
M. E. Lesk and E. Schmidt. Lex --- A lexical analyzer generator. Computing Science Technical Report No. 39, Bell Laboratories, Murray Hill, N.J., 1975.
[8]
Darko Marinov and Sarfraz Khurshid. TestEra: A novel framework for automated testing of Java programs. In Proceedings of the 16th IEEE Conference on Automated Software Engineering (ASE 2001), San Diego, CA, 26--29 November 2001. IEEE.
[9]
Peter M. Maurer. The design and implementation of a grammar-based data generator. Software Practice and Experience, 22(3):223--44, March 1992.
[10]
M. W. Moskewicz, C. F. Madigan, Y. Zhao, L. Zhang, and S. Malik. Chaff: Engineering an efficient SAT solver. In Proceedings of the 38th Design Automation Conference, pages 530--5, Las Vegas, Nevada, 18--22 June 2001.
[11]
P. Purdom. A sentence generator for testing parsers. BIT, 12(3):366--75, 1972.
[12]
W. E. Vesely, Joanne Dugan, Joseph Fragola, Joseph Minarick III, and Jan Railsback. Fault Tree Handbook with Aerospace Applications. National Aeronatics and Space Administration, August 2002.

Cited By

View all
  • (2023)Generating Conforming Programs with XsmithProceedings of the 22nd ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences10.1145/3624007.3624056(86-99)Online publication date: 22-Oct-2023
  • (2023)June: A Type Testability Transformation for Improved ATG PerformanceProceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3597926.3598055(274-284)Online publication date: 12-Jul-2023
  • (2023)Generating Class-Level Integration Tests Using Call Site InformationIEEE Transactions on Software Engineering10.1109/TSE.2022.320962549:4(2069-2087)Online publication date: 1-Apr-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ASE '05: Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering
November 2005
482 pages
ISBN:1581139934
DOI:10.1145/1101908
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 07 November 2005

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. bounded exhaustive testing
  2. grammar-based input generation

Qualifiers

  • Article

Conference

ASE05

Acceptance Rates

Overall Acceptance Rate 82 of 337 submissions, 24%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)8
  • Downloads (Last 6 weeks)0
Reflects downloads up to 08 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2023)Generating Conforming Programs with XsmithProceedings of the 22nd ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences10.1145/3624007.3624056(86-99)Online publication date: 22-Oct-2023
  • (2023)June: A Type Testability Transformation for Improved ATG PerformanceProceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3597926.3598055(274-284)Online publication date: 12-Jul-2023
  • (2023)Generating Class-Level Integration Tests Using Call Site InformationIEEE Transactions on Software Engineering10.1109/TSE.2022.320962549:4(2069-2087)Online publication date: 1-Apr-2023
  • (2023)NaturalFuzz: Natural Input Generation for Big Data Analytics2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE)10.1109/ASE56229.2023.00034(1592-1603)Online publication date: 11-Sep-2023
  • (2022)Automated Software Test Generation: Some Challenges, Solutions, and Recent AdvancesComputing and Software Science10.1007/978-3-319-91908-9_24(505-531)Online publication date: 11-Mar-2022
  • (2021)TAF: a Tool for Diverse and Constrained Test Case Generation2021 IEEE 21st International Conference on Software Quality, Reliability and Security (QRS)10.1109/QRS54544.2021.00042(311-321)Online publication date: Dec-2021
  • (2020)RIVER 2.0: an open-source testing framework using AI techniquesProceedings of the 1st ACM SIGSOFT International Workshop on Languages and Tools for Next-Generation Testing10.1145/3416504.3424335(13-18)Online publication date: 8-Nov-2020
  • (2020)Quickly generating diverse valid test inputs with reinforcement learningProceedings of the ACM/IEEE 42nd International Conference on Software Engineering10.1145/3377811.3380399(1410-1421)Online publication date: 27-Jun-2020
  • (2020)Well-informed Test Case Generation and Crash Reproduction2020 IEEE 13th International Conference on Software Testing, Validation and Verification (ICST)10.1109/ICST46399.2020.00054(424-426)Online publication date: Oct-2020
  • (2019)Semantic fuzzing with zestProceedings of the 28th ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3293882.3330576(329-340)Online publication date: 10-Jul-2019
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media