An empirical study on the impact of AspectJ on software evolvability - Publikacja - MOST Wiedzy

Wyszukiwarka

An empirical study on the impact of AspectJ on software evolvability

Abstrakt

Since its inception in 1996, aspect-oriented programming (AOP) has been believed to reduce the effort required to maintain software systems by replacing cross-cutting code with aspects. However, little convincing empirical evidence exists to support this claim, while several studies suggest that AOP brings new obstacles to maintainability. This paper discusses two experiments conducted to evaluate the impact of AspectJ (the most mature and popular aspect-oriented programming language) versus Java on software evolvability. We consider evolvability as the ease with which a software system can be updated to fulfill new requirements. Since a minor language was compared to the mainstream, the experiments were designed so as to anticipate that the participants were much more experienced in one of the treatments. The first experiment was performed on 35 student subjects who were asked to comprehend either Java or AspectJ implementation of the same system, and perform the corresponding comprehension tasks. Participants of both groups achieved a high rate of correct answers without a statistically significant difference between the groups. Nevertheless, the Java group significantly outperformed the AspectJ group with respect to the average completion time. In the second experiment, 24 student subjects were asked to implement (in a non-invasive way) two extension scenarios to the system that they had already known. Each subject evolved either the Java version using Java or the AspectJ version using AspectJ. We found out that a typical AspectJ programmer needs significantly fewer atomic changes to implement the change scenarios than a typical Java programmer, but we did not observe a significant difference in completion time. The overall result indicates that AspectJ has a different effect on two sub-characteristics of the evolvability: understandability and changeability. While AspectJ decreases the former, it improves one aspect of the latter.

Cytowania

  • 1 1

    CrossRef

  • 0

    Web of Science

  • 2 2

    Scopus

Słowa kluczowe

Informacje szczegółowe

Kategoria:
Publikacja w czasopiśmie
Typ:
artykuł w czasopiśmie wyróżnionym w JCR
Opublikowano w:
EMPIRICAL SOFTWARE ENGINEERING nr 23, strony 2018 - 2050,
ISSN: 1382-3256
Język:
angielski
Rok wydania:
2018
Opis bibliograficzny:
Przybyłek A.: An empirical study on the impact of AspectJ on software evolvability// EMPIRICAL SOFTWARE ENGINEERING. -Vol. 23, iss. 4 (2018), s.2018-2050
DOI:
Cyfrowy identyfikator dokumentu elektronicznego (otwiera się w nowej karcie) 10.1007/s10664-017-9580-7
Weryfikacja:
Politechnika Gdańska

wyświetlono 146 razy

Publikacje, które mogą cię zainteresować

Meta Tagi