skip to main content
10.1145/2723742.2723768acmotherconferencesArticle/Chapter ViewAbstractPublication PagesisecConference Proceedingsconference-collections
invited-talk

Automated Test Generation Using Concolic Testing

Published: 18 February 2015 Publication History

Abstract

In this talk, I will talk about the recent advances and challenges in concolic testing and symbolic execution. Concolic testing, also known as directed automated random testing (DART) or dynamic symbolic execution, is an efficient way to automatically and systematically generate test inputs for programs. Concolic testing uses a combination of runtime symbolic execution and automated theorem proving techniques to generate automatically non-redundant and exhaustive test inputs. Concolic testing has inspired the development of several industrial and academic automated testing and security tools such as PEX, SAGE, and YOGI at Microsoft, Apollo at IBM, Conbol at Samsung, and CUTE, jCUTE, CATG, Jalangi, SPLAT, BitBlaze, jFuzz, Oasis, and SmartFuzz in academia. A central reason behind the wide adoption of concolic testing is that, while concolic testing uses program analysis and automated theorem proving techniques internally, it exposes a testing usage model that is familiar to most software developers.
A key challenge in concolic testing techniques is scalability for large realistic programs---often the number of feasible execution paths of a program increases exponentially with the increase in the length of an execution path. I will describe MultiSE, a new technique for merging states incrementally during symbolic execution, without using auxiliary variables. The key idea of MultiSE is based on an alternative representation of the state, where we map each variable, including the program counter, to a set of guarded symbolic expressions called a value summary. MultiSE has several advantages over conventional DSE and state merging techniques: 1) value summaries enable sharing of symbolic expressions and path constraints along multiple paths, 2) value-summaries avoid redundant execution, 3) MultiSE does not introduce auxiliary symbolic values, which enables it to make progress even when merging values not supported by the constraint solver, such as floating point or function values. We have implemented MultiSE for JavaScript programs in a publicly available open-source tool . Our evaluation of MultiSE on several programs shows that MultiSE can run significantly faster than traditional symbolic execution.

Cited By

View all
  • (2020)Model checking boot code from AWS data centersFormal Methods in System Design10.1007/s10703-020-00344-2Online publication date: 15-Apr-2020
  • (2018)Model Checking Boot Code from AWS Data CentersComputer Aided Verification10.1007/978-3-319-96142-2_28(467-486)Online publication date: 18-Jul-2018
  • (2017)Green DRCTInternational Journal of Knowledge Discovery in Bioinformatics10.4018/IJKDB.20170101027:1(14-29)Online publication date: Jan-2017
  • Show More Cited By

Index Terms

  1. Automated Test Generation Using Concolic Testing

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Other conferences
    ISEC '15: Proceedings of the 8th India Software Engineering Conference
    February 2015
    207 pages
    ISBN:9781450334327
    DOI:10.1145/2723742
    Permission to make digital or hard copies of part or all 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 third-party components of this work must be honored. For all other uses, contact the Owner/Author.

    In-Cooperation

    • iSOFT: iSOFT
    • ACM India: ACM India

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 18 February 2015

    Check for updates

    Author Tag

    1. Automated Test Generation

    Qualifiers

    • Invited-talk
    • Research
    • Refereed limited

    Conference

    ISEC '15
    ISEC '15: 8th India Software Engineering Conference
    February 18 - 20, 2015
    Bangalore, India

    Acceptance Rates

    Overall Acceptance Rate 76 of 315 submissions, 24%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

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

    Other Metrics

    Citations

    Cited By

    View all
    • (2020)Model checking boot code from AWS data centersFormal Methods in System Design10.1007/s10703-020-00344-2Online publication date: 15-Apr-2020
    • (2018)Model Checking Boot Code from AWS Data CentersComputer Aided Verification10.1007/978-3-319-96142-2_28(467-486)Online publication date: 18-Jul-2018
    • (2017)Green DRCTInternational Journal of Knowledge Discovery in Bioinformatics10.4018/IJKDB.20170101027:1(14-29)Online publication date: Jan-2017
    • (2016)An Automated Analysis of the Branch Coverage and Energy Consumption Using Concolic TestingArabian Journal for Science and Engineering10.1007/s13369-016-2284-242:2(619-637)Online publication date: 27-Aug-2016

    View Options

    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