論文の概要: Exploring Multi-Programming-Language Commits and Their Impacts on
Software Quality: An Empirical Study on Apache Projects
- arxiv url: http://arxiv.org/abs/2311.08424v1
- Date: Sun, 12 Nov 2023 09:55:10 GMT
- ステータス: 処理完了
- システム内更新日: 2023-11-16 18:53:29.932860
- Title: Exploring Multi-Programming-Language Commits and Their Impacts on
Software Quality: An Empirical Study on Apache Projects
- Title(参考訳): マルチプログラミング言語コミュニティの探求とソフトウェア品質への影響: Apacheプロジェクトに関する実証的研究
- Authors: Zengyang Li, Xiaoxiao Qi, Qinyi Yu, Peng Liang, Ran Mo, Chen Yang
- Abstract要約: マルチプログラミング言語コミット(MPLC)には、複数のプログラミング言語(PL)で書かれた修正されたソースファイルが含まれる。
この研究は、MPLCとその開発難易度とソフトウェア品質への影響を探求することを目的としている。
- 参考スコア(独自算出の注目度): 5.163734292116818
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Context: Modern software systems (e.g., Apache Spark) are usually written in
multiple programming languages (PLs). There is little understanding on the
phenomenon of multi-programming-language commits (MPLCs), which involve
modified source files written in multiple PLs. Objective: This work aims to
explore MPLCs and their impacts on development difficulty and software quality.
Methods: We performed an empirical study on eighteen non-trivial Apache
projects with 197,566 commits. Results: (1) the most commonly used PL
combination consists of all the four PLs, i.e., C/C++, Java, JavaScript, and
Python; (2) 9% of the commits from all the projects are MPLCs, and the
proportion of MPLCs in 83% of the projects goes to a relatively stable level;
(3) more than 90% of the MPLCs from all the projects involve source files in
two PLs; (4) the change complexity of MPLCs is significantly higher than that
of non-MPLCs; (5) issues fixed in MPLCs take significantly longer to be
resolved than issues fixed in non-MPLCs in 89% of the projects; (6) MPLCs do
not show significant effects on issue reopen; (7) source files undergoing MPLCs
tend to be more bug-prone; and (8) MPLCs introduce more bugs than non-MPLCs.
Conclusions: MPLCs are related to increased development difficulty and
decreased software quality.
- Abstract(参考訳): コンテキスト: 現代のソフトウェアシステム(Apache Sparkなど)は通常、複数のプログラミング言語(PL)で記述される。
複数のPLで書かれた修正されたソースファイルを含む多言語コミット(MPLC)の現象についてはほとんど理解されていない。
目的: この研究はMPLCとその開発難易度とソフトウェア品質への影響を探求することを目的としています。
メソッド: 我々は18の非自明なApacheプロジェクトに対して,197,566のコミットで実証的研究を行った。
Results: (1) the most commonly used PL combination consists of all the four PLs, i.e., C/C++, Java, JavaScript, and Python; (2) 9% of the commits from all the projects are MPLCs, and the proportion of MPLCs in 83% of the projects goes to a relatively stable level; (3) more than 90% of the MPLCs from all the projects involve source files in two PLs; (4) the change complexity of MPLCs is significantly higher than that of non-MPLCs; (5) issues fixed in MPLCs take significantly longer to be resolved than issues fixed in non-MPLCs in 89% of the projects; (6) MPLCs do not show significant effects on issue reopen; (7) source files undergoing MPLCs tend to be more bug-prone; and (8) MPLCs introduce more bugs than non-MPLCs.
結論: MPLCは開発難度の増加とソフトウェア品質の低下に関連しています。
関連論文リスト
- BLAZE: Cross-Language and Cross-Project Bug Localization via Dynamic Chunking and Hard Example Learning [1.9854146581797698]
BLAZEは動的チャンキングとハードサンプル学習を採用するアプローチである。
プロジェクト横断と言語横断のバグローカライゼーションを強化するために、難しいバグケースを使用してGPTベースのモデルを微調整する。
BLAZEは、トップ1の精度で120%、平均平均精度(MAP)で144%、平均相互ランク(MRR)で100%上昇する。
論文 参考訳(メタデータ) (2024-07-24T20:44:36Z) - What's Wrong with Your Code Generated by Large Language Models? An Extensive Study [80.18342600996601]
大規模言語モデル(LLM)は、標準解に比べて短いがより複雑なコードを生成する。
3つのカテゴリと12のサブカテゴリを含む誤ったコードに対するバグの分類を開発し、一般的なバグタイプに対する根本原因を分析する。
そこで本研究では,LLMがバグタイプやコンパイラフィードバックに基づいて生成したコードを批判し,修正することのできる,自己批判を導入した新たな学習自由反復手法を提案する。
論文 参考訳(メタデータ) (2024-07-08T17:27:17Z) - An Exploratory Study on Using Large Language Models for Mutation Testing [32.91472707292504]
LLM(Large Language Models)は、コードに関連するタスクにおいて大きな可能性を示しているが、突然変異テストにおけるそれらの有用性は未解明のままである。
本稿では, LLMのユーザビリティ, 障害検出可能性, および実際のバグとの関係について, 効果的な突然変異生成における性能について検討する。
既存のアプローチと比較して、LSMは実際のバグに近い振る舞いをする、より多様な突然変異を生成する。
論文 参考訳(メタデータ) (2024-06-14T08:49:41Z) - Exploring Multi-Lingual Bias of Large Code Models in Code Generation [55.336629780101475]
コード生成は、自然言語(NL)仕様に基づいて、コードを合成し、機能要件を満たすことを目的としている。
有効性にもかかわらず、我々は大規模コードモデル(LCM)の生成性能において顕著な多言語バイアスを観察する。
LCMは、英語で指示を与えると解を生成する能力を示すが、中国語などの他のNLで意味論的に等価な命令に直面すると、失敗する可能性がある。
論文 参考訳(メタデータ) (2024-04-30T08:51:49Z) - Program Decomposition and Translation with Static Analysis [0.0]
大規模言語モデル(LLM)の文脈ウィンドウに対する方法レベルのプログラム分解の効果を評価する。
そこで本研究では,コンテキスト外問題により本来実行できなかった非常に大きなファイルの翻訳を可能にする方法について検討する。
論文 参考訳(メタデータ) (2024-01-22T23:49:32Z) - DevEval: Evaluating Code Generation in Practical Software Projects [52.16841274646796]
我々はDevEvalという名の新しいベンチマークを提案し、実践プロジェクトにおける開発者の経験と一致している。
DevEvalは、119の実用的なプロジェクトから2,690のサンプルを含む厳格なパイプラインを通じて収集される。
DevEvalの5つの人気のあるLCMを評価し、コード生成における実際の能力を明らかにする。
論文 参考訳(メタデータ) (2024-01-12T06:51:30Z) - ML-Bench: Evaluating Large Language Models and Agents for Machine Learning Tasks on Repository-Level Code [76.84199699772903]
ML-Benchは、既存のコードリポジトリを利用してタスクを実行する現実世界のプログラミングアプリケーションに根ざしたベンチマークである。
LLM(Large Language Model)とAIエージェントの両方を評価するために、事前に定義されたデプロイメント環境でLLMのテキスト-コード変換を評価するML-LLM-Benchと、Linuxサンドボックス環境でエンドツーエンドのタスク実行で自律エージェントをテストするML-Agent-Benchの2つの設定が採用されている。
論文 参考訳(メタデータ) (2023-11-16T12:03:21Z) - Evaluating Diverse Large Language Models for Automatic and General Bug
Reproduction [12.851941377433285]
大規模言語モデル(LLM)は自然言語処理やコード生成に適していることが証明されている。
提案手法は,広く使用されているDefects4Jベンチマークにおいて,全バグの約3分の1を再現することができた。
論文 参考訳(メタデータ) (2023-11-08T08:42:30Z) - Compressing LLMs: The Truth is Rarely Pure and Never Simple [90.05366363633568]
Knowledge-Intensive Compressed LLM BenchmarKは、圧縮された大言語モデルの評価プロトコルを再定義することを目的としている。
LLM-KICKは、現在のSoTA圧縮方式の多くの有利な利点と不運な点を明らかにしている。
LLM-KICKは、言語理解、推論、生成、テキスト内検索、テキスト内要約などのための圧縮LLMの能力に一様にアクセスできるように設計されている。
論文 参考訳(メタデータ) (2023-10-02T17:42:37Z) - Understanding Resolution of Multi-Language Bugs: An Empirical Study on
Apache Projects [13.159929330584003]
マルチプログラミング言語(MPL)バグに関する包括的な調査は行われていない。
本研究は,MPLソフトウェアシステムにおけるバグ解決の特性について検討した。
バグ解決に複数のPLが関与する原因を6つ発見し,言語間コール機構を5つ同定した。
論文 参考訳(メタデータ) (2023-07-05T00:44:00Z) - PAL: Program-aided Language Models [112.94785609781503]
自然言語問題を理解するために,プログラム支援言語モデル(PaL)を提案する。
PaLはソリューションステップをPythonインタプリタのようなプログラムランタイムにオフロードする。
私たちは12のベンチマークで新しい最先端の結果を設定しました。
論文 参考訳(メタデータ) (2022-11-18T18:56:13Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。