<?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-19T22:00:21Z</responseDate>
  <request identifier="oai:www.ideals.illinois.edu:2142/34253" metadataPrefix="etdms" verb="GetRecord">https://www.ideals.illinois.edu/oai-pmh</request>
  <GetRecord>
    <record>
      <header>
        <identifier>oai:www.ideals.illinois.edu:2142/34253</identifier>
        <datestamp>2023-07-10</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>Rosu, Grigore</dc:contributor>
          <dc:contributor>Rosu, Grigore</dc:contributor>
          <dc:contributor>Caccamo, Marco</dc:contributor>
          <dc:contributor>Havelund, Klaus</dc:contributor>
          <dc:contributor>Marinov, Darko</dc:contributor>
          <dc:creator>Meredith, Patrick</dc:creator>
          <dc:date>2012-09-18T21:08:01Z</dc:date>
          <dc:date>2012-09-18T21:08:01Z</dc:date>
          <dc:date>2012-08</dc:date>
          <dc:date>2012-09-18T21:08:01Z</dc:date>
          <dc:date>2012-08</dc:date>
          <dc:description>Runtime Verification is a quickly growing technique for providing
many of the guarantees of formal verification, but in a manner that is
scalable. It useful information available from actual runs of programs to
make verification decisions, rather than the purely static information
used in formal verification.
One of the main facets of Runtime Verification is runtime monitoring, where
safety properties are checked against the execution of a program during (or in
some cases after) its run.  Prior work on efficient monitoring focused
primarily on finite state properties.  Non-finite state techniques existed, but
added orders of magnitude of runtime overhead on the monitored system.  The
vast majority of runtime monitoring has also been limited to the application
domain, with violations of safety properties only found on the actual trace of
a given program.  
This thesis describes research that demonstrates that various logical
formalisms, including those more powerful than finite logics, can be
efficiently monitored in multiple monitoring domains.  The demonstrated
monitoring domains run the gamut from the application level with the Java
programming language, to monitoring traces \emph{predicted} from a given run of
a program, to hardware based monitors designed to ensure proper peripheral
operation.  The logical formalisms include multicategory finite state machines,
extended regular expressions, past-time linear temporal logic with optimization
for hardware based monitors, context-free grammars, linear temporal logic with
both past and future operators, and string rewriting.  This combination of
domains and logical formalisms show that monitoring can be both expressive and
efficient, regardless of the expressive power of the logical formalism, and
that monitoring can be used not only for flat traces generated by software
applications, but also in predictive traces and a hardware context.</dc:description>
          <dc:description>Item withdrawn by Mark Zulauf (zulauf@illinois.edu) on 2012-07-06T19:27:41Z
Item was in collections:
University of Illinois Theses &amp; Dissertations (ID: 1)
No. of bitstreams: 2
meredith-2012-thesis.zip: 17462947 bytes, checksum: 391ee99f9ceaa518bff062d5508ec48b (MD5)
Patrick_Meredith.pdf: 2193448 bytes, checksum: e50abee2f391532242484a9fdfe05e27 (MD5)</dc:description>
          <dc:description>Made available in DSpace on 2012-09-18T21:08:01Z (GMT). No. of bitstreams: 3
Patrick_Meredith.pdf: 2183998 bytes, checksum: 87c6987b2d9d6570f22781245e52214c (MD5)
license.txt: 4066 bytes, checksum: a67d5e1735b2dff3a0ed28ddbcfc1c9d (MD5)
meredith-2012-thesis.zip: 17525709 bytes, checksum: 59ff89015ade44721401bd85cbc26e38 (MD5)</dc:description>
          <dc:identifier>http://hdl.handle.net/2142/34253</dc:identifier>
          <dc:language>en</dc:language>
          <dc:rights>Copyright 2012 Patrick O'Neil Meredith</dc:rights>
          <dc:subject>Runtime Verification</dc:subject>
          <dc:subject>Software Engineering</dc:subject>
          <dc:subject>Predictive Analysis</dc:subject>
          <dc:subject>Runtime Monitoring</dc:subject>
          <dc:subject>Runtime Monitoring Semantics</dc:subject>
          <dc:title>Efficient, expressive, and effective runtime verification</dc:title>
          <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>
