pith. sign in

arxiv: 2604.12123 · v2 · submitted 2026-04-13 · 💻 cs.SE

Programming Language Co-Usage Patterns on Stack Overflow: Analysis of the Developer Ecosystem

Pith reviewed 2026-05-10 15:13 UTC · model grok-4.3

classification 💻 cs.SE
keywords programming languagesco-usage patternsStack Overflowdeveloper ecosystemfrequent itemset miningtopic modelingcommunity detectionempirical analysis
0
0 comments X

The pith

Three independent analyses of Stack Overflow posts converge on the same structure of programming language communities and developer profiles.

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

The paper mines data from hundreds of thousands of Stack Overflow posts across 186 languages to reveal how developers combine languages in practice. FP-Growth finds tight co-usage clusters such as shell with bash and Swift with Objective-C. Latent Dirichlet Allocation identifies 25 developer profiles, including Apple-platform specialists and scientific programmers. Louvain community detection on the co-usage graph partitions languages into three macro-communities—web/enterprise, Apple ecosystem, and systems/scientific—with Java as the central connector. All three methods agree on this ecosystem layout, providing cross-validation of the observed patterns.

Core claim

FP-Growth identifies tight coupling clusters such as shell/bash, Swift/Objective-C, and the C-family with lift values far exceeding popularity predictions. LDA produces 25 developer profiles including Apple-platform developers, scientific and hardware programmers, functional/academic programmers, and two distinct Unix scripting sub-profiles. Louvain partitions the language graph into three macro-communities: web/enterprise, Apple ecosystem, and systems/scientific, identifying Java as the highest-degree hub connecting all three. All three methods independently converge on the same ecosystem structure.

What carries the argument

The three-phase empirical pipeline applying FP-Growth frequent itemset mining, Latent Dirichlet Allocation topic modeling, and Louvain community detection to a weighted co-usage graph derived from Stack Overflow posts.

If this is right

  • Certain language pairs form tight couplings that exceed what popularity alone would predict.
  • Developers specialize into coherent profiles such as Apple-platform or scientific programmers.
  • The ecosystem divides into three macro-communities bridged by Java as a high-degree hub.
  • Unix scripting splits into two distinct sub-profiles rather than a single category.
  • Language combinations define both complementary stacks and bridges between communities.

Where Pith is reading between the lines

These are editorial extensions of the paper, not claims the author makes directly.

  • The consistent structure across methods suggests the ecosystem organization is stable enough to appear in behavioral traces from question-answering sites.
  • These communities could be used to design targeted tooling or documentation that respects observed stack boundaries.
  • Tracking how the detected communities shift over time on the same platform would test whether the structure evolves with new language adoption.
  • Similar multi-method analysis on GitHub activity logs could check whether the three-community partition holds beyond Stack Overflow's question-asking context.

Load-bearing premise

Patterns of language co-usage extracted from Stack Overflow posts represent actual developer practices in the wider software ecosystem without substantial bias from the platform's user demographics or question-asking incentives.

What would settle it

A large-scale analysis of language usage in open-source repositories or developer surveys outside Stack Overflow that shows markedly different co-usage frequencies or community partitions would falsify the claim of representativeness.

Figures

Figures reproduced from arXiv: 2604.12123 by Bachan Ghimire, Nitin Gupta.

Figure 1
Figure 1. Figure 1: visualizes rules with lift ≥ 2. The shell/bash and swift/objective￾c dyads appear as isolated peripheral clusters, visually confirming their self-contained nature. The central component shows C-family rules converging on c++ and java [PITH_FULL_IMAGE:figures/full_fig_p004_1.png] view at source ↗
Figure 2
Figure 2. Figure 2: LDA topic-language weight heatmap (12 largest top [PITH_FULL_IMAGE:figures/full_fig_p005_2.png] view at source ↗
Figure 3
Figure 3. Figure 3: visualizes the community structure. The javascript/java/php block (Community 0, upper left) and the python/c++ cluster (Com￾munity 2, lower right) are visually separated, with C at the bound￾ary. The Apple ecosystem languages form a distinct cluster in the middle-left, well separated from both main blocks [PITH_FULL_IMAGE:figures/full_fig_p006_3.png] view at source ↗
read the original abstract

Understanding how developers combine programming languages in practice reveals the hidden structure of the software ecosystem: which languages are used as complements, which define coherent technology stacks, and which bridge disparate communities. We present a three-phase empirical pipeline that mines Stack Overflow posts by hundreds of thousands of developers across 186 programming languages, applying FP-Growth frequent itemset mining, Latent Dirichlet Allocation topic modeling, and Louvain community detection on a weighted co-usage graph, with the goal of characterizing co-usage coupling, latent developer specializations, and macro-level ecosystem structure simultaneously from behavioral data. FP-Growth identifies tight coupling clusters such as shell/bash, Swift/Objective-C, and the C-family with lift values far exceeding what individual language popularity predicts. LDA produces 25 developer profiles including Apple-platform developers, scientific and hardware programmers, functional/academic programmers, and two distinct Unix scripting sub-profiles. Louvain partitions the language graph into three macro-communities: web/enterprise, Apple ecosystem, and systems/scientific, and identifies Java as the highest-degree hub connecting all three. All three methods independently converge on the same ecosystem structure, providing strong cross-method validation of the findings.

Editorial analysis

A structured set of objections, weighed in public.

Desk editor's note, referee report, simulated authors' rebuttal, and a circularity audit. Tearing a paper down is the easy half of reading it; the pith above is the substance, this is the friction.

Referee Report

2 major / 2 minor

Summary. The manuscript presents a three-phase empirical pipeline analyzing programming language co-usage from Stack Overflow posts involving hundreds of thousands of developers and 186 languages. It applies FP-Growth frequent itemset mining to identify tight coupling clusters (e.g., shell/bash, Swift/Objective-C), LDA topic modeling to derive 25 latent developer profiles (e.g., Apple-platform, scientific, functional/academic), and Louvain community detection on a weighted co-usage graph to reveal three macro-communities (web/enterprise, Apple ecosystem, systems/scientific) with Java as the highest-degree hub. The central claim is that these three methods independently converge on the same ecosystem structure, providing strong cross-method validation of the findings on complements, stacks, and bridging communities.

Significance. If the results hold after addressing the noted concerns, the work contributes a large-scale behavioral analysis of the software ecosystem's hidden structure, identifying technology stacks and community bridges from real developer activity. The multi-method application on co-occurrence data is a strength that could support applications in developer tooling and education. The scale (186 languages) adds breadth, though external validity beyond the platform remains to be established.

major comments (2)
  1. [Abstract] Abstract: The claim that 'All three methods independently converge on the same ecosystem structure, providing strong cross-method validation' is load-bearing for the paper's contribution. However, FP-Growth mines itemsets directly from the co-occurrence counts, the Louvain graph is constructed from the identical pairwise frequencies, and LDA operates on language mention features from the same posts. Because the methods share the same underlying data-generating process, their agreement is expected from the common signal and does not constitute independent corroboration of a broader 'hidden structure of the software ecosystem'.
  2. [Abstract] Abstract and results sections: The interpretive step from observed SO co-usage patterns to characterizations of the 'software ecosystem' (including claims about complements, stacks, and bridging communities) lacks any discussion of platform-specific biases, such as SO user demographics or incentives for question-asking. This assumption is central to the significance of the macro-level findings but is not tested or bounded.
minor comments (2)
  1. [Abstract] The abstract and methods description should specify the exact number of posts analyzed, preprocessing steps for language extraction, and the chosen values for free parameters (number of LDA topics, FP-Growth minimum support threshold) along with any sensitivity checks.
  2. Tables or figures presenting the identified clusters, profiles, and communities would benefit from including quantitative metrics (e.g., lift values for all FP-Growth itemsets, modularity scores for Louvain) and clear cross-references in the text.

Simulated Author's Rebuttal

2 responses · 0 unresolved

We thank the referee for the insightful comments, which have helped us strengthen the manuscript. We agree that the original wording overstated the independence of the methods and that platform biases require explicit discussion. Revisions have been made to address both points directly.

read point-by-point responses
  1. Referee: [Abstract] Abstract: The claim that 'All three methods independently converge on the same ecosystem structure, providing strong cross-method validation' is load-bearing for the paper's contribution. However, FP-Growth mines itemsets directly from the co-occurrence counts, the Louvain graph is constructed from the identical pairwise frequencies, and LDA operates on language mention features from the same posts. Because the methods share the same underlying data-generating process, their agreement is expected from the common signal and does not constitute independent corroboration of a broader 'hidden structure of the software ecosystem'.

    Authors: We agree that the three methods operate on the same Stack Overflow co-usage dataset and therefore share the underlying data-generating process. The observed convergence across FP-Growth, LDA, and Louvain therefore represents internal consistency across distinct analytical perspectives rather than independent corroboration from separate data sources. We have revised the abstract and the relevant results and discussion sections to remove the term 'independently' and to clarify that the multi-method agreement provides robust confirmation of patterns within the observed co-usage data, while acknowledging the shared data foundation. revision: yes

  2. Referee: [Abstract] Abstract and results sections: The interpretive step from observed SO co-usage patterns to characterizations of the 'software ecosystem' (including claims about complements, stacks, and bridging communities) lacks any discussion of platform-specific biases, such as SO user demographics or incentives for question-asking. This assumption is central to the significance of the macro-level findings but is not tested or bounded.

    Authors: We acknowledge that the original manuscript did not adequately address potential biases arising from Stack Overflow's user base and posting incentives. These include demographic skews (e.g., toward professional developers in certain regions or experience levels) and the tendency for questions to reflect problematic or learning-oriented usage rather than everyday production stacks. In the revised version we have added a new Limitations section that explicitly discusses these platform-specific factors, cites relevant prior work on SO demographics, and bounds our claims about complements, stacks, and bridging communities to the Stack Overflow context while noting the value of the large-scale behavioral signal. revision: yes

Circularity Check

0 steps flagged

No significant circularity: empirical pipeline on external data with standard algorithms

full rationale

The paper describes an empirical analysis that extracts language co-usage from Stack Overflow posts and applies three off-the-shelf algorithms (FP-Growth, LDA, Louvain) to the resulting co-occurrence counts. No equations, fitted parameters, or derivations are present that reduce to self-definitions or inputs by construction. The observation that the methods produce consistent partitions is an empirical outcome on shared data rather than a mathematical equivalence or self-referential claim. No load-bearing self-citations or imported uniqueness theorems appear in the text. The work is therefore self-contained against its external data source and does not exhibit any of the enumerated circularity patterns.

Axiom & Free-Parameter Ledger

2 free parameters · 1 axioms · 0 invented entities

The claims rest on the representativeness of Stack Overflow data and on standard but unstated hyperparameter choices for the three algorithms.

free parameters (2)
  • Number of LDA topics
    Set to 25 to produce the reported developer profiles; choice is a modeling decision that directly shapes the specialization findings.
  • FP-Growth minimum support threshold
    Required to define frequent itemsets but value not stated in abstract.
axioms (1)
  • domain assumption Stack Overflow posts accurately reflect real-world developer language co-usage patterns
    Invoked to generalize mined clusters and communities to the broader developer ecosystem.

pith-pipeline@v0.9.0 · 5503 in / 1334 out tokens · 84008 ms · 2026-05-10T15:13:44.778545+00:00 · methodology

discussion (0)

Sign in with ORCID, Apple, or X to comment. Anyone can read and Pith papers without signing in.

Reference graph

Works this paper leans on

31 extracted references · 31 canonical work pages

  1. [1]

    Rakesh Agrawal and Ramakrishnan Srikant. 1994. Fast Algorithms for Mining Association Rules. InProceedings of the 20th International Conference on Very Large Data Bases (VLDB). 487–499

  2. [2]

    Arshad Ahmad, Chun Feng, Siffat Ullah Khan, Abdus Salam, and Toqir Ahmad Rana. 2018. A Survey on Mining Stack Overflow: Question and Answering (Q&A) Community.Data Technologies and Applications52, 2 (2018), 190–250

  3. [3]

    Abdullah Al Alamin, Sanjay Malakar, Gias Uddin, Saikat Acharya, Nasir Tamanna, and Mohon Pal

    Md. Abdullah Al Alamin, Sanjay Malakar, Gias Uddin, Saikat Acharya, Nasir Tamanna, and Mohon Pal. 2021. An Empirical Study of Developer Discussions on Low-Code Software Development Challenges. InProceedings of the 18th International Conference on Mining Software Repositories (MSR). 149–160

  4. [4]

    Alessia Antelmi, Gennaro Cordasco, Carmelo Spagnuolo, and Luca Zoppoli

  5. [5]

    InCompanion Proceedings of the ACM Web Conference 2023

    The Age of Snippet Programming: Toward Understanding Developer Communities in Stack Overflow and Reddit. InCompanion Proceedings of the ACM Web Conference 2023. 1417–1424

  6. [6]

    Guillermo Blanco, Roi Pérez-López, Florentino Fdez-Riverola, and Anália Maria Garcia Lourenço. 2020. Understanding the Social Evolution of the Java Community in Stack Overflow: A 10-Year Study of Developer Interactions.Future Generation Computer Systems105 (2020), 446–454

  7. [7]

    Blanthorn, Cagatay Turkay, and Elif Firat

    Oliver A. Blanthorn, Cagatay Turkay, and Elif Firat. 2019. Evolution of Communi- ties of Software: Using Tensor Decompositions to Compare Software Ecosystems. Applied Network Science4, 1 (2019), 94

  8. [8]

    Blei, Andrew Y

    David M. Blei, Andrew Y. Ng, and Michael I. Jordan. 2003. Latent Dirichlet Allocation.Journal of Machine Learning Research3 (2003), 993–1022

  9. [9]

    Blondel, Jean-Loup Guillaume, Renaud Lambiotte, and Etienne Lefeb- vre

    Vincent D. Blondel, Jean-Loup Guillaume, Renaud Lambiotte, and Etienne Lefeb- vre. 2008. Fast Unfolding of Communities in Large Networks.Journal of Statistical Mechanics: Theory and Experiment2008, 10 (2008), P10008

  10. [10]

    Gordon Burtch, Dokyun Lee, and Zhengzheng Chen. 2024. The Consequences of Generative AI for Online Knowledge Communities.Scientific Reports14, 1 (2024), 9087

  11. [11]

    Stefano Cagnoni, Lorenzo Cozzini, Gianfranco Lombardo, Monica Mordonini, Agostino Poggi, and Michele Tomaiuolo. 2020. Emotion-Based Analysis of Programming Languages on Stack Overflow.ICT Express6, 3 (2020), 238–242

  12. [12]

    Partha Chakraborty, Mahmoud Alfadel, and Emad Shihab. 2021. How Do De- velopers Discuss and Support New Programming Languages in Technical Q&A Sites? An Empirical Study of Go, Swift, and Rust in Stack Overflow.Information and Software Technology137 (2021), 106603. Co-Usage Patterns of Programming Languages on Stack Overflow

  13. [13]

    Feitelson

    Tsvi Cherny-Shahar and Dror G. Feitelson. 2024. Multi-Lingual Development and Programming Languages Interoperability: An Empirical Study.arXiv preprint arXiv:2403.04048(2024)

  14. [14]

    Ali Babar, and M

    Roland Croft, M. Ali Babar, and M. Mehdi Kholoosi. 2021. An Empirical Study of Developers’ Discussions about Security Challenges of Different Programming Languages.Empirical Software Engineering26, 3 (2021), 56

  15. [15]

    Maria del Rio-Chanona, Nadzeya Laurentsyeva, and Johannes Wachs. 2023. Large Language Models Reduce Public Knowledge Sharing on Online Q&A Platforms. PNAS Nexus2, 9 (2023), pgad304

  16. [16]

    Siamak Farshidi. 2021. A Decision Model for Programming Language Ecosystem Selection: Seven Industry Case Studies.Information and Software Technology136 (2021), 106575

  17. [17]

    Quentin Gallea. 2023. From Mundane to Meaningful: AI’s Influence on Work Dynamics – Evidence from ChatGPT and Stack Overflow.arXiv preprint arXiv:2306.07914(2023)

  18. [18]

    Jiawei Han, Jian Pei, and Yiwen Yin. 2000. Mining Frequent Patterns without Can- didate Generation. InProceedings of the ACM SIGMOD International Conference on Management of Data. 1–12

  19. [19]

    Ali Babar

    Mubin Ul Haque, Leonardo Horn Iwaya, and M. Ali Babar. 2020. Challenges in Docker Development: A Large-Scale Study Using Stack Overflow. InProceedings of the 14th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM). 1–11

  20. [20]

    Denis Helic, Martin Pröll, and Markus Strohmaier. 2025. Stack Overflow Is Not Dead Yet: Crowd Answers Still Matter.arXiv preprint arXiv:2502.05659(2025)

  21. [21]

    Roy, and Kevin A

    Saikat Mondal, Chanchal K. Roy, and Kevin A. Schneider. 2023. Investigating Technology Usage Span by Analyzing Users’ Q&A Traces in Stack Overflow. InProceedings of the 30th Asia-Pacific Software Engineering Conference (APSEC). 251–260

  22. [22]

    Iraklis Moutidis and Hywel T. P. Williams. 2021. Community Evolution on Stack Overflow.PLOS ONE16, 6 (2021), e0253010

  23. [23]

    Saddam Hossain Mukta, Md

    Md. Saddam Hossain Mukta, Md. Khabir Uddin Ahamed, Md. Jawad Sayem, Jubair Ahmed, Mohammed Eunus Ali, and Md. Mosaddek Khan. 2024. Analysis of Software Developers’ Programming Language Preferences and Community Behavior from Big5 Personality Traits.Software: Practice and Experience54, 1 (2024), 77–99

  24. [24]

    Mark E. J. Newman and Michelle Girvan. 2004. Finding and Evaluating Commu- nity Structure in Networks.Physical Review E69, 2 (2004), 026113

  25. [25]

    Decker, and Christian D

    Anthony Peruma, Mohamed Wiem Mkaouer, Michael J. Decker, and Christian D. Newman. 2021. How Do I Refactor This? An Empirical Study on Refactoring Trends and Topics in Stack Overflow.Empirical Software Engineering26, 6 (2021), 107

  26. [26]

    Sebastian Raschka. 2018. Mlxtend: Providing Machine Learning and Data Science Utilities and Extensions to Python’s Scientific Computing Stack.The Journal of Open Source Software3, 24 (2018)

  27. [27]

    Nischal Shrestha, Colton Botta, Titus Barik, and Chris Parnin. 2020. Here We Go Again: Why Is It Difficult for Developers to Learn Another Programming Language?. InProceedings of the 42nd International Conference on Software Engi- neering (ICSE). 691–701

  28. [28]

    Camila Costa Silva, Marco Tulio Valente, and Nicolás Anquetil. 2021. Topic Modeling in Software Engineering Research.Empirical Software Engineering26, 6 (2021), 108

  29. [29]

    Darko Ðurđev. 2024. Popularity of Programming Languages.AIDASCO Reviews 2, 1 (2024)

  30. [30]

    Jiawei Wu, Qizhi Zhang, Xin Peng, Chaozheng Wang, and Bing Xie. 2023. A Programming Language Learning Service by Linking Stack Overflow with Text- books. InProceedings of the IEEE International Conference on Web Services (ICWS). 576–588

  31. [31]

    Mansooreh Zahedi, Muhammad Ali Babar, and Aufeef Chauhan. 2020. Mining Questions Asked about Continuous Software Engineering: A Case Study of Stack Overflow. InProceedings of the 24th International Conference on Evaluation and Assessment in Software Engineering (EASE). 1–10