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 条
  • [41] Bug Prediction Model using Code Smells
    Ubayawardana, Gihan M.
    Karunaratna, Damith D.
    2018 18TH INTERNATIONAL CONFERENCE ON ADVANCES IN ICT FOR EMERGING REGIONS (ICTER) CONFERENCE PROCEEDINGS, 2018, : 70 - 77
  • [42] Detecting Code Smells using Deep Learning
    Das, Ananta Kumar
    Yadav, Shikhar
    Dhal, Subhasish
    PROCEEDINGS OF THE 2019 IEEE REGION 10 CONFERENCE (TENCON 2019): TECHNOLOGY, KNOWLEDGE, AND SOCIETY, 2019, : 2081 - 2086
  • [43] An Ontology-based Approach to Analyzing the Occurrence of Code Smells in Software
    da Silva Carvalho, Luis Paulo
    Novais, Renato
    Salvador, Lais do Nascimento
    de Mendonca Neto, Manoel Gomes
    ICEIS: PROCEEDINGS OF THE 19TH INTERNATIONAL CONFERENCE ON ENTERPRISE INFORMATION SYSTEMS - VOL 2, 2017, : 155 - 165
  • [44] Using Metrics for Code Smells of ML Pipelines
    Costal, Dolors
    Gomez, Cristina
    del Rey, Santiago
    Martinez-Fernandez, Silverio
    IEEE 21ST INTERNATIONAL CONFERENCE ON SOFTWARE ARCHITECTURE COMPANION, ICSA-C 2024, 2024, : 289 - 294
  • [45] On the diffuseness and the impact on maintainability of code smells: a large scale empirical investigation
    Fabio Palomba
    Gabriele Bavota
    Massimiliano Di Penta
    Fausto Fasano
    Rocco Oliveto
    Andrea De Lucia
    Empirical Software Engineering, 2018, 23 : 1188 - 1221
  • [46] Detecting Architecturally-Relevant Code Smells in Evolving Software Systems
    Bertran, Isela Macia
    2011 33RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2011, : 1090 - 1093
  • [47] On the diffuseness and the impact on maintainability of code smells: a large scale empirical investigation
    Palomba, Fabio
    Bavota, Gabriele
    Di Penta, Massimiliano
    Fasano, Fausto
    Oliveto, Rocco
    De Lucia, Andrea
    EMPIRICAL SOFTWARE ENGINEERING, 2018, 23 (03) : 1188 - 1221
  • [48] Study of Code Smells: A Review and Research Agenda
    Tandon, Stuti
    Kumar, Vijay
    Singh, V. B.
    INTERNATIONAL JOURNAL OF MATHEMATICAL ENGINEERING AND MANAGEMENT SCIENCES, 2024, 9 (03) : 472 - 498
  • [49] Code Smells Analysis Mechanisms, Detection Issues, and Effect on Software Maintainability
    Lafi, Mohammed
    Botros, Joseph Wassily
    Kafaween, Hamzah
    Al-Dasoqi, Ahmad Bassam
    Al-Tamimi, Abdelfatah
    2019 IEEE JORDAN INTERNATIONAL JOINT CONFERENCE ON ELECTRICAL ENGINEERING AND INFORMATION TECHNOLOGY (JEEIT), 2019, : 663 - 666
  • [50] Detecting Bad Smells with Machine Learning Algorithms: an Empirical Study
    Cruz, Daniel
    Santana, Amanda
    Figueiredo, Eduardo
    2020 IEEE/ACM INTERNATIONAL CONFERENCE ON TECHNICAL DEBT, TECHDEBT, 2020, : 31 - 40