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 2
CrossRef
-
0
Web of Science
-
2 3
Scopus
Autor (1)
Cytuj jako
Pełna treść
- Wersja publikacji
- Accepted albo Published Version
- DOI:
- Cyfrowy identyfikator dokumentu elektronicznego (otwiera się w nowej karcie) 10.1007/s10664-017-9580-7
- Licencja
- otwiera się w nowej karcie
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 179 razy
Publikacje, które mogą cię zainteresować
Techno-economic evaluation of combined cycle gas turbine and a diabatic compressed air energy storage integration concept
- S. Kruk-Gotzman,
- I. Iliev,
- G. Negreanu
- + 2 autorów