An Analysis of Bug Distribution in Object Oriented Systems
Alessandro Murgia, Giulio Concas, Michele Marchesi, Roberto Tonelli, and Ivana Turnu

TL;DR
This paper analyzes bug distribution in Java object-oriented systems by modeling software as graphs and examining metric distributions and their relation to bugs, revealing power-law behaviors and evolution over releases.
Contribution
It introduces a graph-based approach to analyze bug distribution and metric relationships in Java systems, highlighting power-law behaviors and temporal evolution.
Findings
Metrics and bug counts follow power-law distributions.
Relationships between metrics and bugs evolve over software releases.
Certain metrics can predict bug-prone components.
Abstract
We introduced a new approach to describe Java software as graph, where nodes represent a Java file - called compilation unit (CU) - and an edges represent a relations between them. The software system is characterized by the degree distribution of the graph properties, like in-or-out links, as well as by the distribution of Chidamber and Kemerer metrics computed on its CUs. Every CU can be related to one or more bugs during its life. We find a relationship among the software system and the bugs hitting its nodes. We found that the distribution of some metrics, and the number of bugs per CU, exhibit a power-law behavior in their tails, as well as the number of CUs influenced by a specific bug. We examine the evolution of software metrics across different releases to understand how relationships among CUs metrics and CUs faultness change with time.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software System Performance and Reliability · Advanced Software Engineering Methodologies
