Crosscutting invariant and an efficient checking algorithm using program slicing
Owing to the characteristics of quantification and obliviousness, modular behavioral analysis and modular reasoning in aspect-oriented language are more difficult than that of traditional paradigms. Similar to the method of Design by Contract in object-oriented language, we annotate crosscutting modules and affected modules with pre-conditions and post-conditions. Because assigning blame for pre-condition and post-condition failures during the process of crosscutting is subtle and complex, we introduce a notion of crosscutting invariant and a checking algorithm based on this notion. Since there are some repeated contract checks in the original algorithm, we use the technology of program slicing to search those unnecessary repeat checks and delete them. We also represent an example to represent the algorithm and its improvement.
aspect-oriented language crosscutting safety crosscutting quality crosscutting interference