Search-Based Test Input Generation for String Data Types Using the Results of Web Queries
- 1 April 2012
- conference paper
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE) in 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation
- p. 141-150
- https://doi.org/10.1109/icst.2012.94
Abstract
Generating realistic, branch-covering string inputs is a challenging problem, due to the diverse and complex types of real-world data that are naturally encodable as strings, for example resource locators, dates of different localised formats, international banking codes, and national identity numbers. This paper presents an approach in which examples of inputs are sought from the Internet by reformulating program identifiers into web queries. The resultant URLs are downloaded, split into tokens, and used to augment and seed a search-based test data generation technique. The use of the Internet as part of test input generation has two key advantages. Firstly, web pages are a rich source of valid inputs for various types of string data that may be used to improve test coverage. Secondly, the web pages tend to contain realistic, human-readable values, which are invaluable when test cases need manual confirmation due to the lack of an automated oracle. An empirical evaluation of the approach is presented, involving string input validation code from 10 open source projects. Well-formed, valid string inputs were retrieved from the web for 96% of the different string types analysed. Using the approach, coverage was improved for 75% of the Java classes studied by an average increase of 14%.Keywords
This publication has 20 references indexed in Scilit:
- Automatically generating realistic test input from web servicesPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2011
- Improving identifier informativeness using part of speech informationPublished by Association for Computing Machinery (ACM) ,2011
- HAMPI: A String Solver for Testing, Analysis and Vulnerability DetectionLecture Notes in Computer Science, 2011
- Reducing qualitative human oracle costs associated with automatically generated test dataPublished by Association for Computing Machinery (ACM) ,2010
- A Symbolic Execution Framework for JavaScriptPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2010
- A Theoretical and Empirical Study of Search-Based Testing: Local, Global, and Hybrid SearchIEEE Transactions on Software Engineering, 2009
- Reggae: Automated Test Generation for Programs Using Complex Regular ExpressionsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2009
- Pex–White Box Test Generation for .NETLecture Notes in Computer Science, 2008
- Search‐based software test data generation for string data using program‐specific search operatorsSoftware Testing, Verification and Reliability, 2006
- Search‐based software test data generation: a surveySoftware Testing, Verification and Reliability, 2004