Verifying Aspect Advice Modularly

Shriram Krishnamurthi, Kathi Fisler, Michael Greenberg

ACM SIGSOFT International Symposium on the Foundations of Software Engineering, 2004


Aspect-oriented programming has become an increasingly important means of expressing cross-cutting program abstractions. Despite this, aspects lack support for computer-aided verification. We present a technique for verifying aspect-oriented programs (expressed as state machines). Our technique assumes that the set of pointcut designators is known statically, but that the actual advice can vary. This calls for a modular technique that does not require repeated analysis of the entire system every time a developer changes an advice. We present such an analysis, addressing several subtleties that arise. We also present an important optimization for handling multiple pointcut-designators. We have implemented a prototype verifier and applied it to some simple but interesting cases.


This paper has been superceded by the journal version.



These papers may differ in formatting from the versions that appear in print. They are made available only to support the rapid dissemination of results; the printed versions, not these, should be considered definitive. The copyrights belong to their respective owners.