An empirical study on the impact of AspectJ on software evolvability

被引:16
|
作者
Przybylek, Adam [1 ]
机构
[1] Gdansk Univ Technol, Fac Elect Telecommun & Informat, Narutowicza 11-12, PL-80233 Gdansk, Poland
关键词
Aspect-oriented programming; AOP; Maintainability; Understandability; Separation of concerns; Controlled experiment; EVOLUTION; DESIGN; METRICS;
D O I
10.1007/s10664-017-9580-7
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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 controlled 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.
引用
收藏
页码:2018 / 2050
页数:33
相关论文
共 50 条
  • [31] An empirical study of the impact of modern code review practices on software quality
    Shane McIntosh
    Yasutaka Kamei
    Bram Adams
    Ahmed E. Hassan
    Empirical Software Engineering, 2016, 21 : 2146 - 2189
  • [32] An empirical study of the impact of modern code review practices on software quality
    McIntosh, Shane
    Kamei, Yasutaka
    Adams, Bram
    Hassan, Ahmed E.
    EMPIRICAL SOFTWARE ENGINEERING, 2016, 21 (05) : 2146 - 2189
  • [33] The Impact of Ensemble Techniques on Software Maintenance Change Prediction: An Empirical Study
    Alsolai, Hadeel
    Roper, Marc
    APPLIED SCIENCES-BASEL, 2022, 12 (10):
  • [34] Unweaving the Impact of Aspect Changes in AspectJ
    Cavallaro, Luca
    Monga, Mattia
    FOAL09: FOUNDATIONS OF ASPECT-ORIENTED LANGUAGES, 2009, : 13 - 17
  • [35] Software evolvability: An ecosystem point of view
    Yu, Liguo
    Ramaswamy, Srini
    Bush, John
    THIRD INTERNATIONAL IEEE WORKSHOP ON SOFTWARE EVOLVABILITY, PROCEEDINGS, 2007, : 75 - +
  • [36] An empirical study of software productivity
    Morasca, S
    Russo, G
    25TH ANNUAL INTERNATIONAL COMPUTER SOFTWARE & APPLICATIONS CONFERENCE, 2001, : 317 - 322
  • [37] An empirical study on the software process
    Castro, MJ
    Moreira, HM
    ISSUES AND TRENDS OF INFORMATION TECHNOLOGY MANAGEMENT IN CONTEMPORARY ORGANIZATIONS, VOLS 1 AND 2, 2002, : 111 - 115
  • [38] Analyzing the Impact of Inter-smell Relations on Software Maintainability An Empirical Study with Software Product Lines
    Martins, Julio
    Moreira Bezerra, Carla Ilane
    Uchoa, Anderson
    PROCEEDINGS OF THE XV BRAZILIAN SYMPOSIUM ON INFORMATION SYSTEMS, SBSI 2019: Complexity on Modern Information Systems, 2019,
  • [39] On the impact of multiple source code representations on software engineering tasks - An empirical study
    Swarna, Karthik Chandra
    Mathews, Noble Saji
    Vagavolu, Dheeraj
    Chimalakonda, Sridhar
    JOURNAL OF SYSTEMS AND SOFTWARE, 2024, 210
  • [40] Exploring the impact of inter-smell relations on software maintainability: An empirical study
    Yamashita, Aiko
    Moonen, Leon
    Proceedings - International Conference on Software Engineering, 2013, : 682 - 691