<?xml version="1.0" encoding="UTF-8"?>
<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-07-20T05:35:40Z</responseDate>
  <request identifier="963" metadataPrefix="oai_dc" verb="GetRecord">https://drops.dagstuhl.de/oai</request>
  <GetRecord>
    <record>
      <header>
        <identifier>oai:drops-oai.dagstuhl.de:963</identifier>
        <datestamp>2024-03-06T11:07:00Z</datestamp>
        <setSpec>ddc:004</setSpec>
        <setSpec>open_access</setSpec>
      </header>
      <metadata>
        <oai_dc:dc xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
          <dc:title>Program Compression</dc:title>
          <dc:creator>Evans, William S.</dc:creator>
          <dc:subject>Program compression</dc:subject>
          <dc:subject>clone detection</dc:subject>
          <dc:subject>bytecode interpretation</dc:subject>
          <dc:subject>variable-to-fixed length codes</dc:subject>
          <dc:subject>context-free grammars</dc:subject>
          <dc:description>The talk focused on a grammar-based technique for identifying redundancy in program code and taking advantage of that redundancy to reduce the memory required to store and execute the program. The idea is to start with a simple context-free grammar that&#13;
represents all valid basic blocks of any program. We represent a program&#13;
by the parse trees (i.e. derivations) of its basic blocks using the grammar.&#13;
We then modify the grammar, by considering sample programs, so that&#13;
idioms of the language have shorter derivations in the modified grammar.&#13;
Since each derivation represents a basic block, we can interpret the resulting set of derivations much as we would interpret the original program.&#13;
We need only expand the grammar rules indicated by the derivation to&#13;
produce a sequence of original program instructions to execute.&#13;
The result is a program representation that is approximately 40% of&#13;
the original program size and is interpretable by a very modest-sized&#13;
interpreter.</dc:description>
          <dc:publisher>Schloss Dagstuhl – Leibniz-Zentrum für Informatik</dc:publisher>
          <dc:contributor>William S. Evans</dc:contributor>
          <dc:date>2007</dc:date>
          <dc:relation>Is Part Of Dagstuhl Seminar Proceedings, Volume 6301, Duplication, Redundancy, and Similarity in Software (2007)</dc:relation>
          <dc:type>InProceedings</dc:type>
          <dc:type>Text</dc:type>
          <dc:type>doc-type:ResearchArticle</dc:type>
          <dc:type>publishedVersion</dc:type>
          <dc:format>application/pdf</dc:format>
          <dc:identifier>doi:10.4230/DagSemProc.06301.10</dc:identifier>
          <dc:identifier>urn:nbn:de:0030-drops-9635</dc:identifier>
          <dc:identifier>https://drops.dagstuhl.de/entities/document/10.4230/DagSemProc.06301.10</dc:identifier>
          <dc:language>eng</dc:language>
          <dc:rights>https://creativecommons.org/licenses/by/4.0/legalcode</dc:rights>
        </oai_dc:dc>
      </metadata>
    </record>
  </GetRecord>
</OAI-PMH>
