AI-assisted programming is rapidly reshaping software development, with large language models (LLMs) enabling new paradigms such as vibe coding and agentic coding. While prior works have focused on prompt design and code generation quality, the broader impact of LLM-driven development on the iterative dynamics of software engineering remains underexplored. In this paper, we conduct large-scale experiments on thousands of algorithmic programming tasks and hundreds of framework selection tasks to systematically investigate how AI-assisted programming interacts with the software ecosystem. Our analysis reveals \textbf{a striking Matthew effect: the more popular a programming language or framework, the higher the success rate of LLM-generated code}. The phenomenon suggests that AI systems may reinforce existing popularity hierarchies, accelerating convergence around dominant tools while hindering diversity and innovation. We provide a quantitative characterization of this effect and discuss its implications for the future evolution of programming ecosystems.
- 論文ID: 2509.23261
- タイトル: The Matthew Effect of AI Programming Assistants: A Hidden Bias in Software Evolution
- 著者: Fei Gu, Zi Liang, Hongzong Li, Jiahao Ma
- 分類: cs.SE(ソフトウェアエンジニアリング)
- 発表日: 2025年10月13日(arXiv v2)
- 論文リンク: https://arxiv.org/abs/2509.23261
AIアシスト型プログラミングはソフトウェア開発を急速に再構築しており、大規模言語モデル(LLM)は「ヴァイブコーディング」や「エージェンティックコーディング」といった新しいパラダイムを生み出しています。先行研究はプロンプト設計とコード生成品質に主に焦点を当てていますが、LLM駆動開発がソフトウェアエンジニアリングの反復動態に及ぼすより広範な影響はまだ十分に探索されていません。本論文は、数千のアルゴリズムプログラミングタスクと数百のフレームワーク選択タスクに対する大規模実験を通じて、AIアシスト型プログラミングがソフトウェアエコシステムとどのように相互作用するかを体系的に研究しています。分析は顕著なマタイ効果を明らかにしています:プログラミング言語またはフレームワークが人気であるほど、LLMが生成するコードの成功率が高くなります。この現象は、AIシステムが既存の人気度階層を強化し、主流ツールへの収束を加速させ、同時に多様性とイノベーションを阻害する可能性があることを示唆しています。論文はこの効果の定量的特性化を提供し、プログラミングエコシステムの将来の進化への影響について議論しています。
本研究が解決しようとする中核的な問題は:AIプログラミングアシスタントが無意のうちに既存のプログラミング言語とフレームワークの支配的地位を強化し、「マタイ効果」——すなわち「富める者はますます富む」という現象を生み出すのかということです。
- エコシステムへの影響:AIプログラミングツールの普及に伴い、そのバイアスはどの言語、フレームワーク、パラダイムが繁栄または衰退するかを体系的に影響する可能性があります
- イノベーションの抑制:AIツールが主流技術に過度に偏向している場合、技術革新とエコシステムの多様性を抑制する可能性があります
- 長期的な結果:このバイアスはロックイン効果を生み出し、実験の機会を減らし、パラダイムシフトイノベーションの可能性を低下させる可能性があります
- 微視的評価:既存研究は主に短期的で微視的レベルの評価に焦点を当てており、狭いベンチマークまたは単一言語データセット上でモデルパフォーマンスを測定しています
- エコシステムの視点の欠如:実世界のソフトウェアエンジニアリングの多面的な複雑性を捉えられていません
- 体系的バイアスの無視:AIツールがプログラミングエコシステム全体の軌跡にどのように影響するかについての研究が不足しています
LLM訓練データ分布の観察に基づいています:Pythonはスターコーダーデータセットの約40%を占めており、他の多くの言語は周辺的な比率のみを占めています。AIプログラミングアシスタントはしばしば確立されたライブラリに過度に依存しており、NumPyは補完の48%に出現し、パフォーマンスが重要なタスクで他の言語がより適切である可能性があっても、Pythonは58%の時間選択されています。
- 初の大規模ベンチマーク:アルゴリズムプログラミングタスク(合計120,440タスク:3011×8×5)と複雑なフルスタック開発タスクを組み合わせた初の大規模ベンチマークを構築し、言語とフレームワーク全体でのAIプログラミングアシスタントのパフォーマンスを評価しています
- 制御された評価方法:言語とフレームワークの人気度効果を分離する制御された評価方法を設計し、全体的な精度指標を超えた構造的バイアスを明らかにしています
- マタイ効果の実証的証拠:LLMコード生成において言語とフレームワークの両レベルで同時にマタイ効果が発生する初の実証的証拠を提供し、この二層バイアスがソフトウェアエコシステムの軌跡をどのように形作るかを示しています
研究は2層の実験パイプラインを設計しました:
- アルゴリズムタスク層:3011個のLeetCodeの問題における8つのプログラミング言語のコード生成パフォーマンスを評価
- フレームワークタスク層:17個の一般的なCRUDアプリケーションと専門的な技術パス分化シナリオにおける6つの主流フルスタック組み合わせのパフォーマンスを評価
2025年6月のTIOBEインデックスに基づいて8つの言語を選択:
- 主流言語:Python(ランク1)、C++(ランク2)、Java(ランク4)、JavaScript(ランク6)
- 新興言語:Go(ランク7)、Rust(ランク13)
- ニッチ言語:Erlang(ランク46)、Racket(ランク外)
人気から新興まで様々なテクノロジースタックをカバーする6つのフルスタック組み合わせを選択:
- Vue + Spring Boot + Hibernate(Javaエンタープライズ)
- React + Express.js + Prisma(モダンJS)
- Django REST + Django ORM(Pythonフルスタック)
- Preact + Gin + GORM(軽量Go)
- Svelte + FastAPI + SQLAlchemy(モダンPython)
- SolidJS + Actix Web + SeaORM(Rust新興)
- 標準化プロンプト:各問題と言語の組み合わせに対して一貫したプロンプトテンプレートを生成
- 多段階コード抽出:混合テキスト応答から純粋な実行可能コードを抽出するための多段階パイプラインを設計
- 言語固有のクリーニング:各プログラミング言語の構文特性に対応する正規表現パターンを適用
フレームワークタスクについて、厳密に制御されたヴァイブコーディングプロトコルを採用:
- Cursor Pro、CodeBuddy、GitHub Copilotを使用
- 実験者は手動コーディングまたはアーキテクチャ入力を行わない
- インタラクションは元のエラーメッセージをチャットインターフェースに転送することに厳密に限定
- すべてのコア機能要件が満たされるか、プリセットされた試行上限に達するまで反復
- 二層バイアス検出:言語とフレームワークの両レベルでマタイ効果を体系的に検出する初の試み
- 制御変数方法:機能要件を一定に保ちながらテクノロジースタックのみを変更することで、人気度効果を分離
- 大規模分散評価:120,440回のコード生成をサポートする分散提出システムを実装
- LeetCodeベンチマーク:3,011個の問題(簡単765個、中程度1,526個、困難720個)
- フレームワークタスク:17個の一般的なCRUDアプリケーション + 8個の技術パス分化シナリオ
- モデル:5つの最先端LLM(GPT-4o-mini、DeepSeek-V3、Gemini-2.0-Flash、Gemini-2.5-Flash、Qwen3-Turbo)
- Pass@1精度:初回提出試行の受け入れ比率
- エラータイプ分布:コンパイルエラー、ランタイムエラー、答えエラーなど
- 完了試行回数:フレームワークタスクで機能完全性に達するために必要な反復回数
- APIパラメータ:temperature=0.5、maxOutputTokens=65535、top_p=0.95
- 分散システム:15個のLeetCodeアカウント、指数バックオフ戦略、アカウントあたり毎分10回の提出制限
- エラーハンドリング:レート制限と再試行メカニズムを含む堅牢なエラーハンドリングフレームワークを実装
実験は人気のある言語とニッチな言語の間に顕著なパフォーマンス差を明らかにしました:
トップモデルのパフォーマンス比較:
- 主流言語:Python、JavaScript、Java、C++のPass@1率は60%を超えています
- ニッチ言語:ErlangとRacketの成功率は通常25%未満で、時にはゼロに近いです
- 最高パフォーマンス:DeepSeek-V3はPythonで79.81%に達しますが、Erlangでは24.31%、Racketでは20.82%です
難易度層別分析:
- 簡単な問題:人気のある言語とニッチな言語の差は45~82パーセンテージポイント
- 困難な問題:差は58~95パーセンテージポイントに拡大
- 困難なタスクのパフォーマンス:トップモデルは人気のある言語で50~63%の成功率に達しますが、ニッチな言語では0~6%です
フレームワーク実験も同様に顕著なバイアスパターンを示しています:
成功率分布:
- 主流フレームワーク:Vue+Spring、React+Express、Djangoは17個のベンチマークタスクのほとんどで1~3回の試行内に完了
- ニッチフレームワーク:Svelte+FastAPIとSolidJS+Actixはより高い失敗率を示し、多くのタスクで5回以上の試行が必要か完了できません
技術パス分化実験:
- 主流テクノロジースタック:通常1~2ラウンドの修正で収束
- 中程度のテクノロジースタック:2~3回の介入が必要
- ニッチなテクノロジースタック:実行可能なシステムを生成するために5~10ラウンドのガイダンスが必要なことが多い
人気のある言語とニッチな言語のPass@1率の差に対してペアt検定を実施:
- すべてのモデルの差は統計的に有意です(p < 0.001)
- 平均差の範囲:DeepSeek-V3で+49.6%、Qwen3-Turboで+34.2%
主流言語:ほとんどの失敗は答えエラーまたはランタイムエラーであり、モデルが意味的に合理的だが不正確なソリューションを生成することを示しています
ニッチ言語:失敗は主にコンパイルエラーであり、モデルが構文的に有効なコードを生成するのが困難であることを示しています
- 初期評価:HumanEvalベンチマークはCopilotが構文的に有効なコードを生成できることを示していますが、正確性は低く、訓練データにおける言語の普及度と高度に相関しています
- 多言語ベンチマーク:XCODEEVALなどの超大規模多言語ベンチマークは、あまり一般的でない言語での継続的な課題を示しています
- ツール比較:CopilotはJavaで最高のパフォーマンスを示し、ChatGPTは強い言語間一貫性を維持し、GeminiはJavaScriptで最高のパフォーマンスを示しています
- エコシステム要因:コミュニティサイズ、ツール、業界採用などのエコシステム要因は、内在的な技術的優位性を超えて言語採用に影響を与えることが多いです
- Webフレームワーク研究:15年の縦断研究は、異なるエコシステム間で採用軌跡に顕著な差があることを示しています
- LLMパフォーマンスの不均等:既存の調査は、LLMがコードタスクで不均等なパフォーマンスを示し、広く使用されている言語に深刻に偏向していることを示しています
- マタイ効果の確認:AIプログラミングアシスタントは確かに顕著なマタイ効果を示し、人気のあるテクノロジーは体系的な利点を享受しています
- 二層バイアス:このバイアスはプログラミング言語とフレームワークの両レベルに存在します
- 自己強化ループ:人気のあるフレームワークはLLMによってより成功裏に生成される→開発者はこれらのフレームワークを使用するよう導かれる→採用の増加は将来のオンラインでの存在をさらに増幅→将来の反復でモデルがより多く暴露されることを保証
- 評価範囲:主にLeetCodeアルゴリズムタスクと特定のフレームワーク組み合わせに基づいています
- 時間枠:研究は特定の時点でのモデルと人気度データに基づいています
- 因果関係:相関が観察されていますが、直接的な因果関係を確立することはまだ課題があります
- ベンチマークの拡張:ベンチマークをより広い領域に拡張する計画
- マルチエージェント協力:協力的なマルチエージェント開発シナリオを研究
- 多様性認識方法:多様性認識訓練と推論戦略を通じてエコシステムの同質化に対抗する方法を開発
- 問題の重要性:AIプログラミングアシスタントがソフトウェアエコシステムに及ぼす長期的影響を初めて体系的に研究し、重要な理論的および実践的価値があります
- 方法の革新性:言語とフレームワークの両レベルでバイアスを同時に検出できる二層実験パイプラインを設計しています
- 実験規模:120,440回以上のコード生成による大規模実験で、結果は統計的説得力があります
- 制御設計:機能要件を一定に保ちながらテクノロジースタックのみを変更する方法により、人気度効果を効果的に分離しています
- 代表性の制限:LeetCodeタスクは実世界のプログラミングシナリオを完全に代表していない可能性があります
- 時間的敏感性:技術の人気度は動的に変化し、研究結果の時効性は限定的です
- 因果メカニズム:マタイ効果が観察されていますが、その生成メカニズムの深い分析はまだ不十分です
- 解決策の欠如:論文は主に問題を特定していますが、具体的な緩和戦略が不足しています
- 学術的貢献:AIとソフトウェアエンジニアリングの交差領域に新しい研究視点を提供しています
- 実践的価値:AIツール開発者と政策立案者に重要な警告を提供しています
- 再現性:完全なデータセット、コード、実験設定を提供し、結果の再現をサポートしています
- AIツール評価:AIプログラミングアシスタントの公平性を評価するためのフレームワークを提供
- 技術決定:企業の技術選択にAI互換性の考慮事項を提供
- 教育政策:プログラミング教育におけるAIツール使用政策の策定に参考を提供
論文は29の重要な参考文献を引用しており、AIプログラミングアシスタント、プログラミング言語採用、エコシステム進化など複数の関連分野の主要な研究をカバーしており、本研究に堅実な理論的基礎を提供しています。
全体的評価:これは重要な意義を持つ研究論文であり、AIプログラミングアシスタントに存在するマタイ効果を初めて体系的に明らかにしています。研究方法は科学的で厳密であり、実験規模は大きく、結論は重要な理論的および実践的価値があります。解決策とメカニズム分析の面ではまだ改善の余地がありますが、AIとソフトウェアエンジニアリングの交差領域に新しい研究方向を開拓しています。