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 条
  • [21] A blessing in disguise? Assessing the Relationship between Code Smells and Sustainability
    Catolino, Gemma
    2020 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME 2020), 2020, : 779 - 780
  • [22] Are We Building on the Rock? On the Importance of Data Preprocessing for Code Summarization
    Shi, Lin
    Mu, Fangwen
    Chen, Xiao
    Wang, Song
    Wang, Junjie
    Yang, Ye
    Li, Ge
    Xia, Xin
    Wang, Qing
    PROCEEDINGS OF THE 30TH ACM JOINT MEETING EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING, ESEC/FSE 2022, 2022, : 107 - 119
  • [23] Who are Source Code Contributors and How do they Change?
    Di Penta, Massimiliano
    German, Daniel M.
    16TH WORKING CONFERENCE ON REVERSE ENGINEERING (WCRE 2009), 2009, : 11 - +
  • [24] How does code obfuscation impact energy usage?
    Sahin, Cagri
    Wan, Mian
    Tornquist, Philip
    McKenna, Ryan
    Pearson, Zachary
    Halfond, William G. J.
    Clause, James
    JOURNAL OF SOFTWARE-EVOLUTION AND PROCESS, 2016, 28 (07) : 565 - 588
  • [25] Are the Code Snippets What We Are Searching for? A Benchmark and an Empirical Study on Code Search with Natural-Language Queries
    Yan, Shuhan
    Yu, Hang
    Chen, Yuting
    Shen, Beijun
    Jiang, Lingxiao
    PROCEEDINGS OF THE 2020 IEEE 27TH INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION, AND REENGINEERING (SANER '20), 2020, : 344 - 354
  • [26] An empirical study on how project context impacts on code cloning
    Perez-Castillo, Ricardo
    Piattini, Mario
    JOURNAL OF SOFTWARE-EVOLUTION AND PROCESS, 2018, 30 (12)
  • [27] How Well Do Search Engines Support Code Retrieval on the Web?
    Sim, Susan Elliott
    Umarji, Medha
    Ratanotayanon, Sukanya
    Lopes, Cristina V.
    ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2011, 21 (01)
  • [28] Are you smelling it? Investigating how similar developers detect code smells
    Hozano, Mario
    Garcia, Alessandro
    Fonseca, Baldoino
    Costa, Evandro
    INFORMATION AND SOFTWARE TECHNOLOGY, 2018, 93 : 130 - 146
  • [29] A Large-Scale Evaluation for Log Parsing Techniques: How Far AreWe?
    Jiang, Zhihan
    Liu, Jinyang
    Huang, Junjie
    Li, Yichen
    Huo, Yintong
    Gu, Jiazhen
    Chen, Zhuangbin
    Zhu, Jieming
    Lyu, Michael R.
    PROCEEDINGS OF THE 33RD ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON SOFTWARE TESTING AND ANALYSIS, ISSTA 2024, 2024, : 223 - 234
  • [30] Assessing code readability in Python']Python programming courses using eye-tracking
    Segedinac, Milan
    Savic, Goran
    Zeljkovic, Ivana
    Slivka, Jelena
    Konjovic, Zora
    COMPUTER APPLICATIONS IN ENGINEERING EDUCATION, 2024, 32 (01)