12,000

We have over 12,000 students, from over 100 countries, within one of the safest campuses in the UK

93%

93% of Lancaster students go into work or further study within six months of graduating

Home > Research > Publications & Outputs > Pointcut rejuvenation
View graph of relations

« Back

Pointcut rejuvenation: recovering pointcut expressions in evolving aspect-oriented software

Research output: Contribution in Book/Report/ProceedingsPaper

Published

Publication date2009
Host publicationAutomated Software Engineering, 2009. ASE '09. 24th IEEE/ACM International Conference on
PublisherIEEE Publishing
Pages575-579
Number of pages5
ISBN (Print)978-1-4244-5259-0
Original languageEnglish

Conference

ConferenceASE 2009, 24th IEEE/ACM International Conference on Automated Software Engineering
CountryNew Zealand
CityAuckland
Period16/11/0920/11/09

Conference

ConferenceASE 2009, 24th IEEE/ACM International Conference on Automated Software Engineering
CountryNew Zealand
CityAuckland
Period16/11/0920/11/09

Abstract

Pointcut fragility is a well-documented problem in Aspect-Oriented Programming; changes to the base-code can lead to join points incorrectly falling in or out of the scope of pointcuts. We present an automated approach that limits fragility problems by providing mechanical assistance in pointcut maintenance. The approach is based on harnessing arbitrarily deep structural commonalities between program elements corresponding to join points selected by a pointcut. The extracted patterns are then applied to later versions to offer suggestions of new join points that may require inclusion. We demonstrate the usefulness of our technique by rejuvenating pointcuts in multiple versions of several open-source AspectJ programs. The results show that our parameterized heuristic algorithm was able to automatically infer new join points in subsequent versions with an average recall of 0.93. Moreover, these join points appeared, on average, in the top 4th percentile of the suggestions, indicating that the results were precise.