Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2642937.2642951acmconferencesArticle/Chapter ViewAbstractPublication PagesaseConference Proceedingsconference-collections
research-article

Targeted test input generation using symbolic-concrete backward execution

Published: 15 September 2014 Publication History

Abstract

Knowing inputs that cover a specific branch or statement in a program is useful for debugging and regression testing. Symbolic backward execution (SBE) is a natural approach to find such targeted inputs. However, SBE struggles with complicated arithmetic, external method calls, and data-dependent loops that occur in many real-world programs. We propose symcretic execution, a novel combination of SBE and concrete forward execution that can efficiently find targeted inputs despite these challenges. An evaluation of our approach on a range of test cases shows that symcretic execution finds inputs in more cases than concolic testing tools while exploring fewer path segments. Integration of our approach will allow test generation tools to fill coverage gaps and static bug detectors to verify candidate bugs with concrete test cases.

References

[1]
C. Andersson and P. Runeson. A replicated quantitative analysis of fault distributions in complex software systems. IEEE Trans. Softw. Eng., 33(5), 2007.
[2]
R. S. Boyer, B. Elspas, and K. N. Levitt. Select---a formal system for testing and debugging programs by symbolic execution. SIGPLAN Not., 10(6), Apr. 1975.
[3]
S. Chandra, S. J. Fink, and M. Sridharan. Snugglebug: a powerful approach to weakest preconditions. In PLDI, 2009.
[4]
F. Charreteur and A. Gotlieb. Constraint-based test input generation for java bytecode. In ISSRE, 2010.
[5]
L. M. de Moura and N. Bjørner. Z3: An efficient SMT solver. In TACAS, 2008.
[6]
P. Dinges and G. Agha. Solving complex path conditions through heuristic search on induced polytopes. In SIGSOFT FSE, 2014.
[7]
T. Do, A. C. M. Fong, and R. Pears. Precise guidance to dynamic test generation. In ENASE, 2012.
[8]
J. Dolby, S. J. Fink, and M. Sridharan. T. J. Watson libraries for analysis (WALA). http://wala.sf.net.
[9]
N. E. Fenton and N. Ohlsson. Quantitative analysis of faults and failures in a complex software system. IEEE Trans. Softw. Eng., 26(8), 2000.
[10]
G. Fraser and A. Arcuri. Evosuite: automatic test suite generation for object-oriented software. In SIGSOFT FSE 2011. ACM, 2011.
[11]
G. Fraser, M. Staats, P. McMinn, A. Arcuri, and F. Padberg. Does automated white-box test generation really help software testers? In M. Pezzé and M. Harman, editors, ISSTA. ACM, 2013.
[12]
P. Godefroid, N. Klarlund, and K. Sen. Dart: directed automated random testing. In PLDI, 2005.
[13]
M. Gómez-Zamalloa, E. Albert, and G. Puebla. Test case generation for object-oriented imperative languages in clp. TPLP, 10(4--6), 2010.
[14]
B. Korel. Automated software test data generation. IEEE Trans. Softw. Eng., 16(8), 1990.
[15]
K.-K. Ma, Y. P. Khoo, J. S. Foster, and M. Hicks. Directed symbolic execution. In SAS, 2011.
[16]
R. Manevich, M. Sridharan, S. Adams, M. Das, and Z. Yang. PSE: explaining program failures via postmortem static analysis. In SIGSOFT FSE, 2004.
[17]
P. McMinn. Search-based software test data generation: a survey. Softw. Test., Verif. Reliab., 14(2), 2004.
[18]
C. S. Pasareanu and N. Rungta. Symbolic PathFinder: symbolic execution of java bytecode. In ASE 2010. ACM, 2010.
[19]
K. Sen and G. Agha. CUTE and jCUTE: Concolic unit testing and explicit path model-checking tools. In CAV 2006, volume 4144 of LNCS. Springer, 2006.
[20]
K. Sen, D. Marinov, and G. Agha. CUTE: a concolic unit testing engine for C. In SIGSOFT FSE, 2005.
[21]
N. Tillmann and J. de Halleux. Pex-white box test generation for .NET. In TAP 2008, volume 4966 of LNCS. Springer, 2008.
[22]
F. Tip. A survey of program slicing techniques. J. Prog. Lang., 3(3), 1995.
[23]
Z. Xu and G. Rothermel. Directed test suite augmentation. In S. Sulaiman and N. M. M. Noor, editors, APSEC. IEEE Computer Society, 2009.
[24]
C. Zamfir and G. Candea. Execution synthesis: a technique for automated software debugging. In EuroSys, 2010.

Cited By

View all
  • (2024)Precisely Extracting Complex Variable Values from Android AppsACM Transactions on Software Engineering and Methodology10.1145/364959133:5(1-56)Online publication date: 4-Jun-2024
  • (2023)An Approach of Improving the Efficiency of Software Fault Localization based on Feedback Ranking InformationApplied Sciences10.3390/app13181035113:18(10351)Online publication date: 15-Sep-2023
  • (2023)Alligator in Vest: A Practical Failure-Diagnosis Framework via Arm Hardware FeaturesProceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3597926.3598106(917-928)Online publication date: 12-Jul-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ASE '14: Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering
September 2014
934 pages
ISBN:9781450330138
DOI:10.1145/2642937
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 the author(s) 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: 15 September 2014

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. backward execution
  2. concolic
  3. goal-directed
  4. symcretic

Qualifiers

  • Research-article

Funding Sources

Conference

ASE '14
Sponsor:

Acceptance Rates

ASE '14 Paper Acceptance Rate 82 of 337 submissions, 24%;
Overall Acceptance Rate 82 of 337 submissions, 24%

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)69
  • Downloads (Last 6 weeks)3
Reflects downloads up to 22 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Precisely Extracting Complex Variable Values from Android AppsACM Transactions on Software Engineering and Methodology10.1145/364959133:5(1-56)Online publication date: 4-Jun-2024
  • (2023)An Approach of Improving the Efficiency of Software Fault Localization based on Feedback Ranking InformationApplied Sciences10.3390/app13181035113:18(10351)Online publication date: 15-Sep-2023
  • (2023)Alligator in Vest: A Practical Failure-Diagnosis Framework via Arm Hardware FeaturesProceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3597926.3598106(917-928)Online publication date: 12-Jul-2023
  • (2023)1dFuzz: Reproduce 1-Day Vulnerabilities with Directed Differential FuzzingProceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3597926.3598102(867-879)Online publication date: 12-Jul-2023
  • (2023)Improving Bit-Blasting for Nonlinear Integer ConstraintsProceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3597926.3598034(14-25)Online publication date: 12-Jul-2023
  • (2023)When to Let the Developer Guide: Trade-offs Between Open and Guided Test Amplification2023 IEEE 23rd International Working Conference on Source Code Analysis and Manipulation (SCAM)10.1109/SCAM59687.2023.00032(231-241)Online publication date: 2-Oct-2023
  • (2023)Targeted Symbolic Execution for UAF Vulnerabilities2023 7th International Conference on System Reliability and Safety (ICSRS)10.1109/ICSRS59833.2023.10381130(282-289)Online publication date: 22-Nov-2023
  • (2022)Combining static analysis error traces with dynamic symbolic execution (experience paper)Proceedings of the 31st ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3533767.3534384(568-579)Online publication date: 18-Jul-2022
  • (2022)WindArms: More Efficient DGF Coverage-Guided Tracing2022 IEEE 22nd International Conference on Communication Technology (ICCT)10.1109/ICCT56141.2022.10073335(1293-1299)Online publication date: 11-Nov-2022
  • (2022)Profile-driven memory bandwidth management for accelerators and CPUs in QoS-enabled platformsReal-Time Systems10.1007/s11241-022-09382-x58:3(235-274)Online publication date: 1-Sep-2022
  • 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