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

Boosting concolic testing via interpolation

Published: 18 August 2013 Publication History
  • Get Citation Alerts
  • Abstract

    Concolic testing has been very successful in automatically generating test inputs for programs. However one of its major limitations is path-explosion that limits the generation of high coverage inputs. Since its inception several ideas have been proposed to attack this problem from various angles: defining search heuristics that increase coverage, caching of function summaries, pruning of paths using static/dynamic information etc.
    We propose a new and complementary method based on interpolation, that greatly mitigates path-explosion by subsuming paths that can be guaranteed to not hit a bug. We discuss new challenges in using interpolation that arise specifically in the context of concolic testing. We experimentally evaluate our method with different search heuristics using Crest, a publicly available concolic tester.

    References

    [1]
    S. Anand, P. Godefroid, and N. Tillmann. Demand-Driven Compositional Symbolic Execution. In TACAS, pages 367–381, 2008.
    [2]
    P. Boonstoppel, C. Cadar, and D. R. Engler. RWset: Attacking Path Explosion in Constraint-Based Test Generation. In TACAS, pages 351–366, 2008.
    [3]
    J. Burnim and K. Sen. Heuristics for Scalable Dynamic Test Generation. In ASE, pages 443–446, 2008.
    [4]
    C. Cadar, D. Dunbar, and D. R. Engler. KLEE: Unassisted and Automatic Generation of High-Coverage Tests for Complex Systems Programs. In OSDI, pages 209–224, 2008.
    [5]
    C. Cadar, V. Ganesh, P. M. Pawlowski, D. L. Dill, and D. R. Engler. EXE: Automatically Generating Inputs of Death. In CCS, pages 322–335, 2006.
    [6]
    A. Cimatti, A. Griggio, and R. Sebastiani. Efficient interpolant generation in satisfiability modulo theories. In TACAS’08, pages 397–412, 2008.
    [7]
    W. Craig. Three uses of Herbrand-Gentzen theorem in relating model theory and proof theory. Journal of Symbolic Computation, 22, 1955.
    [8]
    P. Godefroid. Compositional dynamic test generation. In M. Hofmann and M. Felleisen, editors, 34th POPL, pages 47–54. ACM Press, 2007.
    [9]
    P. Godefroid, N. Klarlund, and K. Sen. DART: Directed Automated Random Testing. In PLDI, pages 213–223, 2005.
    [10]
    P. Godefroid, M. Y. Levin, and D. A. Molnar. Automated Whitebox Fuzz Testing. In NDSS, 2008.
    [11]
    J. Jaffar, J. Navas, and A. Santosa. Unbounded Symbolic Execution for Program Verification. In RV 2011, pages 396–411, 2011.
    [12]
    J. Jaffar, A. E. Santosa, and R. Voicu. An interpolation method for CLP traversal. In 15th CP, volume 5732 of LNCS. Springer, 2009.
    [13]
    J. Jaffar, Vijayaraghavan Murali, J. Navas, and A. Santosa. TRACER: A Symbolic Execution Tool for Verification. In CAV 2012, pages 758–766, 2012.
    [14]
    K. L. McMillan. Lazy annotation for program testing and verification. In T. Touili, B. Cook, and P. Jackson, editors, 22nd CAV, volume 6174 of LNCS, pages 104–118. Springer, 2010.
    [15]
    K. Sen, D. Marinov, and G. Agha. Cute: a concolic unit testing engine for c. In ESEC/FSE-13, pages 263–272, 2005.

    Cited By

    View all
    • (2023)Exhaustive Branch Coverage with TreeFrogProceedings of the 38th ACM/SIGAPP Symposium on Applied Computing10.1145/3555776.3577738(1716-1723)Online publication date: 27-Mar-2023
    • (2022)Enhancing Dynamic Symbolic Execution by Automatically Learning Search HeuristicsIEEE Transactions on Software Engineering10.1109/TSE.2021.310187048:9(3640-3663)Online publication date: 1-Sep-2022
    • (2022)Maximizing Branch Coverage with Constrained Horn ClausesTools and Algorithms for the Construction and Analysis of Systems10.1007/978-3-030-99527-0_14(254-272)Online publication date: 30-Mar-2022
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ESEC/FSE 2013: Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
    August 2013
    738 pages
    ISBN:9781450322379
    DOI:10.1145/2491411
    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: 18 August 2013

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Concolic testing
    2. interpolation
    3. symbolic execution

    Qualifiers

    • Research-article

    Conference

    ESEC/FSE'13
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 112 of 543 submissions, 21%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)17
    • Downloads (Last 6 weeks)2
    Reflects downloads up to 11 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2023)Exhaustive Branch Coverage with TreeFrogProceedings of the 38th ACM/SIGAPP Symposium on Applied Computing10.1145/3555776.3577738(1716-1723)Online publication date: 27-Mar-2023
    • (2022)Enhancing Dynamic Symbolic Execution by Automatically Learning Search HeuristicsIEEE Transactions on Software Engineering10.1109/TSE.2021.310187048:9(3640-3663)Online publication date: 1-Sep-2022
    • (2022)Maximizing Branch Coverage with Constrained Horn ClausesTools and Algorithms for the Construction and Analysis of Systems10.1007/978-3-030-99527-0_14(254-272)Online publication date: 30-Mar-2022
    • (2021)Toward optimal mc/dc test case generationProceedings of the 30th ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3460319.3464841(505-516)Online publication date: 11-Jul-2021
    • (2020)TracerX: Dynamic Symbolic Execution with Interpolation (Competition Contribution)Fundamental Approaches to Software Engineering10.1007/978-3-030-45234-6_28(530-534)Online publication date: 17-Apr-2020
    • (2019)SYMACProceedings of the 2nd International Conference on Computer Science and Software Engineering10.1145/3339363.3339379(126-131)Online publication date: 24-May-2019
    • (2019)Concolic testing with adaptively changing search heuristicsProceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3338906.3338964(235-245)Online publication date: 12-Aug-2019
    • (2019)Target-driven compositional concolic testing with function summary refinement for effective bug detectionProceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3338906.3338934(16-26)Online publication date: 12-Aug-2019
    • (2019)ProXray: Protocol Model Learning and Guided Firmware AnalysisIEEE Transactions on Software Engineering10.1109/TSE.2019.2939526(1-1)Online publication date: 2019
    • (2019)NutBaaS: A Blockchain-as-a-Service PlatformIEEE Access10.1109/ACCESS.2019.29419057(134422-134433)Online publication date: 2019
    • 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