論文の概要: An Empirical Study of CGO Usage in Go Projects -- Distribution, Purposes, Patterns and Critical Issues
- arxiv url: http://arxiv.org/abs/2508.09875v1
- Date: Wed, 13 Aug 2025 15:16:37 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-08-14 20:42:00.941541
- Title: An Empirical Study of CGO Usage in Go Projects -- Distribution, Purposes, Patterns and Critical Issues
- Title(参考訳): ゴープロジェクトにおけるCGO利用に関する実証的研究 -- 分散, 目的, パターン, 臨界問題
- Authors: Jinbao Chen, Boyao Ding, Yu Zhang, Qingwei Li, Fugen Tang,
- Abstract要約: 920のオープンソースGoプロジェクトを対象に,CGOの使用状況に関する実証的研究を行った。
本研究の目的は,CGOに関連する分布,パターン,目的,重要な課題を明らかにすることである。
我々は,CGOに関連する特徴を効率的に識別・定量化するツールであるCGOAnalyzerを開発した。
- 参考スコア(独自算出の注目度): 3.2359043073400553
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Multilingual software development integrates multiple languages into a single application, with the Foreign Function Interface (FFI) enabling seamless interaction. While FFI boosts efficiency and extensibility, it also introduces risks. Existing studies focus on FFIs in languages like Python and Java, neglecting CGO, the emerging FFI in Go, which poses unique risks. To address these concerns, we conduct an empirical study of CGO usage across 920 open-source Go projects. Our study aims to reveal the distribution, patterns, purposes, and critical issues associated with CGO, offering insights for developers and the Go team. We develop CGOAnalyzer, a tool to efficiently identify and quantify CGO-related features. Our findings reveal that: (1) 11.3% of analyzed Go projects utilize CGO, with usage concentrated in a subset of projects; (2) CGO serves 4 primary purposes, including system-level interactions and performance optimizations, with 15 distinct usage patterns observed; (3) 19 types of CGO-related issues exist, including one critical issue involving unnecessary pointer checks that pose risks of runtime crashes due to limitations in the current Go compilation toolchain; (4) a temporary solution reduces unnecessary pointer checks, mitigating crash risks, and (5) we submitted a proposal to improve the Go toolchain for a permanent fix, which has been grouped within an accepted proposal for future resolution. Our findings provide valuable insights for developers and the Go team, enhancing development efficiency and reliability while improving the robustness of the Go toolchain.
- Abstract(参考訳): マルチ言語ソフトウェア開発は複数の言語をひとつのアプリケーションに統合し、外部関数インタフェース(FFI)はシームレスな相互作用を可能にする。
FFIは効率と拡張性を高める一方で、リスクも導入する。
既存の研究は、PythonやJavaのような言語のFFIに焦点を当てており、Goの新たなFFIであるCGOを無視している。
これらの懸念に対処するため、920のオープンソースGoプロジェクトを対象に、CGOの使用状況に関する実証的研究を行った。
私たちの研究は、CGOに関連する分散、パターン、目的、重要な問題を明らかにし、開発者とGoチームに洞察を提供することを目的としています。
我々は,CGOに関連する特徴を効率的に識別・定量化するツールであるCGOAnalyzerを開発した。
その結果,(1)分析対象のGoプロジェクトの11.3%がCGOを利用,(2)CGOはシステムレベルのインタラクションやパフォーマンスの最適化を含む4つの主要な目的を担い,(3)現在のGoコンパイルツールチェーンの制限によるランタイムクラッシュのリスクを生じさせる不必要なポインタチェックを含む19種類のCGO関連問題,(4)一時的なソリューションによる不要ポインタチェックの削減,クラッシュリスクの軽減,(5) 今後の解決のために提案された提案の中でグループ化されたGoツールチェーンを改善するための提案を提出した。
私たちの発見は、Goツールチェーンの堅牢性を改善しながら、開発効率と信頼性を向上させるとともに、開発者とGoチームにとって貴重な洞察を与えます。
関連論文リスト
- Identifying Root Cause of bugs by Capturing Changed Code Lines with Relational Graph Neural Networks [7.676213873923721]
本稿では,変化したコード行中のルート原因削除線を検出するRC検出法を提案する。
RC検出は、変更されたコード行中のルート原因の削除線を検出し、バグ修正コミットで導入されたバグの根本原因を特定するために使用される。
実験の結果,最も先進的な根本原因検出法と比較して,RC-detectionはRecall@1,Recall@2,Recall@3,MFRをそれぞれ4.107%,5.113%,4.289%,24.536%改善した。
論文 参考訳(メタデータ) (2025-05-02T04:29:09Z) - Knowledge Graph Completion with Relation-Aware Anchor Enhancement [50.50944396454757]
関係認識型アンカー強化知識グラフ補完法(RAA-KGC)を提案する。
まず、ヘッダーのリレーショナル・アウェア・エリア内でアンカー・エンティティを生成します。
次に、アンカーの近傍に埋め込まれたクエリを引っ張ることで、ターゲットのエンティティマッチングに対してより差別的になるように調整する。
論文 参考訳(メタデータ) (2025-04-08T15:22:08Z) - Adaptive Tool Use in Large Language Models with Meta-Cognition Trigger [49.81945268343162]
我々は,外部ツール利用のための適応型意思決定戦略であるMeCoを提案する。
MeCoは、表現空間内の高レベル認知信号をキャプチャすることで、メタ認知スコアを定量化する。
MeCoは微調整不要で、最小限のコストがかかる。
論文 参考訳(メタデータ) (2025-02-18T15:45:01Z) - Large Language Models for Secure Code Assessment: A Multi-Language Empirical Study [1.9116784879310031]
GPT-4oは,数ショット設定を用いて,最も高い脆弱性検出とCWE分類のスコアを達成できることを示す。
我々は、VSCodeと統合されたCODEGUARDIANと呼ばれるライブラリを開発し、開発者はLLM支援リアルタイム脆弱性分析を行うことができる。
論文 参考訳(メタデータ) (2024-08-12T18:10:11Z) - 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) - AutoBencher: Towards Declarative Benchmark Construction [74.54640925146289]
AutoBencherを使って、数学、多言語性、知識、安全性のためのデータセットを作成しています。
AutoBencherのスケーラビリティにより、詳細なカテゴリ知識をテストでき、既存のベンチマークよりも22%のモデルエラー(難易度)を誘発するデータセットを作成することができる。
論文 参考訳(メタデータ) (2024-07-11T10:03:47Z) - Masked Thought: Simply Masking Partial Reasoning Steps Can Improve Mathematical Reasoning Learning of Language Models [102.72940700598055]
推論タスクでは、小さなエラーでも不正確な結果にカスケードすることができる。
入力の摂動に頼らず、外部リソースの導入を避ける手法を開発した。
私たちのトレーニングアプローチでは、思考の連鎖の中で特定のトークンをランダムにマスクします。
論文 参考訳(メタデータ) (2024-03-04T16:21:54Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。