論文の概要: A Large-Scale Empirical Study on Semantic Versioning in Golang Ecosystem
- arxiv url: http://arxiv.org/abs/2309.02894v2
- Date: Mon, 18 Sep 2023 02:07:59 GMT
- ステータス: 処理完了
- システム内更新日: 2023-10-23 08:53:39.043880
- Title: A Large-Scale Empirical Study on Semantic Versioning in Golang Ecosystem
- Title(参考訳): Golangエコシステムにおけるセマンティックバージョニングに関する大規模実証的研究
- Authors: Wenke Li, Feng Wu, Cai Fu, Fan Zhou
- Abstract要約: 私たちはGoエコシステムで最初に大規模な実証的研究を行い、変化の破壊とその影響に関してSemVerのコンプライアンスを調査しました。
GitHubから124K TPLと532Kクライアントプログラムを含む、依存性グラフを備えた最初の大規模Goデータセットを収集しました。
- 参考スコア(独自算出の注目度): 38.357000816448405
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Third-party libraries (TPLs) have become an essential component of software,
accelerating development and reducing maintenance costs. However, breaking
changes often occur during the upgrades of TPLs and prevent client programs
from moving forward. Semantic versioning (SemVer) has been applied to
standardize the versions of releases according to compatibility, but not all
releases follow SemVer compliance. Lots of work focuses on SemVer compliance in
ecosystems such as Java and JavaScript beyond Golang (Go for short). Due to the
lack of tools to detect breaking changes and dataset for Go, developers of TPLs
do not know if breaking changes occur and affect client programs, and
developers of client programs may hesitate to upgrade dependencies in terms of
breaking changes.
To bridge this gap, we conduct the first large-scale empirical study in the
Go ecosystem to study SemVer compliance in terms of breaking changes and their
impact. In detail, we purpose GoSVI (Go Semantic Versioning Insight) to detect
breaking changes and analyze their impact by resolving identifiers in client
programs and comparing their types with breaking changes. Moreover, we collect
the first large-scale Go dataset with a dependency graph from GitHub, including
124K TPLs and 532K client programs. Based on the dataset, our results show that
86.3% of library upgrades follow SemVer compliance and 28.6% of no-major
upgrades introduce breaking changes. Furthermore, the tendency to comply with
SemVer has improved over time from 63.7% in 2018/09 to 92.2% in 2023/03.
Finally, we find 33.3% of downstream client programs may be affected by
breaking changes. These findings provide developers and users of TPLs with
valuable insights to help make decisions related to SemVer.
- Abstract(参考訳): サードパーティ製ライブラリ(TPL)はソフトウェアの重要なコンポーネントとなり、開発を加速し、メンテナンスコストを削減している。
しかし、tplのアップグレード中に破壊的な変更が発生し、クライアントプログラムが前進するのを防ぐ。
セマンティックバージョニング(Semantic Versioning、セマンティックバージョニング)は互換性に従ってリリースのバージョンを標準化するために適用されているが、すべてのリリースがSemVerに準拠しているわけではない。
多くの作業は、JavaやJavaScriptといったGolang(略してGo)以外のエコシステムにおけるSemVerのコンプライアンスに重点を置いている。
破壊的な変更やGoのデータセットを検出するツールがないため、TPLの開発者は、破壊的な変更が発生してクライアントプログラムに影響を与えるかどうかを知らない。
このギャップを埋めるために、我々はgoエコシステムで最初の大規模実証研究を行い、破壊的変化とその影響の観点からsemverのコンプライアンスを研究する。
詳細は、GoSVI(Go Semantic Versioning Insight)を用いて、クライアントプログラム内の識別子を解決し、それらの型と破壊的な変更を比較することで、破壊的な変更を検出し、その影響を分析する。
さらに、GitHubから124K TPLと532Kクライアントプログラムを含む、依存性グラフを備えた最初の大規模Goデータセットも収集しています。
その結果,semverに準拠したライブラリアップグレードの86.3%,非メジャーアップグレードの28.6%が破壊的変更をもたらすことがわかった。
さらに、SemVerに準拠する傾向は、2018/09年の63.7%から2023/03年の92.2%に改善されている。
最後に、ダウンストリームクライアントプログラムの33.3%が、破壊的変更によって影響を受ける可能性がある。
これらの発見は、開発者とTPLのユーザに対して、SemVerに関する意思決定を支援する貴重な洞察を提供する。
関連論文リスト
- Lingma SWE-GPT: An Open Development-Process-Centric Language Model for Automated Software Improvement [62.94719119451089]
Lingma SWE-GPTシリーズは、現実世界のコード提出活動から学び、シミュレーションする。
Lingma SWE-GPT 72BはGitHubの30.20%の問題を解決する。
論文 参考訳(メタデータ) (2024-11-01T14:27:16Z) - Evaluating Software Development Agents: Patch Patterns, Code Quality, and Issue Complexity in Real-World GitHub Scenarios [13.949319911378826]
この調査は、500の現実のGitHubイシューで上位10のエージェントから4,892のパッチを評価した。
一人のエージェントが支配的であり、170の問題が未解決であり、改善の余地があった。
ほとんどのエージェントはコードの信頼性とセキュリティを維持し、新しいバグや脆弱性を避けた。
一部のエージェントはコードの複雑さを増し、多くの重複を減らし、コードの臭いを最小限にした。
論文 参考訳(メタデータ) (2024-10-16T11:33:57Z) - The Impact of SBOM Generators on Vulnerability Assessment in Python: A Comparison and a Novel Approach [56.4040698609393]
Software Bill of Materials (SBOM) は、ソフトウェア構成における透明性と妥当性を高めるツールとして推奨されている。
現在のSBOM生成ツールは、コンポーネントや依存関係を識別する際の不正確さに悩まされることが多い。
提案するPIP-sbomは,その欠点に対処する新しいピップインスパイアされたソリューションである。
論文 参考訳(メタデータ) (2024-09-10T10:12:37Z) - Towards Better Comprehension of Breaking Changes in the NPM Ecosystem [12.392457751450374]
我々は,NPM生態系の破壊的変化を調査するため,大規模な実証的研究を行っている。
我々は381のNPMプロジェクトから明示的に文書化された破壊的変更のデータセットを構築した。
我々は、JavaScriptとTypeScript固有の構文的破壊変化の分類と、主要な行動的破壊変化の分類を生成する。
論文 参考訳(メタデータ) (2024-08-26T17:18:38Z) - Impact of the Availability of ChatGPT on Software Development: A Synthetic Difference in Differences Estimation using GitHub Data [49.1574468325115]
ChatGPTは、ソフトウェア生産効率を向上させるAIツールである。
10万人あたりのgitプッシュ数、リポジトリ数、ユニークな開発者数に対するChatGPTの影響を見積もっています。
これらの結果は、ChatGPTのようなAIツールが開発者の生産性を大幅に向上させる可能性があることを示唆している。
論文 参考訳(メタデータ) (2024-06-16T19:11:15Z) - See to Believe: Using Visualization To Motivate Updating Third-party Dependencies [1.7914660044009358]
サードパーティの依存関係を使用したアプリケーションによって導入されたセキュリティ脆弱性が増加している。
開発者はライブラリのアップデートに注意を払っており、脆弱性の修正にも注意している。
本稿では、依存性グラフ可視化(DGV)アプローチが、開発者が更新を動機付けると仮定する。
論文 参考訳(メタデータ) (2024-05-15T03:57:27Z) - Empirical Analysis of Vulnerabilities Life Cycle in Golang Ecosystem [0.773844059806915]
Golangの脆弱性のライフサイクルを総合的に調査した。
その結果、Golangエコシステムの66.10%のモジュールが脆弱性の影響を受けていることがわかった。
タグ付けされていない脆弱性やラベル付けされていない脆弱性の背後にある理由を分析することで、タイムリーリリースとインデクシングのパッチバージョンは、エコシステムのセキュリティを著しく向上させる可能性がある。
論文 参考訳(メタデータ) (2023-12-31T14:53:51Z) - MS-Former: Memory-Supported Transformer for Weakly Supervised Change
Detection with Patch-Level Annotations [50.79913333804232]
弱い教師付き変化検出のためのメモリ支援トランス (MS-Former) を提案する。
MS-Former は双方向注意ブロック (BAB) とパッチレベルの監視スキーム (PSS) から構成される。
3つのベンチマークデータセットの実験結果から,提案手法の有効性が示された。
論文 参考訳(メタデータ) (2023-11-16T09:57:29Z) - Client-side Gradient Inversion Against Federated Learning from Poisoning [59.74484221875662]
フェデレートラーニング(FL)により、分散参加者は、データを中央サーバに直接共有することなく、グローバルモデルをトレーニングできる。
近年の研究では、FLは元のトレーニングサンプルの再構築を目的とした勾配反転攻撃(GIA)に弱いことが判明している。
本稿では,クライアント側から起動可能な新たな攻撃手法であるクライアント側中毒性グレーディエント・インバージョン(CGI)を提案する。
論文 参考訳(メタデータ) (2023-09-14T03:48:27Z) - Multi-Granularity Detector for Vulnerability Fixes [13.653249890867222]
脆弱性修正のためのMiDa(Multi-Granularity Detector for Vulnerability Fixes)を提案する。
MiDasはコミットレベル、ファイルレベル、ハンクレベル、ラインレベルに対応して、コード変更の粒度ごとに異なるニューラルネットワークを構築する。
MiDasは、現在の最先端のベースラインをAUCで4.9%、JavaとPythonベースのデータセットで13.7%上回っている。
論文 参考訳(メタデータ) (2023-05-23T10:06:28Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。