TY - GEN
T1 - A Case for Statically Executable Advice
T2 - 2nd International Conference on Aspect-Oriented Software Development
AU - Lieberherr, Karl
AU - Lorenz, David H.
AU - Wu, Pengcheng
N1 - Copyright:
Copyright 2010 Elsevier B.V., All rights reserved.
PY - 2003
Y1 - 2003
N2 - We define a generic join point model for checking the Law of Demeter (LoD). Join points are trees, pointcuts are predicates over join points, and advice is checked statically similar to how declare warning is checked in AspectJ. We illustrate how the joint point form is mapped to the object and class forms of LoD, and provide an implementation in AspectJ that approximates LoD's class form by dynamically checking a particular execution using only the join points' static part. The paper proposes two ways to extend AspectJ to provide access to lexical join points directly. The first proposes statically executable advice and pointcut designators over lexical join points. The second proposes statically executable meta-advice over the exposed abstract syntax tree of the program and using Demeter style traversals to mirror AspectJ pointcuts.
AB - We define a generic join point model for checking the Law of Demeter (LoD). Join points are trees, pointcuts are predicates over join points, and advice is checked statically similar to how declare warning is checked in AspectJ. We illustrate how the joint point form is mapped to the object and class forms of LoD, and provide an implementation in AspectJ that approximates LoD's class form by dynamically checking a particular execution using only the join points' static part. The paper proposes two ways to extend AspectJ to provide access to lexical join points directly. The first proposes statically executable advice and pointcut designators over lexical join points. The second proposes statically executable meta-advice over the exposed abstract syntax tree of the program and using Demeter style traversals to mirror AspectJ pointcuts.
UR - http://www.scopus.com/inward/record.url?scp=0141650630&partnerID=8YFLogxK
M3 - ???researchoutput.researchoutputtypes.contributiontobookanthology.conference???
AN - SCOPUS:0141650630
SN - 1581136609
SN - 9781581136609
T3 - 2nd International Conference on Aspect-Oriented Software Development
SP - 40
EP - 49
BT - Proceedings of the 2nd International Conference on Aspect-Oriented Software Development, AOSD '03
Y2 - 17 March 2003 through 21 March 2003
ER -