<node id="678180">
  <nid>678180</nid>
  <type>event</type>
  <uid>
    <user id="27707"><![CDATA[27707]]></user>
  </uid>
  <created>1730826228</created>
  <changed>1730826228</changed>
  <title><![CDATA[PhD Proposal by Feiyang Jin]]></title>
  <body><![CDATA[<p><strong>Title</strong>: Data Race Analysis and Its Applications</p><p>&nbsp;</p><p><strong>Date</strong>: Tuesday, Nov 12, 2024</p><p><strong>Time</strong>: 12:00 pm - 2:00 pm ET</p><p><strong>Location</strong>: KACB 2100</p><p><strong>Zoom</strong>: <a href="https://gatech.zoom.us/j/3738795207?pwd=eTZudHoyQy9sak1SK2srQlVIdkZsZz09" target="_blank" title="https://gatech.zoom.us/j/3738795207?pwd=eTZudHoyQy9sak1SK2srQlVIdkZsZz09">https://gatech.zoom.us/j/3738795207?pwd=eTZudHoyQy9sak1SK2srQlVIdkZsZz09</a></p><p><strong>Feiyang Jin</strong></p><p>Ph.D. Student</p><p>School of Computer Science</p><p>Georgia Institute of Technology</p><p>&nbsp;</p><p><strong>Committee</strong>:</p><p>Dr. Vivek Sarkar (Advisor) –&nbsp;School of Computer Science, Georgia Institute of Technology</p><p>Dr. Alessandro Orso&nbsp;– School of Computer Science, Georgia Institute of Technology</p><p>Dr. Qirun Zhang –&nbsp;School of Computer Science, Georgia Institute of Technology</p><p>Dr. Richard Vuduc –&nbsp;School of Computational Science and Engineering, Georgia Institute of Technology</p><p>Dr. Milind Chabbi – Uber Technologies.</p><p>&nbsp;</p><p><strong>Abstract</strong>:</p><p>A data race is a troublesome bug frequently found in parallel programs. It occurs when</p><p>two or more accesses to the same memory location happen concurrently, and at least one</p><p>of them is a write. Data races are particularly notorious because programs with data races</p><p>could lead to non-deterministic behaviors, where the program may or may not return the&nbsp;</p><p>same result during&nbsp;different executions, even with identical inputs. It is difficult for programmers</p><p>to identify data races given the non-determinism. As a result, even experienced developers</p><p>often struggle to understand, locate, and fix data races without the aid of specialized tools.</p><p>&nbsp;</p><p>To assist programmers in writing correct parallel programs without data races, this</p><p>proposal outlines techniques for programmers to analyze and repair data races. First,</p><p>we study the fundamentals of task-parallel programs and prove that data-race freedom leads</p><p>to determinism for certain task-parallel programs. Our theoretical result would greatly help&nbsp;</p><p>programmers become confident in the correctness of their programs.&nbsp;</p><p>Second, we design a new dynamic race detection algorithm for task-parallel programs with promises.&nbsp;</p><p>A promise is a construct that can be used to support arbitrary point-to-point synchronization. The</p><p>implementation of the race detection, together with several optimizations we introduced, has</p><p>a comparable slowdown to previous race detectors that do not support promises.&nbsp;</p><p>Third, we built a tool that visualizes data races found in task-parallel programs. The visualizer consists</p><p>of a graph builder and a visualization interface. We conducted a performance evaluation</p><p>and an efficacy research survey to demonstrate the usefulness of our tool.&nbsp;</p><p>Finally, we design and implement a closed-loop application to repair data races with the help of&nbsp;</p><p>large language model. The application uses previous fixed data races as few-shot examples&nbsp;</p><p>and asks ChatGPT to remove data races found in a program. The proposed solution by ChatGPT is</p><p>checked again to ensure correctness before a new commit is created to notify programmers.</p><p>&nbsp;</p>]]></body>
  <field_summary_sentence>
    <item>
      <value><![CDATA[Data Race Analysis and Its Applications]]></value>
    </item>
  </field_summary_sentence>
  <field_summary>
    <item>
      <value><![CDATA[<p>Data Race Analysis and Its Applications</p>]]></value>
    </item>
  </field_summary>
  <field_time>
    <item>
      <value><![CDATA[2024-11-12T12:00:06-05:00]]></value>
      <value2><![CDATA[2024-11-12T14:00:06-05:00]]></value2>
      <rrule><![CDATA[]]></rrule>
      <timezone><![CDATA[America/New_York]]></timezone>
    </item>
  </field_time>
  <field_fee>
    <item>
      <value><![CDATA[]]></value>
    </item>
  </field_fee>
  <field_extras>
      </field_extras>
  <field_audience>
          <item>
        <value><![CDATA[Public]]></value>
      </item>
      </field_audience>
  <field_media>
      </field_media>
  <field_contact>
    <item>
      <value><![CDATA[]]></value>
    </item>
  </field_contact>
  <field_location>
    <item>
      <value><![CDATA[KACB 2100]]></value>
    </item>
  </field_location>
  <field_sidebar>
    <item>
      <value><![CDATA[]]></value>
    </item>
  </field_sidebar>
  <field_phone>
    <item>
      <value><![CDATA[]]></value>
    </item>
  </field_phone>
  <field_url>
    <item>
      <url><![CDATA[]]></url>
      <title><![CDATA[]]></title>
            <attributes><![CDATA[]]></attributes>
    </item>
  </field_url>
  <field_email>
    <item>
      <email><![CDATA[]]></email>
    </item>
  </field_email>
  <field_boilerplate>
    <item>
      <nid><![CDATA[]]></nid>
    </item>
  </field_boilerplate>
  <links_related>
      </links_related>
  <files>
      </files>
  <og_groups>
          <item>221981</item>
      </og_groups>
  <og_groups_both>
          <item><![CDATA[Graduate Studies]]></item>
      </og_groups_both>
  <field_categories>
          <item>
        <tid>1788</tid>
        <value><![CDATA[Other/Miscellaneous]]></value>
      </item>
      </field_categories>
  <field_keywords>
          <item>
        <tid>102851</tid>
        <value><![CDATA[Phd proposal]]></value>
      </item>
      </field_keywords>
  <field_userdata><![CDATA[]]></field_userdata>
</node>
