Answers are grounded in this paper and cite their sources.
Changing business requirements and the need to improve user satisfaction mean that software source code must be modified frequently to implement new features, enhancements, and bug fixes. These frequent code changes introduce uncertainty and complexity, which is quantified by entropy-based measures. Previous studies have used entropy-based measures for bug prediction by analyzing the distribution of changes across different source code files. However, such approaches do not capture the syntactic and semantic features of different programming-construct-based code changes. In this study, we identify 11 new programming-construct-based code change subcategories, in addition to those in the existing study. The different programming constructs are IF Statement (IF), Method Call (MC), Method Declaration (MD), Loop (LP), Sequence (SQ), Class Field (CF), Class (C), Try (TY), Assignment (AS), Switch (SW), and Finally (F). We use historical code change data from the Eclipse Java project’s Core, UI, and Debug components to quantify change complexity at the file and programming-construct levels and to propose an entropy-based bug prediction model using these metrics. The study examines relationships between programming-construct-based subcategories and bugs, their contribution to prediction performance, their consistency across components, and the effect of Shannon entropy transformation. This study proposes three bug prediction models based on entropy measures: two models use programming-construct-level change entropy, including individual and aggregated programming construct entropy, while the third model uses file-level change entropy. Experimental results across several regression techniques demonstrate that the programming-construct-level change entropy-based models achieve higher prediction performance than file-level change entropy-based models. The findings indicate that bug prediction using programming-construct-level change entropy provides better performance than file-level change entropy. The proposed study supports developers and managers in understanding software complexity and improving code maintainability.
No takes yet. Share an insight, caveat, or question.
Rani et al. (2026) studied this question.
Synapse has enriched 10 related papers. Consider them for comparative context: