{'fraction_non_alphanumeric': 0.0176678445229682, 'fraction_numerical': 0.0, 'mean_word_length': 4.902777777777778, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Aspect Oriented Programming Made Easy: An Embedded Pointcut Language

An important challenge with respect to aspect-oriented programming is to make this technology easier to use, so that it becomes accessible to a larger number of developers. We address this challenge with a new pointcut language based on the concept of code query by example. Our framework can be used to denote code patterns, which are difficult to express using traditional join point languages. A further benefit of our approach is that it can be used to denote join points at almost arbitrary locations inside method bodies -- without sacrificing obliviousness. Finally, a particularity of our pointcut language is that it is embedded in a general purpose language. We outline the benefits, and limitations of our framework, and we summarize the implementation of a prototype.