A copy of this work was available on the public web and has been preserved in the Wayback Machine. The capture dates from 2005; you can also visit <a rel="external noopener" href="http://pag.csail.mit.edu:80/reading-group/strout05independent.pdf">the original URL</a>. The file type is <code>application/pdf</code>.
<i title="Association for Computing Machinery (ACM)">
<a target="_blank" rel="noopener" href="https://fatcat.wiki/container/jpdbg2rpfjembkahly4z4ea5hq" style="color: black;">Software engineering notes</a>
Program analysis has many applications in software engineering and high-performance computation, such as program understanding, debugging, testing, reverse engineering, and optimization. A ubiquitous compiler infrastructure does not exist; therefore, program analysis is essentially reimplemented for each compiler infrastructure. The goal of the OpenAnalysis toolkit is to separate analysis from the intermediate representation (IR) in a way that allows the orthogonal development of compiler<span class="external-identifiers"> <a target="_blank" rel="external noopener noreferrer" href="https://doi.org/10.1145/1108768.1108810">doi:10.1145/1108768.1108810</a> <a target="_blank" rel="external noopener" href="https://fatcat.wiki/release/l6agnmqo3raz7obvhfjkjfxz2i">fatcat:l6agnmqo3raz7obvhfjkjfxz2i</a> </span>
more »... tructures and program analysis. Separation of analysis from specific IRs will allow faster development of compiler infrastructures, the ability to share and compare analysis implementations, and in general quicker breakthroughs and evolution in the area of program analysis. This paper presents how we are separating analysis implementations from IRs with analysis-specific, IR-independent interfaces. Analysis-specific IR interfaces for alias/pointer analysis algorithms and reaching constants illustrate that an IR interface designed for language dependence is capable of providing enough information to support the implementation of a broad range of analysis algorithms and also represent constructs within many imperative programming languages.
<a target="_blank" rel="noopener" href="https://web.archive.org/web/20051230163534/http://pag.csail.mit.edu:80/reading-group/strout05independent.pdf" title="fulltext PDF download" data-goatcounter-click="serp-fulltext" data-goatcounter-title="serp-fulltext"> <button class="ui simple right pointing dropdown compact black labeled icon button serp-button"> <i class="icon ia-icon"></i> Web Archive [PDF] <div class="menu fulltext-thumbnail"> <img src="https://blobs.fatcat.wiki/thumbnail/pdf/bd/a7/bda7d70b4230c92fbb7ad447ee60ef7d0a6e781f.180px.jpg" alt="fulltext thumbnail" loading="lazy"> </div> </button> </a> <a target="_blank" rel="external noopener noreferrer" href="https://doi.org/10.1145/1108768.1108810"> <button class="ui left aligned compact blue labeled icon button serp-button"> <i class="external alternate icon"></i> acm.org </button> </a>