A Declarative Framework for Analysis and Optimization [chapter]

Henry Falconer, Paul H. J. Kelly, David M. Ingram, Michael R. Mellor, Tony Field, Olav Beckmann
<i title="Springer Berlin Heidelberg"> <a target="_blank" rel="noopener" href="https://fatcat.wiki/container/co3tf2zzendhlbd6zt7kuvv3ha" style="color: black;">Lecture Notes in Computer Science</a> </i> &nbsp;
DeepWeaver-1 is a tool supporting cross-cutting program analysis and transformation components, called "weaves". Like an aspect, a DeepWeaver weave consists of a query part, and a part which may modify code. DeepWeaver's query language is based on Prolog, and provides access to data-flow and control-flow reachability analyses. DeepWeaver provides a declarative way to access the internal structure of methods, and supports cross-cutting weaves which operate on code blocks from different parts of
more &raquo; ... he codebase simultaneously. Deep-Weaver operates at the level of bytecode, but offers predicates to extract structured control flow constructs. This paper motivates the design, and demonstrates some of its power, using a sequence of examples including performance profiling and domain-specific performance optimisations for database access and remote method invocation. ResultSet staff = statement.executeQuery("SELECT * FROM employees"); ResultSet clients = statement.executeQuery("SELECT * FROM customers"); ... complex and messy code that uses clients but not staff ...
<span class="external-identifiers"> <a target="_blank" rel="external noopener noreferrer" href="https://doi.org/10.1007/978-3-540-71229-9_15">doi:10.1007/978-3-540-71229-9_15</a> <a target="_blank" rel="external noopener" href="https://dblp.org/rec/conf/cc/FalconerKIMFB07.html">dblp:conf/cc/FalconerKIMFB07</a> <a target="_blank" rel="external noopener" href="https://fatcat.wiki/release/kketyrvbp5fy5gryoaxkj7rpcy">fatcat:kketyrvbp5fy5gryoaxkj7rpcy</a> </span>
<a target="_blank" rel="noopener" href="https://web.archive.org/web/20120903230537/http://www.doc.ic.ac.uk/~phjk/Publications/DeepWeaver-CC07.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/48/06/4806d42558c88018ce2fa36f4bc82345c9e096d4.180px.jpg" alt="fulltext thumbnail" loading="lazy"> </div> </button> </a> <a target="_blank" rel="external noopener noreferrer" href="https://doi.org/10.1007/978-3-540-71229-9_15"> <button class="ui left aligned compact blue labeled icon button serp-button"> <i class="external alternate icon"></i> springer.com </button> </a>