<?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-20T16:18:14Z</responseDate>
  <request identifier="oai:www.ideals.illinois.edu:2142/34513" metadataPrefix="etdms" verb="GetRecord">https://www.ideals.illinois.edu/oai-pmh</request>
  <GetRecord>
    <record>
      <header>
        <identifier>oai:www.ideals.illinois.edu:2142/34513</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>Torrellas, Josep</dc:contributor>
          <dc:contributor>Torrellas, Josep</dc:contributor>
          <dc:contributor>Snir, Marc</dc:contributor>
          <dc:contributor>Marinov, Darko</dc:contributor>
          <dc:contributor>King, Samuel T.</dc:contributor>
          <dc:contributor>Frank, Matthew I.</dc:contributor>
          <dc:contributor>Peterson, Paul E.</dc:contributor>
          <dc:creator>Muzahid, Abdullah</dc:creator>
          <dc:date>2012-09-18T21:20:52Z</dc:date>
          <dc:date>2012-09-18T21:20:52Z</dc:date>
          <dc:date>2014-09-18T10:01:01Z</dc:date>
          <dc:date>2012-08</dc:date>
          <dc:date>2012-09-18T21:20:52Z</dc:date>
          <dc:date>2012-08</dc:date>
          <dc:description>Multicore machines have become pervasive and, as a result, parallel
programming has received renewed interest. Unfortunately, writing
correct parallel programs is notoriously hard. Therefore, it is
important to innovate with techniques and approaches to tackle
various types of concurrency bugs.
This thesis aims at making parallel programming easier by detecting
some of the most common and difficult
concurrency bugs  in shared memory parallel programs,
namely data races, atomicity violations, and sequential consistency
violations. Specifically,
we propose novel, effective and efficient hardware-based techniques
that help detect and isolate these bugs. We use hardware-based
solutions because they lead to low overhead solutions. Therefore
we can use these techniques to detect the bugs both during development
time and during production run.
The proposal to detect data races is called SigRace. It uses hardware
address signatures to detect data races dynamically at run time. As
a processor runs, the addresses of the data that it accesses are automatically
encoded in signatures. At certain times, the signatures are automatically
passed to a hardware module that intersects them with those of other processors.
If the intersection is not null, a data race may have occurred, in which
case we run a more detailed analysis to pinpoint the race.
SigRace can detect data races successfully. But even if a multithreaded program does not
have any data races, it can still show incorrect behavior because of a bug
named atomicity violation. The proposal to detect atomicity violations is called AtomTracker. 
It is based on first trying to learn atomicity constraints automatically from
the program, by analyzing many correct executions. After it finds the
set of possible atomic regions, the hardware monitors the execution
to detect any violations of these atomic regions. AtomTracker uses
a hardware very similar to SigRace to accomplish this.
The above approaches tackle data races in a classical sense or in a more higher level
sense (namely atomicity violations). The last work of this thesis is to find out a special pattern
of data races that are particularly hard to detect and analyze. This complicated
pattern of data races leads to violation of sequential consistency which is the
underlying behavior of the memory model that programmers usually assume.
Sequential consistency violations (SCV)
lead to some of the most notorious bugs in parallel programs. In
order to detect SCV in a machine with a relaxed memory model, we
leverage cache coherence protocol transactions and dynamically detect
cycles in memory-access orderings across threads. When one such cycle
is about to occur, an exception is triggered, providing the exact
architectural state.
We performed detailed experimentation with each of these techniques and showed
that they are effective in detecting various types of concurrency bugs. More importantly,
we uncovered several new and previously unreported bugs in various 
popular open source codes using these solutions.</dc:description>
          <dc:description>Item withdrawn by Mark Zulauf (zulauf@illinois.edu) on 2012-06-29T20:34:51Z
Item was in collections:
University of Illinois Theses &amp; Dissertations (ID: 1)
No. of bitstreams: 1
Muzahid_Abdullah.pdf: 497136 bytes, checksum: 0f0dd16e26065058fba510878487d4fe (MD5)</dc:description>
          <dc:description>Made available in DSpace on 2012-09-18T21:20:52Z (GMT). No. of bitstreams: 3
Muzahid_Abdullah.pdf: 497367 bytes, checksum: 194c07cb95378b261582c50ab37dc050 (MD5)
license.txt: 4066 bytes, checksum: e6e94c1e15d609b5153d258c637b072f (MD5)
1_license.txt: 4066 bytes, checksum: 9f4afa7b70bbf8976cf478b273627456 (MD5)</dc:description>
          <dc:description>Item marked as restricted to the 'UIUC Users [automated]' Group (id=2) by Seth Robbins (srobbins@illinois.edu) on 2012-09-18T21:21:22Z
Item is restricted until 2014-09-18T21:21:01Z</dc:description>
          <dc:description>Restriction data tranferred 2014-07-01T11:35:15-05:00
Original Data
Group with Access UIUC Users [automated]
Release Date: 2014-09-18 16:21:01 UTC
Reason: Author requested U of Illinois access only (OA after 2yrs) in Vireo ETD system</dc:description>
          <dc:description>U of I Only Restriction Lifted for Item 34787 on 2014-09-18T10:01:01Z.</dc:description>
          <dc:identifier>http://hdl.handle.net/2142/34513</dc:identifier>
          <dc:language>en</dc:language>
          <dc:rights>Copyright 2012 Abdullah Al Muzahid</dc:rights>
          <dc:subject>Debugging</dc:subject>
          <dc:subject>Concurrency Bugs</dc:subject>
          <dc:subject>Multithreaded Programs</dc:subject>
          <dc:subject>Multicore</dc:subject>
          <dc:title>Effective architectural support for detecting concurrency bugs</dc:title>
          <degree>
            <name>Ph.D.</name>
            <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>
            <program>PHD:Computer Science -UIUC</program>
            <programCode>10KS0112PHD</programCode>
          </degree>
        </thesis>
      </metadata>
    </record>
  </GetRecord>
</OAI-PMH>
