skip to main content
research-article

Extending a search-based test generator with adaptive dynamic symbolic execution

Published: 21 July 2014 Publication History

Abstract

Automatic unit test generation aims to support developers by alleviating the burden of test writing. Different techniques have been proposed over the years, each with distinct limitations. To overcome these limitations, we present an extension to the EvoSuite unit test generator that combines two of the most popular techniques for test case generation: Search-Based Software Testing (SBST) and Dynamic Symbolic Execution (DSE). A novel integration of DSE as a step of local improvement in a genetic algorithm results in an adaptive approach, such that the best test generation technique for the problem at hand is favoured, resulting in overall higher code coverage.

References

[1]
A. Arcuri. Theoretical analysis of local search in software testing. In Symposium on Stochastic Algorithms, Foundations and Applications (SAGA), pages 156–168, 2009.
[2]
L. De Moura and N. Bjørner. Z3: An efficient smt solver. In Tools and Algorithms for the Construction and Analysis of Systems, pages 337–340. Springer, 2008.
[3]
G. Fraser and A. Arcuri. EvoSuite: Automatic test suite generation for object-oriented software. In Foundations of Software Engineering (FSE), pages 416–419, 2011.
[4]
G. Fraser and A. Arcuri. Sound empirical evidence in software testing. In ACM/IEEE International Conference on Software Engineering (ICSE), pages 178–188, 2012.
[5]
G. Fraser and A. Arcuri. 1600 faults in 100 projects: Automatically finding faults while achieving high coverage with EvoSuite. Empirical Software Engineering (EMSE), 2013. (to appear).
[6]
G. Fraser and A. Arcuri. Evosuite at the SBST 2013 tool competition. In International Workshop on Search-Based Software Testing (SBST), pages 406–409, 2013.
[7]
G. Fraser and A. Arcuri. EvoSuite: On the challenges of test case generation in the real world (tool paper). In IEEE International Conference on Software Testing, Verification and Validation (ICST), pages 362–369, 2013.
[8]
G. Fraser and A. Arcuri. Whole test suite generation. IEEE Transactions on Software Engineering, 39(2):276–291, 2013.
[9]
G. Fraser and A. Zeller. Mutation-driven generation of unit tests and oracles. IEEE Transactions on Software Engineering, 28(2):278–292, 2012.
[10]
J. P. Galeotti, G. Fraser, and A. Arcuri. Improving search-based test suite generation with dynamic symbolic execution. In IEEE International Symposium on Software Reliability Engineering (ISSRE), pages 360–369, 2013.
[11]
C. Ghezzi, M. Jazayeri, and D. Mandrioli. Fundamentals of Software Engineering. Prentice Hall PTR, Upper Saddle River, NJ, USA, 2nd edition, 2002.
[12]
P. Godefroid, N. Klarlund, and K. Sen. Dart: directed automated random testing. In ACM Conference on Programming language design and implementation (PLDI), pages 213–223, 2005.
[13]
M. Harman and P. McMinn. A theoretical and empirical study of search based testing: Local, global and hybrid search. IEEE Transactions on Software Engineering, 36(2):226–247, 2010.
[14]
M. Islam and C. Csallner. Dsc+mock: A test case + mock class generator in support of coding against interfaces. In Int. Workshop on Dynamic Analysis (WODA), pages 26–31, 2010.
[15]
B. Korel. Automated software test data generation. IEEE Transactions on Software Engineering, pages 870–879, 1990.
[16]
P. McMinn. Search-based software test data generation: A survey. Software Testing, Verification and Reliability, 14(2):105–156, 2004.

Cited By

View all
  • (2023)A Critical Review on Search-Based Security Testing of ProgramsComputational Intelligence10.1007/978-981-19-7346-8_19(207-225)Online publication date: 16-Feb-2023
  • (2022)TackleTest: A Tool for Amplifying Test Generation via Type-Based Combinatorial Coverage2022 IEEE Conference on Software Testing, Verification and Validation (ICST)10.1109/ICST53961.2022.00050(444-455)Online publication date: Apr-2022
  • (2022)Grammatical Evolution Mapping for Semantically-Constrained Genetic ProgrammingGenetic Programming Theory and Practice XVIII10.1007/978-981-16-8113-4_3(45-62)Online publication date: 11-Feb-2022
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ISSTA 2014: Proceedings of the 2014 International Symposium on Software Testing and Analysis
July 2014
460 pages
ISBN:9781450326452
DOI:10.1145/2610384
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

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 21 July 2014

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Search based software engineering
  2. dynamic symbolic execution
  3. genetic algorithm
  4. test generation
  5. unit testing

Qualifiers

  • Research-article

Conference

ISSTA '14
Sponsor:

Acceptance Rates

Overall Acceptance Rate 58 of 213 submissions, 27%

Upcoming Conference

ISSTA '25

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)6
  • Downloads (Last 6 weeks)0
Reflects downloads up to 24 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2023)A Critical Review on Search-Based Security Testing of ProgramsComputational Intelligence10.1007/978-981-19-7346-8_19(207-225)Online publication date: 16-Feb-2023
  • (2022)TackleTest: A Tool for Amplifying Test Generation via Type-Based Combinatorial Coverage2022 IEEE Conference on Software Testing, Verification and Validation (ICST)10.1109/ICST53961.2022.00050(444-455)Online publication date: Apr-2022
  • (2022)Grammatical Evolution Mapping for Semantically-Constrained Genetic ProgrammingGenetic Programming Theory and Practice XVIII10.1007/978-981-16-8113-4_3(45-62)Online publication date: 11-Feb-2022
  • (2021)Enhancing Search-based Testing with Testability Transformations for Existing APIsACM Transactions on Software Engineering and Methodology10.1145/347727131:1(1-34)Online publication date: 28-Sep-2021
  • (2018)Search-based detection of deviation failures in the migration of legacy spreadsheet applicationsProceedings of the 27th ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3213846.3213861(266-275)Online publication date: 12-Jul-2018
  • (2018)Aiding comprehension of unit test cases and test suites with stereotype-based taggingProceedings of the 26th Conference on Program Comprehension10.1145/3196321.3196339(52-63)Online publication date: 28-May-2018
  • (2018)An effective approach for regression test case selection using pareto based multi-objective harmony searchProceedings of the 11th International Workshop on Search-Based Software Testing10.1145/3194718.3194722(13-20)Online publication date: 28-May-2018
  • (2018)Combining Search-Based Testing and Dynamic Symbolic Execution by Evolvability Metric2018 IEEE International Conference on Software Maintenance and Evolution (ICSME)10.1109/ICSME.2018.00015(59-68)Online publication date: Sep-2018
  • (2018)An Initial Step Towards Organ Transplantation Based on GitHub RepositoryIEEE Access10.1109/ACCESS.2018.28726696(59268-59281)Online publication date: 2018
  • (2017)Better test cases for better automated program repairProceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering10.1145/3106237.3106274(831-841)Online publication date: 21-Aug-2017
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media