<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/oai-pmh.xsl"?>
<OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/ http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd">
  <responseDate>2026-09-19T07:09:55Z</responseDate>
  <request identifier="oai:www.ideals.illinois.edu:2142/72743" metadataPrefix="etdms" verb="GetRecord">https://www.ideals.illinois.edu/oai-pmh</request>
  <GetRecord>
    <record>
      <header>
        <identifier>oai:www.ideals.illinois.edu:2142/72743</identifier>
        <datestamp>2023-07-11</datestamp>
        <setSpec>col_2142_5131</setSpec>
        <setSpec>col_2142_10761</setSpec>
        <setSpec>com_2142_5130</setSpec>
        <setSpec>com_2142_10755</setSpec>
        <setSpec>com_2142_234</setSpec>
      </header>
      <metadata>
        <thesis xmlns="http://www.ndltd.org/standards/metadata/etdms/1.1/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dc="http://purl.org/dc/elements/1.1/" xsi:schemaLocation="http://www.ndltd.org/standards/metadata/etdms/1.1/ http://www.ndltd.org/standards/metadata/etdms/1.1/etdms11.xsd http://purl.org/dc/elements/1.1/ http://www.ndltd.org/standards/metadata/etdms/1.1/etdmsdc.xsd">
          <dc:subject>Heuristic Search</dc:subject>
          <dc:title>Symcretic testing of programs</dc:title>
          <dc:contributor>Agha, Gul A.</dc:contributor>
          <dc:contributor>Agha, Gul A.</dc:contributor>
          <dc:contributor>Adve, Vikram S.</dc:contributor>
          <dc:contributor>Dig, Danny</dc:contributor>
          <dc:contributor>Sirjani, Marjan</dc:contributor>
          <dc:creator>Dinges, Peter</dc:creator>
          <dc:date>2015-01-21T19:47:36Z</dc:date>
          <dc:date>2015-01-21T19:47:36Z</dc:date>
          <dc:date>2014-12</dc:date>
          <dc:date>2015-01-21</dc:date>
          <dc:date>2014-12</dc:date>
          <dc:description>Targeted inputs are input values for a program that lead to the
execution of a user-specified branch or statement.  Targeted inputs
are useful: In debugging, for example, they allow programmers to
follow the execution towards the program point where a bug occurred.
In testing, they constitute a test case that covers a new piece of
code.  A natural approach to find targeted inputs is symbolic backward
execution.  However, symbolic backward execution struggles with
complicated arithmetic, external method calls, and data-dependent
loops that occur in many real-world programs.
This dissertation describes symcretic execution, a novel method for
efficiently finding targeted inputs.  Symcretic execution overcomes
the limitations of symbolic backward execution by integrating it with
concrete forward execution.  The approach consists of two phases: In
its first phase, symcretic execution uses symbolic backward execution
to find a feasible execution path from the given target to any of the
program's entry points.  Unlike prior approaches, symcretic execution
skips over constraints that are problematic for the symbolic decision
procedure and defers their solution until the second phase.  The
second phase of symcretic execution begins when the symbolic execution
reaches an entry point.  In this phase, symcretic execution uses
concrete forward execution and heuristic search to find inputs that
satisfy the constraints that were skipped in the first phase.  A
comparison with related approaches and an empirical evaluation suggest
that symcretic execution finds more inputs that result in relevant
executions while avoiding the exploration of uninteresting paths.
The heuristic search algorithm employed in the second phase of
symcretic execution must be able to handle complicated arithmetic and
external method calls.  The dissertation therefore introduces an
algorithm called concolic walk.  The concolic walk algorithm also
applies to solving path conditions in customary symbolic and concolic
execution and is thus presented in this more general setting.  The
concolic walk algorithm is a heuristic search based on a geometric
interpretation of the task of finding inputs.  An evaluation of the
algorithm shows that it finds more solutions (and hence improves
coverage) than the simplification-based heuristics that have been used
in concolic testing.  Moreover, the concolic walk algorithm improves
the effectiveness of state-of-the-art concolic test generators that
are using powerful specialized constraint solvers.</dc:description>
          <dc:description>Item withdrawn by Laura Spradlin (lspradl2@illinois.edu) on 2014-11-26T17:21:17Z
Item was in collections:
University of Illinois Theses &amp; Dissertations (ID: 1)
No. of bitstreams: 1
Dinges_Peter.pdf: 907439 bytes, checksum: 47ff1c4b70f50e4661dea3f99e5f76b6 (MD5)</dc:description>
          <dc:description>Made available in DSpace on 2015-01-21T19:47:36Z (GMT). No. of bitstreams: 1
Peter_Dinges.pdf: 907439 bytes, checksum: 47ff1c4b70f50e4661dea3f99e5f76b6 (MD5)</dc:description>
          <dc:identifier>http://hdl.handle.net/2142/72743</dc:identifier>
          <dc:language>en</dc:language>
          <dc:rights>Copyright 2014 Peter Dinges</dc:rights>
          <dc:subject>Software Testing</dc:subject>
          <dc:subject>Concolic Execution</dc:subject>
          <dc:subject>Backward Execution</dc:subject>
          <dc:subject>Goal-Directed</dc:subject>
          <dc:type>text</dc:type>
          <degree>
            <department>Computer Science</department>
            <departmentCode>1434</departmentCode>
            <discipline>Computer Science</discipline>
            <disciplineCode>0112</disciplineCode>
            <grantor>University of Illinois at Urbana-Champaign</grantor>
            <level>Dissertation</level>
            <name>Ph.D.</name>
            <program>PHD:Computer Science -UIUC</program>
            <programCode>10KS0112PHD</programCode>
          </degree>
        </thesis>
      </metadata>
    </record>
  </GetRecord>
</OAI-PMH>
