An Insight into the Reusability of Stack Overflow Code Fragments in Mobile Applications
Bibliographic record
Abstract
Code reusing from crowd-sourced sites, specifically Stack Overflow (SO), is a widely practiced fundamental phenomenon in software development. However, severe consequences might arise if the incorporated SO code snippets contain code smells that cause software inconsistency. In particular, software bugs and failures cost trillions of dollars every year, including severe fatalities. This study reveals the impact of SO code fragments reused in mobile application codebase regarding software bugs and imminent maintenance. Additionally, we perform an intense analysis on reused code snippets (SO) and other (nonSO) code snippets for ten open-source and industrial projects. Later, we also investigate the regular properties of SO answers (i.e., answer scores and answerer reputation) to know whether those properties help identify appropriate SO fragments when reused, considering that 2.1 million SO code snippets are written in Java. The analysis exhibits, 1) the proportion of reused SO code is comparatively higher in industrial mobile apps than in open-source; 2) SO code fragments are significantly more change-prone than non-SO code; 3) SO code snippets are responsible for bug occurrence in later revisions, which is comparatively higher in industrial projects than in open-source ones. Besides, the SO code snippets cannot be judged whether it is buggy or not using the regular properties (i.e., answer scores and answerer reputation). Our experimental results can assist the SO, research, and mobile developer communities in strengthening re-usability concerns to facilitate code-quality improvement and minimize software bugs due to SO code.
Fetched live from OpenAlex and de-inverted. Abstracts are not stored in this database: the inverted indexes are 8.6 GB of the frame’s 9.3 GB of text, and the host has 13 GB free.
How this classification was reachedexpand
Full frame machine prediction
Teacher imitationNot calibrated prevalence, not ground truth. Human validation pending. The Gemma side is a direct model label for every work in the frame, read from the title-only record. The Codex side is a classifier learned from the 10,348 direct Codex labels and calibrated to design-weighted sample rates; fields without enough sample support carry no Codex call. Candidate is the union of the two sides; consensus is their intersection. These outputs are machine_predicted_unvalidated and are not human labels.
Distilled classifier scores by category (both heads)
| Category | Codex | Gemma |
|---|---|---|
| Metaresearch | 0.003 | 0.025 |
| Meta-epidemiology (narrow) | 0.001 | 0.000 |
| Meta-epidemiology (broad) | 0.000 | 0.001 |
| Bibliometrics | 0.005 | 0.002 |
| Science and technology studies | 0.001 | 0.001 |
| Scholarly communication | 0.001 | 0.002 |
| Open science | 0.001 | 0.001 |
| Research integrity | 0.001 | 0.001 |
| Insufficient payload (model declined to judge) | 0.001 | 0.000 |
Machine scores (provisional)
The two teacher heads of the student model, read on this work. A score orders the frame for review; it never asserts a category, and the validation status ships verbatim with every row.
Baseline scores from an immature model (maturity gate not passed, 7 training rounds). Scores rank; they never assert a category.
score_only:v0-immature-baseline · verbatim from the scoring run: score_only means the number may rank works, and no category label ships from itClassification
machine, unvalidatedMachine predicted; a candidate call from one source (direct Gemma or distilled Codex), not a consensus.
How this classification was reached, model by model and score by score, is at the end of the page under "How this classification was reached".