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 条
  • [21] On the Effectiveness of Concern Metrics to Detect Code Smells: An Empirical Study
    Padilha, Juliana
    Pereira, Juliana
    Figueiredo, Eduardo
    Almeida, Jussara
    Garcia, Alessandro
    Sant'Anna, Claudio
    ADVANCED INFORMATION SYSTEMS ENGINEERING (CAISE 2014), 2014, 8484 : 656 - 671
  • [22] Are Existing Code Smells Relevant in Web Games? An Empirical Study
    Khanve, Vaishali
    ESEC/FSE'2019: PROCEEDINGS OF THE 2019 27TH ACM JOINT MEETING ON EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING, 2019, : 1241 - 1243
  • [23] Severity classification of software code smells using machine learning techniques: A comparative study
    Abdou, Ashraf
    Darwish, Nagy
    JOURNAL OF SOFTWARE-EVOLUTION AND PROCESS, 2024, 36 (01)
  • [24] Detecting Code Smells in Software Product Lines - An Exploratory Study
    Abilio, Ramon
    Padilha, Juliana
    Figueiredo, Eduardo
    Costa, Heitor
    2015 12TH INTERNATIONAL CONFERENCE ON INFORMATION TECHNOLOGY - NEW GENERATIONS, 2015, : 433 - 438
  • [25] Are existing code smells relevant in web games? An empirical study
    Khanve, Vaishali
    ESEC/FSE 2019 - Proceedings of the 2019 27th ACM Joint Meeting European Software Engineering Conference and Symposium on the Foundations of Software Engineering, 2019, : 1241 - 1243
  • [26] Refactoring Community Smells: An Empirical Study on the Software Practitioners of Bangladesh
    Tahsin, Noshin
    Sakib, Kazi
    2022 29TH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE, APSEC, 2022, : 422 - 426
  • [27] Code smells as system-level indicators of maintainability: An empirical study
    Yamashita, Aiko
    Counsell, Steve
    JOURNAL OF SYSTEMS AND SOFTWARE, 2013, 86 (10) : 2639 - 2653
  • [28] An Exploratory Study of the Impact of Code Smells on Software Change-proneness
    Khomh, Foutse
    Di Penta, Massimiliano
    Gueheneuc, Yann-Gael
    16TH WORKING CONFERENCE ON REVERSE ENGINEERING (WCRE 2009), 2009, : 75 - +
  • [29] Improving Software Design by Mitigating Code Smells
    Singh, Randeep
    Bindal, Amit Kumar
    Kumar, Ashok
    INTERNATIONAL JOURNAL OF SOFTWARE INNOVATION, 2022, 10 (01)
  • [30] A large-scale empirical study of code smells in JavaScript projects
    David Johannes
    Foutse Khomh
    Giuliano Antoniol
    Software Quality Journal, 2019, 27 : 1271 - 1314