<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="static/style.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-19T15:47:25Z</responseDate><request verb="GetRecord" identifier="oai:dspace.mit.edu:1721.1/33297" metadataPrefix="dim">https://dspace.mit.edu/server/oai/request</request><GetRecord><record><header><identifier>oai:dspace.mit.edu:1721.1/33297</identifier><datestamp>2022-01-13T07:54:29Z</datestamp><setSpec>com_1721.1_7582</setSpec><setSpec>com_1721.1_7581</setSpec><setSpec>col_1721.1_131023</setSpec></header><metadata><dim:dim xmlns:dim="http://www.dspace.org/xmlns/dspace/dim" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:doc="http://www.lyncode.com/xoai" xsi:schemaLocation="http://www.dspace.org/xmlns/dspace/dim http://www.dspace.org/schema/dim.xsd">
   <dim:field mdschema="dc" element="contributor" qualifier="advisor" lang="en_US">Martin Rinard.</dim:field>
   <dim:field mdschema="dc" element="contributor" qualifier="author" lang="en_US">Leu, Ioan Tudor</dim:field>
   <dim:field mdschema="dc" element="contributor" qualifier="other" lang="en_US">Massachusetts Institute of Technology. Dept. of Electrical Engineering and Computer Science.</dim:field>
   <dim:field mdschema="dc" element="contributor" qualifier="department">Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science</dim:field>
   <dim:field mdschema="dc" element="date" qualifier="accessioned">2006-07-13T15:13:23Z</dim:field>
   <dim:field mdschema="dc" element="date" qualifier="available">2006-07-13T15:13:23Z</dim:field>
   <dim:field mdschema="dc" element="date" qualifier="copyright" lang="en_US">2005</dim:field>
   <dim:field mdschema="dc" element="date" qualifier="issued" lang="en_US">2005</dim:field>
   <dim:field mdschema="dc" element="identifier" qualifier="uri">http://hdl.handle.net/1721.1/33297</dim:field>
   <dim:field mdschema="dc" element="identifier" qualifier="oclc" lang="en_US">62279244</dim:field>
   <dim:field mdschema="dc" element="description" lang="en_US">Thesis (M. Eng.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2005.</dim:field>
   <dim:field mdschema="dc" element="description" lang="en_US">Includes bibliographical references (p. 61-63).</dim:field>
   <dim:field mdschema="dc" element="description" qualifier="abstract" lang="en_US">We present rationed-memory compiling, a new technique designed to reduce the memory consumption of programs. The technique lowers memory usage by decreasing the amount of memory that programs allocate, but not use actively. With rationed- memory compiling, whenever a program requests a memory block, the compiler returns a block smaller than the requested size. The compiler handles subsequent reads and writes to the memory block as usual if the accessed location is within the allocated block. If the accessed location is outside the allocated block, the compiler redirects the access to a hash table which stores and indexes out-of-bounds writes and returns the stored values on out-of-bounds reads from corresponding locations. For programs that over-allocate memory, the compiler yields savings because it allocates smaller memory blocks, while it also provides backup storage in the hash table for the writes outside the allocated blocks. We developed a C compiler that implements the rationed-memory technique and tested it on a series of programs that use a diverse range of data structures. Our tests show that the rationed-memory technique is very effective in reducing the memory usage of data structures implemented using arrays or buffers, such as stacks or queues. Furthermore, our study presents cases of over-allocation of memory in open-source applications, supporting our claim that the rationed-memory technique is a versatile tool with a great potential of reducing the memory consumption of programs.</dim:field>
   <dim:field mdschema="dc" element="description" qualifier="statementofresponsibility" lang="en_US">by Ioan Tudor Leu.</dim:field>
   <dim:field mdschema="dc" element="description" qualifier="degree" lang="en_US">M.Eng.</dim:field>
   <dim:field mdschema="dc" element="format" qualifier="extent" lang="en_US">63 p.</dim:field>
   <dim:field mdschema="dc" element="format" qualifier="extent">2338521 bytes</dim:field>
   <dim:field mdschema="dc" element="format" qualifier="extent">2340485 bytes</dim:field>
   <dim:field mdschema="dc" element="format" qualifier="mimetype">application/pdf</dim:field>
   <dim:field mdschema="dc" element="format" qualifier="mimetype">application/pdf</dim:field>
   <dim:field mdschema="dc" element="language" qualifier="iso" lang="en_US">eng</dim:field>
   <dim:field mdschema="dc" element="publisher" lang="en_US">Massachusetts Institute of Technology</dim:field>
   <dim:field mdschema="dc" element="rights" lang="en_US">M.I.T. theses are protected by copyright. They may be viewed from this source for any purpose, but reproduction or distribution in any format is prohibited without written permission. See provided URL for inquiries about permission.</dim:field>
   <dim:field mdschema="dc" element="rights" qualifier="uri">http://dspace.mit.edu/handle/1721.1/7582</dim:field>
   <dim:field mdschema="dc" element="subject" lang="en_US">Electrical Engineering and Computer Science.</dim:field>
   <dim:field mdschema="dc" element="title" lang="en_US">An empirical study of a novel technique : rationed-memory compiling</dim:field>
   <dim:field mdschema="dc" element="type" lang="en_US">Thesis</dim:field>
   <dim:field mdschema="dc" element="format" qualifier="mimetype">application/pdf</dim:field>
   <dim:field mdschema="dspace" element="authorsordered">false</dim:field>
   <dim:field mdschema="dspace" element="entity" qualifier="type">Publication</dim:field>
   <dim:field mdschema="others" element="access-status">unknown</dim:field>
   <dim:field mdschema="others" element="access-status">unknown</dim:field>
   <dim:field mdschema="cerif" element="openaire" authority="" confidence="-1">&lt;Publication xmlns="https://www.openaire.eu/cerif-profile/1.1/" id="6b7953ca-11e2-4812-8fa4-2a1f881b5129">
	&lt;Type xmlns="https://www.openaire.eu/cerif-profile/vocab/COAR_Publication_Types">http://purl.org/coar/resource_type/c_1843&lt;/Type>
	&lt;Language>eng&lt;/Language>
   	&lt;Title>An empirical study of a novel technique : rationed-memory compiling&lt;/Title>
   	&lt;PublishedIn>
    	&lt;Publication>
      	&lt;/Publication>
   	&lt;/PublishedIn>
   	&lt;PublicationDate>2005&lt;/PublicationDate>
   	&lt;Authors>
      	&lt;Author>
        	&lt;DisplayName>Leu, Ioan Tudor&lt;/DisplayName>
         	&lt;Affiliation>
         		&lt;OrgUnit>
         		&lt;/OrgUnit>
         	&lt;/Affiliation>
      	&lt;/Author>
	&lt;/Authors>
   	&lt;Editors>
	&lt;/Editors>
    &lt;Publishers>
        &lt;Publisher>
            &lt;DisplayName>Massachusetts Institute of Technology&lt;/DisplayName>
            &lt;OrgUnit />
        &lt;/Publisher>
    &lt;/Publishers>
    &lt;License>http://dspace.mit.edu/handle/1721.1/7582&lt;/License>
    &lt;Keyword>Electrical Engineering and Computer Science.&lt;/Keyword>
   	&lt;Abstract&gt;We present rationed-memory compiling, a new technique designed to reduce the memory consumption of programs. The technique lowers memory usage by decreasing the amount of memory that programs allocate, but not use actively. With rationed- memory compiling, whenever a program requests a memory block, the compiler returns a block smaller than the requested size. The compiler handles subsequent reads and writes to the memory block as usual if the accessed location is within the allocated block. If the accessed location is outside the allocated block, the compiler redirects the access to a hash table which stores and indexes out-of-bounds writes and returns the stored values on out-of-bounds reads from corresponding locations. For programs that over-allocate memory, the compiler yields savings because it allocates smaller memory blocks, while it also provides backup storage in the hash table for the writes outside the allocated blocks. We developed a C compiler that implements the rationed-memory technique and tested it on a series of programs that use a diverse range of data structures. Our tests show that the rationed-memory technique is very effective in reducing the memory usage of data structures implemented using arrays or buffers, such as stacks or queues. Furthermore, our study presents cases of over-allocation of memory in open-source applications, supporting our claim that the rationed-memory technique is a versatile tool with a great potential of reducing the memory consumption of programs.&lt;/Abstract>
	&lt;Access xmlns="http://purl.org/coar/access_right" 
    >
    &lt;/Access>
&lt;/Publication>
</dim:field>
</dim:dim>
</metadata></record></GetRecord></OAI-PMH>