AspectJ

The most impressive aspect of this UBC software researcher

Gregor KiczalesGregor Kiczales has always had an impressive career in aspect-oriented programming (AOP). And now, his work is being recognized for its tremendous influence with a prestigious Test of Time Award from the Association Internationale pour les Technologies Objets (AITO).AITO logo

The award was given to Gregor (and his co-authors) in recognition for their paper, An Overview of AspectJ, which was presented at the ECOOP conference 20 years ago, in 2001. This paper receives the Test of Time Award for having a lasting impact on the field of aspect-oriented programming.

The paper that truly defined aspect-oriented programming

Gregor’s paper introduces a dynamic join point model with pointcuts that is now part of the vocabulary covered by popular Software Engineering textbooks. The paper describes a practical implementation of AOP by extending Java, the most popular programming language at the time. This made it a seminal paper that has been referred to more than 4,000 times. The paper turned AOP into a mature research topic which also influenced other topics such as context-oriented programming, feature-oriented programming and software product lines. Ultimately, the paper ended up being a kind of de-facto model of what people understand to be aspect-oriented programming.

What is aspect-oriented programming? 
AOP is an approach to programming that allows global properties of a program to determine how it is compiled into an executable program. AOP can be used with object-oriented programming (OOP). AOP can be compared to the manufacturing of cloth, where threads are automatically interwoven. Without AOP, programmers must stitch the threads by hand.

Gregor was very happy to receive this award. “The ECOOP conference was the community to most welcome AOP when we were developing it. So it’s very rewarding to receive this acknowledgement from the community now, and also to talk about how it was back then,” he said.

Gregor explained they had already won an award for a paper on the same topic. “Our original paper on the topic was in 1997, also presented at ECOOP. That paper won the Test of Time Award in 2017.  After that work, we were asked by Xerox to make a practical version of AOP that could have immediate real world impact. We assembled a team of fantastic people, most of which are also authors of the paper.

One of Gregor's co-authors, Mik Kersten (currently CEO of Tasktop Technologies), was a research scientist with Xerox at that time. He is also a former UBC CS student. “Mik's role on the team was to focus on the development tools, which was critical to success because we believed no one would use AspectJ unless it was well integrated into the tools they were using,” explained Gregor. “So Mik developed not just our understanding of what ‘well integrated’ should look like, but also implemented that.”

This Test of Time award cements AspectJ as a key influencer in the evolution of aspect-oriented programming and we all have Gregor and his co-authors to thank.

Read more about Mik Kersten

Learn more about AspectJ on Wiki