MAO: Ownership and Effects for more Effective Reasoning about Aspects

Curtis Charles Clifton, Gary T. Leavens, James Noble, Curtis Clifton, Gary T. Leavens, James Noble · 2007

Abstract. Aspect-oriented advice increases the number of places one must con-sider during reasoning, since advice may affect all method calls and field ac-cesses. MAO, a new variant of AspectJ, demonstrates how to simplify reasoning by allowing programmers, if they choose, to declare limits on the control and heap effects of advice. Heap effects, such as assignment to object fields, are specified using concern domains—declared partitions of the heap. By declaring the con-cern domains affected by methods and advice, programmers can separate objects owned by the base program and by various aspects. When desired, programmers can also use such concern domain annotations to check that advice cannot inter-

Read the paper · More papers on PaperTik