A copy of this work was available on the public web and has been preserved in the Wayback Machine. The capture dates from 2006; you can also visit <a rel="external noopener" href="http://progtools.comlab.ox.ac.uk/members/oege/publications/documents/pcsemantics.pdf">the original URL</a>. The file type is <code>application/pdf</code>.
Semantics of static pointcuts in aspectJ
<span title="">2007</span>
<i title="ACM Press">
<a target="_blank" rel="noopener" href="https://fatcat.wiki/container/2qaxtqe2rfgjnfefqcokcnzelq" style="color: black;">Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '07</a>
</i>
In aspect-oriented programming, one can intercept events by writing patterns called pointcuts. The pointcut language of the most popular aspect-oriented programming language, AspectJ, allows the expression of highly complex properties of the static program structure. We present the first rigorous semantics of the AspectJ pointcut language, by translating static patterns into safe (i.e. rangerestricted and stratified) Datalog queries. Safe Datalog is a logic language like Prolog, but it does not
<span class="external-identifiers">
<a target="_blank" rel="external noopener noreferrer" href="https://doi.org/10.1145/1190216.1190221">doi:10.1145/1190216.1190221</a>
<a target="_blank" rel="external noopener" href="https://dblp.org/rec/conf/popl/AvgustinovHOMSTV07.html">dblp:conf/popl/AvgustinovHOMSTV07</a>
<a target="_blank" rel="external noopener" href="https://fatcat.wiki/release/vgzeblbkibgupo22sepxkwxtva">fatcat:vgzeblbkibgupo22sepxkwxtva</a>
</span>
more »
... have data structures; consequently it has a straightforward least fixpoint semantics and all queries terminate. The translation from pointcuts to safe Datalog consists of a set of simple conditional rewrite rules, implemented using the Stratego system. The resulting queries are themselves executable with the CodeQuest system. We present experiments indicating that direct execution of our semantics is not prohibitively expensive.
<a target="_blank" rel="noopener" href="https://web.archive.org/web/20061009143006/http://progtools.comlab.ox.ac.uk/members/oege/publications/documents/pcsemantics.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/a1/31/a1312ffb2586f91ce1deae17cbf6c1c9b3356ec9.180px.jpg" alt="fulltext thumbnail" loading="lazy">
</div>
</button>
</a>
<a target="_blank" rel="external noopener noreferrer" href="https://doi.org/10.1145/1190216.1190221">
<button class="ui left aligned compact blue labeled icon button serp-button">
<i class="external alternate icon"></i>
acm.org
</button>
</a>