Automatically Assessing Code Understandability: How Far Are We?

被引:0
|
作者
Scalabrino, Simone [1 ]
Bavota, Gabriele [2 ]
Vendome, Christopher [3 ]
Linares-Vasquez, Mario [4 ]
Poshyvanyk, Denys [3 ]
Oliveto, Rocco [1 ]
机构
[1] Univ Molise, Campobasso, Italy
[2] USI, Lugano, Switzerland
[3] Coll William & Mary, Williamsburg, VA USA
[4] Univ Los Andes, Bogota, Colombia
来源
PROCEEDINGS OF THE 2017 32ND IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE'17) | 2017年
关键词
Software metrics; Code understandability; Empirical study; Negative result;
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Program understanding plays a pivotal role in software maintenance and evolution: a deep understanding of code is the stepping stone for most software-related activities, such as bug fixing or testing. Being able to measure the understandability of a piece of code might help in estimating the effort required for a maintenance activity, in comparing the quality of alternative implementations, or even in predicting bugs. Unfortunately, there are no existing metrics specifically designed to assess the understandability of a given code snippet. In this paper, we perform a first step in this direction, by studying the extent to which several types of metrics computed on code, documentation, and developers correlate with code understandability. To perform such an investigation we ran a study with 46 participants who were asked to understand eight code snippets each. We collected a total of 324 evaluations aiming at assessing the perceived understandability, the actual level of understanding, and the time needed to understand a code snippet. Our results demonstrate that none of the (existing and new) metrics we considered is able to capture code understandability, not even the ones assumed to assess quality attributes strongly related with it, such as code readability and complexity.
引用
收藏
页码:417 / 427
页数:11
相关论文
共 38 条
  • [1] Automatically Assessing Code Understandability
    Scalabrino, Simone
    Bavota, Gabriele
    Vendome, Christopher
    Linares-Vasquez, Mario
    Poshyvanyk, Denys
    Oliveto, Rocco
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2021, 47 (03) : 595 - 613
  • [2] Understanding Code Understandability Improvements in Code Reviews
    Oliveira, Delano
    Santos, Reydne
    de Oliveira, Benedito
    Monperrus, Martin
    Castor, Fernando
    Madeiral, Fernanda
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2025, 51 (01) : 14 - 37
  • [3] Evaluation of Rust code verbosity, understandability and complexity
    Ardito L.
    Barbato L.
    Coppola R.
    Valsesia M.
    PeerJ Computer Science, 2021, 7 : 1 - 33
  • [4] Measuring Understandability of Aspect-Oriented Code
    Thongmak, Mathupayas
    Muenchaisri, Pornsiri
    DIGITAL INFORMATION AND COMMUNICATION TECHNOLOGY AND ITS APPLICATIONS, PT II, 2011, 167 (02): : 43 - +
  • [5] Evaluation of Rust code verbosity, understandability and complexity
    Ardito, Luca
    Barbato, Luca
    Coppola, Riccardo
    Valsesia, Michele
    PEERJ COMPUTER SCIENCE, 2021,
  • [6] Duplicate Bug Report Detection: How Far Are We?
    Zhang, Ting
    Han, Donggyun
    Vinayakarao, Venkatesh
    Irsan, Ivana Clairine
    Xu, Bowen
    Thung, Ferdian
    Lo, David
    Jiang, Lingxiao
    ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2023, 32 (04)
  • [7] Anchoring Code Understandability Evaluations Through Task Descriptions
    Wyrich, Marvin
    Merz, Lasse
    Graziotin, Daniel
    30TH IEEE/ACM INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION (ICPC 2022), 2022, : 133 - 140
  • [8] Predicting the understandability of computational notebooks through code metrics analysis
    Mojtaba Mostafavi Ghahfarokhi
    Alireza Asadi
    Arash Asgari
    Bardia Mohammadi
    Abbas Heydarnoori
    Empirical Software Engineering, 2025, 30 (4)
  • [9] Revisiting, Benchmarking and Exploring API Recommendation: How Far Are We?
    Peng, Yun
    Li, Shuqing
    Gu, Wenwei
    Li, Yichen
    Wang, Wenxuan
    Gao, Cuiyun
    Lyu, Michael R.
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2023, 49 (04) : 1876 - 1897
  • [10] Code and data spatial complexity: two important software understandability measures
    Chhabra, JK
    Aggarwal, KK
    Singh, Y
    INFORMATION AND SOFTWARE TECHNOLOGY, 2003, 45 (08) : 539 - 546