Atoms of Confusion in the Android Open Source Project: A Prevalence Study

The Android Open Source Project (AOSP) is the open-source project responsible for the Android operating system. In the AOSP, developers collaborate to add features, fix bugs, and improve the performance of a code base of more than 14 million lines written in different programming languages (e.g., C, Java, and Kotlin). This code must have minimum quality requirements to facilitate its maintenance and evolution. However, latent software quality problems can persist in such complex projects, leading to maintainability and evolution issues. An example of a latent problem is Atoms of Confusion (AC), small indivisible code fragments that cause comprehension difficulties. To shed light on this matter, we conducted an empirical study in the AOSP with twofold goals: (i) perform a prevalence and frequency analysis of ACs in this project, and (ii) relate ACs presence with Chidamber & Kemerer (CK) metrics suite. We found that 331 of the 370 AOSP repositories analyzed have at least one atom, with Logic as Control Flow being the most frequent and prevalent, with more than 110,000 occurrences found and present in 96% of the repositories with the presence of atoms. We also observed that the presence of ACs has a positive correlation with some CK metrics, such as WMC (Weighted Methods per Class) and RFC (Response for a Class), as well as the number of LOC (Lines of Code).

Authors

Institutions

Publication Details

Published
2024-09-30
DOI
https://doi.org/10.5753/vem.2024.3840
Primary Topic
Software Engineering Research
Type
article
Field-Weighted Citation Impact
0.00

Funders

Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Atoms of Confusion in the Android Open Source Project: A Prevalence Study

Davi Tabosa, Windson Viana, Lincoln S. Rocha
Software Engineering Research
article

Atoms of Confusion in the Android Open Source Project: A Prevalence Study

Davi Tabosa, Windson Viana, Lincoln S. Rocha
article en

Abstract

The Android Open Source Project (AOSP) is the open-source project responsible for the Android operating system. In the AOSP, developers collaborate to add features, fix bugs, and improve the performance of a code base of more than 14 million lines written in different programming languages (e.g., C, Java, and Kotlin). This code must have minimum quality requirements to facilitate its maintenance and evolution. However, latent software quality problems can persist in such complex projects, leading to maintainability and evolution issues. An example of a latent problem is Atoms of Confusion (AC), small indivisible code fragments that cause comprehension difficulties. To shed light on this matter, we conducted an empirical study in the AOSP with twofold goals: (i) perform a prevalence and frequency analysis of ACs in this project, and (ii) relate ACs presence with Chidamber & Kemerer (CK) metrics suite. We found that 331 of the 370 AOSP repositories analyzed have at least one atom, with Logic as Control Flow being the most frequent and prevalent, with more than 110,000 occurrences found and present in 96% of the repositories with the presence of atoms. We also observed that the presence of ACs has a positive correlation with some CK metrics, such as WMC (Weighted Methods per Class) and RFC (Response for a Class), as well as the number of LOC (Lines of Code).

United Food and Commercial Workers (US)
Conselho Nacional de Desenvolvimento Científico e Tecnológico
Industry, innovation and infrastructure
Openalex Percentile: Top 72%
Software Engineering Research
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.