<node id="681635">
  <nid>681635</nid>
  <type>event</type>
  <uid>
    <user id="27707"><![CDATA[27707]]></user>
  </uid>
  <created>1744051896</created>
  <changed>1744051924</changed>
  <title><![CDATA[PhD Defense by Ammar Askar]]></title>
  <body><![CDATA[<p><strong>Title</strong>: Security and bug-finding in foreign function interfaces and multi-language programs</p><p>&nbsp;</p><p><strong>Date</strong>: Friday, April 18, 2025</p><p><strong>Time</strong>: 1:00 PM – 3:00 PM EST</p><p><strong>Location</strong>: (hybrid) CODA 1006 West End, and Zoom (<a href="https://gatech.zoom.us/j/98789993263">https://gatech.zoom.us/j/98789993263</a>)</p><p>&nbsp;</p><p><strong>Ammar&nbsp;Askar</strong></p><p>School of Computer Science &amp; School of Cybersecurity and Privacy</p><p>College of Computing</p><p>Georgia Institute of Technology</p><p>&nbsp;</p><p><strong>Committee:</strong></p><p>Dr. Taesoo Kim <em>(advisor)</em>, School of Cybersecurity and Privacy, Georgia Institute of Technology</p><p>Dr. Brendan D. Saltaformaggio, School of Cybersecurity and Privacy, Georgia Institute of Technology</p><p>Dr. Qirun Zhang - School of Computer Science, Georgia Institute of Technology</p><p>Dr. Alessandro Orso - School of Computer Science, Georgia Institute of Technology</p><p>Dr. Sangho Lee - Redmond Security Research Group, Microsoft Research</p><p>&nbsp;</p><p><strong>Abstract:</strong></p><p>Modern programs often require the use of multiple programming languages. High level languages like Java and Python allow rapid prototyping and fast development speeds without having to worry about low level details such as memory management. However, due to performance constraints, and to interface with many foundational libraries, it is sometimes necessary to write code in low level languages such as C.</p><p>&nbsp;</p><p>Due to the differences in the semantics and security considerations in different languages, there is a likelihood of security issues being introduced when programmers context-switch between writing in multiple languages. For example, a programmer who is used to array accesses being bounds-checked by the language may end up introducing a spatial memory-safety issue with an out of bounds access. One who is unfamiliar with the nuances of manual memory management may introduce a use-after-free vulnerability.</p><p>&nbsp;</p><p>This thesis presents how the use of synthesized fuzzing harnesses can explore program and data flow in one language that triggers bugs in the foreign language. We also propose a novel new method of applying concolic execution to a variety of programming languages. Through this technique, the process of implementing concolic execution only requires simple debugging primitives and uses LLMs to ease the implementation burden. This technique can be applied to multi-language programs to find bugs between them.&nbsp;</p><p>&nbsp;</p>]]></body>
  <field_summary_sentence>
    <item>
      <value><![CDATA[Security and bug-finding in foreign function interfaces and multi-language programs]]></value>
    </item>
  </field_summary_sentence>
  <field_summary>
    <item>
      <value><![CDATA[<p>Security and bug-finding in foreign function interfaces and multi-language programs</p>]]></value>
    </item>
  </field_summary>
  <field_time>
    <item>
      <value><![CDATA[2025-04-18T13:00:00-04:00]]></value>
      <value2><![CDATA[2025-04-18T15:00:00-04: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[CODA 1006 West End, and Zoom ]]></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>100811</tid>
        <value><![CDATA[Phd Defense]]></value>
      </item>
      </field_keywords>
  <field_userdata><![CDATA[]]></field_userdata>
</node>
