<?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-20T02:12:25Z</responseDate>
  <request identifier="oai:www.ideals.illinois.edu:2142/42269" metadataPrefix="etdms" verb="GetRecord">https://www.ideals.illinois.edu/oai-pmh</request>
  <GetRecord>
    <record>
      <header>
        <identifier>oai:www.ideals.illinois.edu:2142/42269</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:contributor>Adve, Vikram S.</dc:contributor>
          <dc:contributor>Adve, Vikram S.</dc:contributor>
          <dc:contributor>Adve, Sarita V.</dc:contributor>
          <dc:contributor>Marinov, Darko</dc:contributor>
          <dc:contributor>Parthasarathy, Madhusudan</dc:contributor>
          <dc:contributor>Zorn, Benjamin</dc:contributor>
          <dc:creator>Sahoo, Swarup K.</dc:creator>
          <dc:date>2013-02-03T19:29:48Z</dc:date>
          <dc:date>2013-02-03T19:29:48Z</dc:date>
          <dc:date>2012-12</dc:date>
          <dc:date>2013-02-03T19:29:48Z</dc:date>
          <dc:date>2012-12</dc:date>
          <dc:description>Software bugs are everywhere. Not only do they infest software during development, but they
escape our extermination efforts and enter production code. In addition to severe frustration
to customers, software failures result in billions of dollars of lost revenue to service providers.
The most important steps for debugging and eliminating a software failure are reproducing
the failure and finding its root cause, either during development time or during production
run. Currently, debugging is a costly, time-consuming and manual process. Automating
some of these steps will greatly help developers, reduce costs, increase productivity and
software reliability. In this thesis proposal, I propose a novel way of doing automated
software bug diagnosis.
    Reproducing bug symptoms is a prerequisite for performing automatic bug diagnosis.
Do bugs have characteristics that ease or hinder automatic bug diagnosis? As a first step,
we conducted a thorough empirical study of several key characteristics of bugs that affect
reproducibility at the production site [1]. We manually examined 266 randomly selected
bug reports of six server applications and consider their implications on automatic bug
diagnosis tools. Our results were promising. From the study, we found that nearly 82%
of bug symptoms can be reproduced deterministically by re-running with the same set of
inputs at the production site. We further found that very few input requests are needed to
reproduce most failures; in fact, just one input request after session establishment suffices to
reproduce the failure in nearly 77% of the cases. We describe the implications of the results
on reproducing software failures and designing automated diagnosis tools for production
runs.
    We also propose an automatic diagnosis technique for isolating the root cause(s) of soft-
ware failures after it is reproduced [2]. We use likely program invariants, constructed using
automatically generated good inputs that are close to the fault-triggering input, to select
a set of candidate program locations which are possible root causes. We then trim the set
of candidate root causes using software-implemented dynamic backwards slicing, plus two
new filtering heuristics: dependence filtering, and filtering via multiple failing inputs that
are also close to original failing input. Experimental results on 13 reported software bugs
of three large open-source servers MySQL, Squid, Apache web server and LLVM C/C++
clang compiler show that we are able to narrow down the number of candidate bug locations
to between 5 and 28 locations for 12 out of 13 software bugs, even in programs that are
hundreds of thousands of lines long. In our earlier work, we also showed invariants based
techniques can be leveraged to effectively detect permanent hardware faults [3].</dc:description>
          <dc:description>Item withdrawn by Mark Zulauf (zulauf@illinois.edu) on 2012-12-05T14:19:23Z
Item was in collections:
University of Illinois Theses &amp; Dissertations (ID: 1)
No. of bitstreams: 1
thesis.pdf: 2133480 bytes, checksum: 82f1dc3645b720251bd8ac3865e881a5 (MD5)</dc:description>
          <dc:description>Made available in DSpace on 2013-02-03T19:29:48Z (GMT). No. of bitstreams: 2
Swarup_Sahoo.pdf: 2141868 bytes, checksum: 319314bbe4ee5475a8c8a4a108cc5974 (MD5)
license.txt: 4061 bytes, checksum: e43ac05db0ccee6a1d22a131d4e4f299 (MD5)</dc:description>
          <dc:identifier>http://hdl.handle.net/2142/42269</dc:identifier>
          <dc:language>en</dc:language>
          <dc:rights>Copyright 2012 Swarup Sahoo</dc:rights>
          <dc:subject>Software Reliability</dc:subject>
          <dc:subject>Bug Diagnosis</dc:subject>
          <dc:subject>Fault Localization</dc:subject>
          <dc:subject>Likely Invariants</dc:subject>
          <dc:subject>Delta Debugging</dc:subject>
          <dc:title>A novel invariants-based approach for automated software fault localization</dc:title>
          <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>
