Fault-Prone Java Method Analysis Focusing on Pair of Local Variables with Confusing Names

Giving a name to a local variable is usually a programmer's discretion. Since it depends on the programmer's preference and experience, there is a lot of individual variation which may cause a variability in the code quality such as the readability. While there have been studies on the nam...

Full description

Saved in:
Bibliographic Details
Published in:2018 44th Euromicro Conference on Software Engineering and Advanced Applications (SEAA) pp. 154 - 158
Main Authors: Tashima, Keiichiro, Aman, Hirohisa, Amasaki, Sousuke, Yokogawa, Tomoyuki, Kawahara, Minoru
Format: Conference Proceeding
Language:English
Published: IEEE 01.08.2018
Subjects:
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:Giving a name to a local variable is usually a programmer's discretion. Since it depends on the programmer's preference and experience, there is a lot of individual variation which may cause a variability in the code quality such as the readability. While there have been studies on the naming of local variables in the past, a relationship of names among local variables within a method (function) has not been well-discussed. This paper focuses on a pair of local variables with similar, confusing names, e.g., "lineIndex" vs. "lineIndent." Since such local variables are confusable with each other, the presence of such a confusing pair may be related to the fault-proneness of the method. An empirical analysis for five major open source Java projects is conducted, and the following results are reported: (1) a method having a confusing variable pair is about 1.1 - 2.6 times more fault-prone than a method having only dissimilar (non-confusing) pairs; (2) the proposed metric of how confusing the local variables are is equivalent to or better than the conventional cyclomatic complexity in predicting fault-prone methods.
DOI:10.1109/SEAA.2018.00033