Javascript must be enabled to continue!
An empirical study on software understandability and its dependence on code characteristics
View through CrossRef
AbstractContextInsufficient code understandability makes software difficult to inspect and maintain and is a primary cause of software development cost. Several source code measures may be used to identify difficult-to-understand code, including well-known ones such as Lines of Code and McCabe’s Cyclomatic Complexity, and novel ones, such as Cognitive Complexity.ObjectiveWe investigate whether and to what extent source code measures, individually or together, are correlated with code understandability.MethodWe carried out an empirical study with students who were asked to carry out realistic maintenance tasks on methods from real-life Open Source Software projects. We collected several data items, including the time needed to correctly complete the maintenance tasks, which we used to quantify method understandability. We investigated the presence of correlations between the collected code measures and code understandability by using several Machine Learning techniques.ResultsWe obtained models of code understandability using one or two code measures. However, the obtained models are not very accurate, the average prediction error being around 30%.ConclusionsBased on our empirical study, it does not appear possible to build an understandability model based on structural code measures alone. Specifically, even the newly introduced Cognitive Complexity measure does not seem able to fulfill the promise of providing substantial improvements over existing measures, at least as far as code understandability prediction is concerned. It seems that, to obtain models of code understandability of acceptable accuracy, process measures should be used, possibly together with new source code measures that are better related to code understandability.
Springer Science and Business Media LLC
Title: An empirical study on software understandability and its dependence on code characteristics
Description:
AbstractContextInsufficient code understandability makes software difficult to inspect and maintain and is a primary cause of software development cost.
Several source code measures may be used to identify difficult-to-understand code, including well-known ones such as Lines of Code and McCabe’s Cyclomatic Complexity, and novel ones, such as Cognitive Complexity.
ObjectiveWe investigate whether and to what extent source code measures, individually or together, are correlated with code understandability.
MethodWe carried out an empirical study with students who were asked to carry out realistic maintenance tasks on methods from real-life Open Source Software projects.
We collected several data items, including the time needed to correctly complete the maintenance tasks, which we used to quantify method understandability.
We investigated the presence of correlations between the collected code measures and code understandability by using several Machine Learning techniques.
ResultsWe obtained models of code understandability using one or two code measures.
However, the obtained models are not very accurate, the average prediction error being around 30%.
ConclusionsBased on our empirical study, it does not appear possible to build an understandability model based on structural code measures alone.
Specifically, even the newly introduced Cognitive Complexity measure does not seem able to fulfill the promise of providing substantial improvements over existing measures, at least as far as code understandability prediction is concerned.
It seems that, to obtain models of code understandability of acceptable accuracy, process measures should be used, possibly together with new source code measures that are better related to code understandability.
Related Results
Joint Beamforming and Aerial IRS Positioning Design for IRS-assisted MISO System with Multiple Access Points
Joint Beamforming and Aerial IRS Positioning Design for IRS-assisted MISO System with Multiple Access Points
<p><code>Intelligent reflecting surface (IRS) is a promising concept for </code><code><u>6G</u></code><code> wireless communications...
Joint Beamforming and Aerial IRS Positioning Design for IRS-assisted MISO System with Multiple Access Points
Joint Beamforming and Aerial IRS Positioning Design for IRS-assisted MISO System with Multiple Access Points
<p><code>Intelligent reflecting surface (IRS) is a promising concept for </code><code><u>6G</u></code><code> wireless communications...
Design of Malicious Code Detection System Based on Binary Code Slicing
Design of Malicious Code Detection System Based on Binary Code Slicing
<p>Malicious code threatens the safety of computer systems. Researching malicious code design techniques and mastering code behavior patterns are the basic work of network se...
A large-scale analysis of bioinformatics code on GitHub
A large-scale analysis of bioinformatics code on GitHub
AbstractIn recent years, the explosion of genomic data and bioinformatic tools has been accompanied by a growing conversation around reproducibility of results and usability of sof...
Alih Kode Dan Campur Kode Dalam Interaksi Masyarakat Terminal Motabuik Kota Atambua
Alih Kode Dan Campur Kode Dalam Interaksi Masyarakat Terminal Motabuik Kota Atambua
This research aims to describe the use of language in community interactions at the Motabuik terminal, Atambua City. The use of language in question is the form and function of cod...
Systematic Evaluation of AI-Generated Python Code: A Comparative Study across Progressive Programming Tasks
Systematic Evaluation of AI-Generated Python Code: A Comparative Study across Progressive Programming Tasks
Abstract
Background: AI-based code assistants are on the rise in software development as powerful technologies offering streamlining of code generation and better-quality c...
G-DCS: GCN-Based Deep Code Summary Generation Model
G-DCS: GCN-Based Deep Code Summary Generation Model
<p>In software engineering, software personnel faced many large-scale software and complex systems, these need programmers to quickly and accurately read and understand the c...
Code Switching and Code Mixing in the Communication of Arabic Language Education Master Students UIN Malang: A Sociolinguistic Study
Code Switching and Code Mixing in the Communication of Arabic Language Education Master Students UIN Malang: A Sociolinguistic Study
Code switching is the phenomenon of changing the use of language or language variants in a conversation by a speaker, either between languages (e.g., from Indonesian to English) or...

