Subjective evaluation of software evolvability using code smells:: An empirical study

被引:105
|
作者
Mantyla, Mika V. [1 ]
Lassenius, Casper [1 ]
机构
[1] Aalto Univ, Helsinki, Finland
关键词
code smells; subjective evaluation; perceived evaluation; maintainability; evolvability; code metrics; software metrics; human factors;
D O I
10.1007/s10664-006-9002-8
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
This paper presents the results of an empirical study on the subjective evaluation of code smells that identify poorly evolvable structures in software. We propose use of the term software evolvability to describe the ease of further developing a piece of software and outline the research area based on four different viewpoints. Furthermore, we describe the differences between human evaluations and automatic program analysis based on software evolvability metrics. The empirical component is based on a case study in a Finnish software product company, in which we studied two topics. First, we looked at the effect of the evaluator when subjectively evaluating the existence of smells in code modules. We found that the use of smells for code evaluation purposes can be difficult due to conflicting perceptions of different evaluators. However, the demographics of the evaluators partly explain the variation. Second, we applied selected source code metrics for identifying four smells and compared these results to the subjective evaluations. The metrics based on automatic program analysis and the human-based smell evaluations did not fully correlate. Based upon our results, we suggest that organizations should make decisions regarding software evolvability improvement based on a combination of subjective evaluations and code metrics. Due to the limitations of the study we also recognize the need for conducting more refined studies and experiments in the area of software evolvability.
引用
收藏
页码:395 / 431
页数:37
相关论文
共 50 条
  • [1] Subjective evaluation of software evolvability using code smells: An empirical study
    Mika V. Mäntylä
    Casper Lassenius
    Empirical Software Engineering, 2006, 11 : 395 - 431
  • [2] Empirical Software Evolvability - Code Smells and Human Evaluations
    Mantyla, Mika V.
    2010 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, 2010,
  • [3] Software Code Smells and Defects: An Empirical Investigation
    Brown, Reuben
    Greer, Des
    PROCEEDINGS OF THE 18TH INTERNATIONAL CONFERENCE ON EVALUATION OF NOVEL APPROACHES TO SOFTWARE ENGINEERING, ENASE 2023, 2023, : 570 - 580
  • [4] Empirical Study about Class Change Proneness Prediction using Software Metrics and Code Smells
    Forte Martins, Antonio Diogo
    Melo, Cristiano
    Monteiro, Jose Maria
    Machado, Javam de Castro
    PROCEEDINGS OF THE 22ND INTERNATIONAL CONFERENCE ON ENTERPRISE INFORMATION SYSTEMS (ICEIS), VOL 1, 2020, : 140 - 147
  • [5] Are architectural smells independent from code smells? An empirical study
    Fontana, Francesca Arcelli
    Lenarduzzi, Valentina
    Roveda, Riccardo
    Taibi, Davide
    JOURNAL OF SYSTEMS AND SOFTWARE, 2019, 154 : 139 - 156
  • [6] Software Metric Based Impact Analysis of Code Smells - A Large Scale Empirical Study
    Rahman, Md. Masudur
    Satter, Abdus
    Joarder, Md. Mahbubul Alam
    Sakib, Kazi
    SOFTWARE-PRACTICE & EXPERIENCE, 2025,
  • [7] Empirical Study on Code Smells in iOS Applications
    Rahkema, Kristiina
    Pfahl, Dietmar
    2020 IEEE/ACM 7TH INTERNATIONAL CONFERENCE ON MOBILE SOFTWARE ENGINEERING AND SYSTEMS, MOBILESOFT, 2020, : 61 - 65
  • [8] An empirical study on the impact of AspectJ on software evolvability
    Adam Przybyłek
    Empirical Software Engineering, 2018, 23 : 2018 - 2050
  • [9] An empirical study on the impact of AspectJ on software evolvability
    Przybylek, Adam
    EMPIRICAL SOFTWARE ENGINEERING, 2018, 23 (04) : 2018 - 2050
  • [10] Evaluation of Sampling Techniques in Software Fault Prediction Using Metrics and Code Smells
    Kaur, Kamaldeep
    Kaur, Parmeet
    2017 INTERNATIONAL CONFERENCE ON ADVANCES IN COMPUTING, COMMUNICATIONS AND INFORMATICS (ICACCI), 2017, : 1377 - 1386