Pith. sign in

REVIEW 3 major objections 4 minor 15 references

Characterizing the transition to Kotlin of Android apps: a study on F-Droid, Play Store and GitHub

T0 review · 3 major / 4 minor · reviewed 2026-08-14 · deepseek-v4-flash

Pith's one-line read About 19% of F-Droid Android apps updated since October 2017 now use Kotlin code, and their GitHub popularity tends to be higher than Java-only apps.

desk verdict Solid descriptive mining study of Kotlin adoption in F-Droid apps; the popularity claim outruns the evidence. read the letter →

arxiv 1908.06412 v1 pith:3RZ4JC45 submitted 2019-08-18 cs.SE

classification cs.SE
keywords AndroidappsKotlinJavaF-DroidGitHubPlayStorelanguageadoptionempiricalsoftwareengineering
verification ladder T0 review T1 audit T2 compute T3 formal

The pith

A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.

The reading

This empirical study mines the F-Droid open-source Android repository, matches projects to their Google Play and GitHub counterparts, and measures how much Kotlin code appears in these apps over time. The central finding is that roughly one in five of 1,232 projects updated after October 2017 features Kotlin, and when Kotlin is adopted the transition is typically fast: most projects quickly move to a majority of Kotlin code. The paper also tests whether Kotlin presence correlates with user and developer popularity, finding a statistically significant link with the number of GitHub stars. For Android developers, the results suggest Kotlin migration is rapid and appears to carry no popularity penalty. A careful reading notes that the authors themselves caution that the star correlation does not imply causality.

What carries the argument

The central objects are a set of diffusion metrics (KRL: Kotlin relative lines of code; KRF: Kotlin relative files; KFPR: Kotlin-featuring projects ratio; KMPR: Kotlin-majority projects ratio) and evolution metrics (KNR, KAR, KMR, KOR over tagged releases), computed by static analysis with the cloc tool and git release histories. These metrics quantify how much Kotlin code exists in the latest snapshot and how it evolved over release history. The statistical engine is the Wilcoxon paired signed-rank test, used to compare popularity distributions between Kotlin and non-Kotlin projects.

What would settle it

A direct falsifier would be a matching study that pairs each Kotlin-using F-Droid project with a Java-only project of comparable age, activity, and developer reputation, and shows that the star-count difference disappears once these confounders are controlled. If the significance vanishes, the paper's central popularity claim would be unsupported. Alternatively, examining repositories that switched from Java to Kotlin mid-history and finding no change in star acquisition rate before versus after the switch would contradict the claimed influence.

Watch

Extended reading notes

Core claim

The paper reports that of 1,232 F-Droid projects updated after October 2017, 19% contain Kotlin code, and about 12% have more Kotlin code than Java. Among projects that adopt Kotlin, the migration is quick: on average, 70% of tagged releases contain Kotlin, and in 30% of releases Kotlin completely replaces Java. Using Wilcoxon rank-sum tests on popularity metrics, the study finds that Kotlin presence is statistically associated with more GitHub stars (p = 0.0002), while differences in Play Store ratings and download counts do not reach significance. The authors conclude that Kotlin seems to enable a seamless migration from Java at no cost to app popularity.

Load-bearing premise

The claim that Kotlin presence is associated with higher GitHub stars assumes that the observed correlation is not driven by other factors such as project age, developer reputation, or overall activity, a caveat the authors explicitly acknowledge.

Editorial extensions

If this is right

  • Android developers considering Kotlin can expect a rapid, largely unidirectional transition from Java, since projects that adopt Kotlin quickly reach majority-Kotlin code.
  • Open-source maintainers can anticipate no observed penalty in user ratings or downloads when switching to Kotlin, based on the study's metrics.
  • The statistically significant link between Kotlin presence and GitHub stars may attract researchers to study why developers are drawn to Kotlin-using repositories.
  • The dataset of 1,232 projects and their release histories could serve as a baseline for future empirical studies of language adoption in Android development.
  • The eight-metric framework (diffusion and evolution ratios) can be reused to track the introduction of other programming languages or major libraries in mobile codebases.

Reading between the lines

Editorial extensions of the paper, not claims the author makes directly.

  • The paper's own caution that the GitHub-star correlation does not imply causality suggests a probable confounding direction: popular or actively maintained projects may adopt Kotlin earlier, making the star association an effect of project vitality rather than of the language itself.
  • The reported pattern of 'diffusion first on GitHub, then on app stores' may indicate that developer-facing signals matter more than user-facing ones for technology adoption in the Android ecosystem.
  • A natural testable extension would be a controlled longitudinal study that tracks star counts before and after Kotlin adoption within the same repositories, holding project age and activity fixed, to separate language effect from popularity-driven adoption.
  • Given that the study sampled only projects active after October 2017, the results may underrepresent early Kotlin adopters and should be validated on a cohort that includes older, active projects from 2016–2017.
Share X Bluesky LinkedIn Reddit HN

Signed reviews

No signed human review yet.

Editorial analysis

A structured set of objections, weighed in public.

Desk editor's note, referee report, and a circularity audit.

Referee Report

3 major / 4 minor

Summary. This mining study characterizes the adoption of Kotlin in open-source Android applications by combining data from F-Droid, Google Play, and GitHub. The authors define eight metrics capturing the presence and relative amount of Kotlin code, compute them on 1,232 F-Droid projects updated after October 2017, and follow the release history of 145 projects to describe the Java-to-Kotlin transition. They then test, via Wilcoxon tests, whether Kotlin presence or Kotlin majority relates to Play Store ratings, downloads, and GitHub stars. The descriptive findings are that about 19% of the updated projects feature Kotlin, adopters transition quickly, and the only statistically significant popularity result is an association between Kotlin presence and GitHub star count (p=0.0002). The paper concludes that migration to Kotlin is seamless and 'seems to come at no cost' in terms of popularity.

Significance. If taken at face value, the descriptive contribution is a useful, reproducible snapshot of Kotlin diffusion in open-source Android apps, with clearly defined metrics and a published dataset that other researchers can reuse. The evolution analysis over tagged releases is a reasonable way to quantify the speed of language transition. The inferential claim about popularity, however, is substantially weaker than the abstract and conclusions suggest: the star-count result is an unadjusted cross-sectional association, one of six tests, with an inconsistent test nomenclature, and the paper itself acknowledges that it does not imply causality. The study is therefore valuable mainly as an exploratory characterization, not as evidence that Kotlin adoption causes popularity gains.

major comments (3)
  1. [§3, Table 5] The tests are labeled 'Wilkoxon Paired Signed Rank', but the comparison is between independent groups of projects (those with and without Kotlin). If the actual procedure was the rank-sum test described in §2.3 as 'Wilkoxon Rank Sum tests', the table and text should be corrected; if a paired test was truly used, the pairing variable must be specified. As written, the reported p=0.0002 cannot be interpreted faithfully.
  2. [§3, RQ3 answer; §6; Abstract] The wording 'statistically significant influence' and the conclusion that adoption 'seems to come at no cost in terms of popularity' overstate what the design supports. The comparison does not control for project age, release count, general activity, or developer reputation, and Section 4 explicitly acknowledges that the detected correlation does not imply causality. The manuscript should be revised to describe a statistically significant association, with a discussion of confounders, or should add an adjusted analysis such as matching or regression with control variables.
  3. [§3, Table 5, H_sk0 vs H_sm0] The presence of Kotlin is associated with GitHub stars (p=0.0002) but the majority-of-Kotlin comparison is not (p=0.560). This inconsistency is not discussed, and it weakens the robustness of the popularity claim; the paper should either explain why a larger Kotlin share has no detectable association while mere presence does, or temper the claim accordingly.
minor comments (4)
  1. [Throughout] There are several typographical errors: 'Wilkoxon' should be 'Wilcoxon'; 'provididing' in §2.3; 'one fo' and 'in orderd' in §6; and the p-value reported as '0.06.6' in §3 should be a valid decimal.
  2. [§2.2.4] The manual verification of the oldest-repository heuristic is described as confirming correctness 'in all cases', but no number of manually checked repositories is reported; please provide the count to support this claim.
  3. [Figure 1] The bars would be easier to interpret if sample sizes were shown in the plot or caption; currently the reader must cross-reference Table 2 to understand the groups.
  4. [Table 3] The abbreviation 'Ab.' in the table header and row labels is not expanded in the caption; define it for readability.

Circularity Check

0 steps flagged · score 0.0 of 10

No circularity: observational mining study measures Kotlin adoption directly and tests popularity associations without fitting or redefining outcomes.

full rationale

The paper is an empirical mining study, not a derivation. Kotlin presence is measured directly from source code via cloc and file counts (KRL, KRF, KFPR, KMPR), and the popularity metrics (Play Store rating, downloads, GitHub stars) are mined from external platforms. There is no equation in which popularity is defined in terms of Kotlin presence, and no parameter is fitted to a subset of data and then renamed as a prediction. The RQ3 hypothesis tests compare independent groups of projects with and without Kotlin; even though the test is named 'Wilkoxon Paired Signed Rank,' the possible misuse of a paired test is a statistical correctness issue, not circularity. The only self-citation, reference [13], describes the authors' earlier work on scripted GUI testing and is used in related work context, not as load-bearing support for the present claims. The paper also explicitly acknowledges in Section 4 that the detected correlation between Kotlin presence and GitHub stars does not imply causality, which is the appropriate limitation for an observational design. Because the central descriptive claims (about 19% adoption, quick transitions) and the correlational RQ3 analysis do not reduce by construction to their inputs, no circularity is present.

Assumptions & free parameters 1 free parameters · 3 assumptions · 0 invented entities

No free parameters are fitted to data; the sole hand-chosen threshold is the 45-day abandonment period. The study relies on standard statistical assumptions and on domain assumptions about representativeness and matching, which the authors partly acknowledge in the threats section.

free parameters (1)
  • Abandonment threshold = 45 days
    A project is considered abandoned on a repository if its last update is more than 45 days before the latest update in any repository. The authors note different thresholds could lead to significantly different evolution metrics.
assumptions (3)
  • domain assumption F-Droid projects are representative of open-source Android apps and package names uniquely identify the same app across F-Droid, Play Store, and GitHub.
    The entire study depends on correct cross-platform matching; mismatches would bias diffusion and popularity metrics. See Sections 2.2.3 and 2.2.4.
  • standard math Wilcoxon rank-sum tests are appropriate for comparing popularity distributions, requiring independent observations and no normality assumption.
    The authors use non-parametric tests for non-normal data, as stated in Sections 2.3 and 4.
  • domain assumption cloc and rg correctly classify Kotlin and Java source files and count lines of code as intended.
    The diffusion metrics depend on accurate language detection. See Section 2.2.2.

how reviews work

0 comments
Cite this review

Pith. "Pith review of Characterizing the transition to Kotlin of Android apps: a study on F-Droid, Play Store and GitHub." pith.science (2026). https://pith.science/paper/3RZ4JC45

@misc{pith2026190806412,
  author       = {Pith},
  title        = {Pith review of: Characterizing the transition to Kotlin of Android apps: a study on F-Droid, Play Store and GitHub},
  year         = {2026},
  howpublished = {\url{https://pith.science/paper/3RZ4JC45}},
  note         = {Machine review of arXiv:1908.06412}
}
read the original abstract

Kotlin is a novel language that represents an alternative to Java, and has been recently adopted as a first-class programming language for Android applications. Kotlin is achieving a significant diffusion among developers, and several studies have highlighted various advantages of the language when compared to Java. The objective of this paper is to analyze a set of open-source Android apps, to evaluate their transition to the Kotlin programming language throughout their lifespan and understand whether the adoption of Kotlin has impacts on the success of Android apps. We mined all the projects from the F-Droid repository of Android open-source applications, and we found the corresponding projects on the official Google Play Store and on the GitHub platform. We defined a set of eight metrics to quantify the relevance of Kotlin code in the latest update and through all releases of an application. Then, we statistically analyzed the correlation between the presence of Kotlin code in a project and popularity metrics mined from the platforms where the apps were released. Of a set of 1232 projects that were updated after October 2017, near 20% adopted Kotlin and about 12% had more Kotlin code than Java; most of the projects that adopted Kotlin quickly transitioned from Java to the new language. The projects featuring Kotlin had on average higher popularity metrics; a statistically significant correlation has been found between the presence of Kotlin and the number of stars on the GitHub repository. The Kotlin language seems able to guarantee a seamless migration from Java for Android developers. With an inspection on a large set of open-source Android apps, we observed that the adoption of the Kotlin language is rapid (when compared to the average lifespan of an Android project) and seems to come at no cost in terms of popularity among the users and other developers.

Figures

Figures reproduced from arXiv: 1908.06412 by the authors.

Figure 2
Figure 2. Average evolution metrics for apps released on [PITH_FULL_IMAGE:figures/full_fig_p004_2.png] view at source ↗
Figure 3
Figure 3. Evolution of the KRL metric on the lifespan of [PITH_FULL_IMAGE:figures/full_fig_p005_3.png] view at source ↗
Figure 4
Figure 4. Distribution of popularity metrics for apps up [PITH_FULL_IMAGE:figures/full_fig_p006_4.png] view at source ↗

Discussion (0). Continue with ORCID to comment.

Reference graph

Works this paper leans on

15 extracted references · 13 canonical work pages

  1. [1]

    Allix, T

    K. Allix, T. F. Bissyandé, J. Klein, and Y. L. Traon. Androzoo: Collecting millions of android apps for the research community. In 2016 IEEE/ACM 13th Working Conference on Mining Software Repositories (MSR) , pages 468–471, May 2016. doi: 10.1109/MSR.2016.056

  2. [2]

    Towards the quality improvement of cross- platform mobile applications

    Matias Martinez and Sylvain Lecomte. Towards the quality improvement of cross- platform mobile applications. In 2017 IEEE/ACM 4th International Conference on Mobile Software Engineering and Systems (MOBILESoft) , pages 184–188. IEEE, 2017

  3. [3]

    Y. Shah, J. Shah, and K. Kansara. Code obfuscating a kotlin-based app with proguard. In 2018 Second International Conference on Advances in Electronics, Computers and Communications (ICAECC) , pages 1–5, Feb 2018. doi: 10.1109/ ICAECC.2018.8479507

  4. [4]

    Goal question metric paradigm

    Victor R Basili-Gianluigi Caldiera and H Dieter Rombach. Goal question metric paradigm. Encyclopedia of software engineering , 1:528–532, 1994

  5. [5]

    App store mining is not enough for app improvement

    Maleknaz Nayebi, Henry Cho, and Guenther Ruhe. App store mining is not enough for app improvement. Empirical Software Engineering, pages 1–31, 2018

  6. [6]

    Android apps and user feedback: a dataset for software evolution and quality improvement

    Giovanni Grano, Andrea Di Sorbo, Francesco Mercaldo, Corrado A Visaggio, Gerardo Canfora, and Sebastiano Panichella. Android apps and user feedback: a dataset for software evolution and quality improvement. In Proceedings of the 2nd ACM SIGSOFT International Workshop on App Market Analytics , pages 8–11. ACM, 2017

  7. [7]

    Understanding the test automation culture of app developers

    Pavneet Singh Kochhar, Ferdian Thung, Nachiappan Nagappan, Thomas Zimmer- mann, and David Lo. Understanding the test automation culture of app developers. In 2015 IEEE 8th International Conference on Software Testing, Verification and Validation (ICST), pages 1–10. IEEE, 2015

  8. [8]

    An empirical evaluation of software obfuscation techniques applied to android apks

    Felix C Freiling, Mykola Protsenko, and Yan Zhuang. An empirical evaluation of software obfuscation techniques applied to android apks. In International Conference on Security and Privacy in Communication Networks , pages 315–328. Springer, 2014

Show all 15 references
  1. [9]

    To the attention of mobile software develop- ers: guess what, test your app! Empirical Software Engineering, Apr 2019

    Luis Cruz, Rui Abreu, and David Lo. To the attention of mobile software develop- ers: guess what, test your app! Empirical Software Engineering, Apr 2019. ISSN 1573-7616. doi: 10.1007/s10664-019-09701-0. URL https://doi.org/10.1007/s10664- 019-09701-0

  2. [10]

    Darwin: a static analysis dataset of malicious and benign android apps

    Nuthan Munaiah, Casey Klimkowsky, Shannon McRae, Adam Blaine, Samuel A Malachowsky, Cesar Perez, and Daniel E Krutz. Darwin: a static analysis dataset of malicious and benign android apps. InProceedings of the International Workshop on App Market Analytics, pages 26–29. ACM, 2016

  3. [11]

    Mining apps for abnormal usage of sensitive data

    Vitalii Avdiienko, Konstantin Kuznetsov, Alessandra Gorla, Andreas Zeller, Steven Arzt, Siegfried Rasthofer, and Eric Bodden. Mining apps for abnormal usage of sensitive data. In Proceedings of the 37th International Conference on Software Engineering-Volume 1, pages 426–436. ...

  4. [12]

    A systematic literature review: Opinion mining studies from mobile app store user reviews

    Necmiye Genc-Nayebi and Alain Abran. A systematic literature review: Opinion mining studies from mobile app store user reviews. Journal of Systems and Software, 125:207–219, 2017

  5. [13]

    Scripted gui testing of android open-source apps: evolution of test code and fragility causes

    Riccardo Coppola, Maurizio Morisio, Marco Torchiano, and Luca Ardito. Scripted gui testing of android open-source apps: evolution of test code and fragility causes. Empirical Software Engineering, May 2019. ISSN 1573-7616. doi: 10.1007/s10664- 019-09722-9. URL https://doi.org/...

  6. [14]

    Matheus Flauzino, Júlio Veríssimo, Ricardo Terra, Elder Cirilo, Vinicius H. S. Durelli, and Rafael S. Durelli. Are you still smelling it?: A comparative study between java and kotlin language. In Proceedings of the VII Brazilian Symposium on Software Components, Architectures,...

  7. [15]

    A comparative study: Java vs kotlin programming in android application devel- opment

    Madhurima Banerjee, Subham Bose, Aditi Kundu, and Madhuleena Mukherjee. A comparative study: Java vs kotlin programming in android application devel- opment. International Journal of Advanced Research in Computer Science , 9(3):41, 2018

Pith tools

Reviewed August 14, 2026 · model on record in the stance chip above.