論文の概要: Decomposing God Header File via Multi-View Graph Clustering
- arxiv url: http://arxiv.org/abs/2406.16487v1
- Date: Mon, 24 Jun 2024 09:52:20 GMT
- ステータス: 処理完了
- システム内更新日: 2024-06-25 15:24:04.675283
- Title: Decomposing God Header File via Multi-View Graph Clustering
- Title(参考訳): マルチビューグラフクラスタリングによるゴッドヘッダファイルの分解
- Authors: Yue Wang, Wenhui Chang, Yanzhen Zou, Tongwei Deng, Bing Xie,
- Abstract要約: God Header Fileは、大きなコードサイズと大きなファイルインパクトを持つヘッダファイルを指す。
本稿では,マルチビューグラフクラスタリングに基づくGod Header Fileアプローチを提案する。
我々は、異なるプロジェクトから6つの現実世界のゴッドヘッダファイルとともに、合成データセットに対するアプローチを評価した。
- 参考スコア(独自算出の注目度): 3.80760325029714
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: God Header File refers to a header file with large code size and wide file impact. Such files pose difficulties in code comprehension and slow down compilation, ultimately increasing the maintenance cost during software evolution. Although this concept is similar to God Class, existing refactoring methods for God Classes are inappropriate for God Header Files. The reason lies in the fact that the code elements in header files are mostly short declaration types, and build dependencies of the entire system should be considered with the aim of improving compilation efficiency. Meanwhile, these methods overlook the concern of cyclic dependencies, which holds immense importance in the God Header File decomposition. To address these challenges, this paper proposes a God Header File decomposing approach based on multi-view graph clustering. It first constructs a code element graph with multiple relationships. Then after coarsening the graph, a novel multi-view graph clustering algorithm is applied to identify clusters of closely related code elements, and a heuristic algorithm is introduced to address the cyclic dependencies in the clustering result. We evaluate our approach on a synthetic dataset as well as six real-world God Header Files from different projects. The results show that our approach could achieve 11.5% higher accuracy in comparison to existing God Class refactoring methods. Moreover, our decomposition results attain better modularity on all the real-world God Header Files and reduce recompilation time for historical commits by 15% to 60%.
- Abstract(参考訳): God Header Fileは、大きなコードサイズと大きなファイルインパクトを持つヘッダファイルを指す。
このようなファイルはコードの理解が困難で、コンパイルが遅くなり、最終的にソフトウェアの進化に伴うメンテナンスコストが増大する。
この概念はゴッドクラスに似ているが、既存のゴッドクラスのリファクタリング方法はゴッドヘッダファイルには不適切である。
その理由はヘッダファイルのコード要素が大部分が短い宣言型であり、システム全体のビルド依存はコンパイル効率を改善するために考慮されるべきであるという事実にある。
一方、これらの手法は、ゴッドヘッダファイルの分解において非常に重要である循環的依存関係の懸念を見落としている。
これらの課題に対処するために,マルチビューグラフクラスタリングに基づくゴッドヘッダファイル分解手法を提案する。
まず、複数の関係を持つコード要素グラフを構築します。
そして、グラフの粗大化後、関連するコード要素のクラスタを識別するために、新しいマルチビューグラフクラスタリングアルゴリズムを適用し、クラスタリング結果の循環的依存関係に対処するヒューリスティックアルゴリズムを導入する。
我々は、異なるプロジェクトから6つの現実世界のゴッドヘッダファイルとともに、合成データセットに対するアプローチを評価した。
その結果,既存のゴッドクラスリファクタリング法に比べて11.5%高い精度が得られることがわかった。
さらに,実世界のGod Headerファイルのモジュール性が向上し,過去のコミットに対する再コンパイル時間を15%から60%削減した。
関連論文リスト
- SparseCoder: Identifier-Aware Sparse Transformer for File-Level Code
Summarization [51.67317895094664]
本稿では,大規模なソースコードプロジェクトの理解と維持を支援するファイルレベルのコード要約について検討する。
長いコードシーケンスを効果的に処理するための識別子対応スパース変換器であるSparseCoderを提案する。
論文 参考訳(メタデータ) (2024-01-26T09:23:27Z) - Enhancing Scene Graph Generation with Hierarchical Relationships and Commonsense Knowledge [7.28830964611216]
この研究は、関係階層とコモンセンス知識の両方によってシーングラフを生成するための拡張されたアプローチを導入する。
我々は,シーングラフ予測システムから結果を批判するために基礎モデルを活用する,堅牢なコモンセンス検証パイプラインを実装した。
Visual GenomeとOpenImage V6データセットの実験では、既存のシーングラフ生成アルゴリズムのプラグインとプレイの拡張として、提案されたモジュールをシームレスに統合できることが示されている。
論文 参考訳(メタデータ) (2023-11-21T06:03:20Z) - Redundancy-Free Self-Supervised Relational Learning for Graph Clustering [13.176413653235311]
冗長フリーグラフクラスタリング(R$2$FGC)という,自己教師付き深層グラフクラスタリング手法を提案する。
オートエンコーダとグラフオートエンコーダに基づいて,グローバルビューとローカルビューの両方から属性レベルと構造レベルの関係情報を抽出する。
この実験は,R$2$FGCが最先端のベースラインよりも優れていることを示すために,広く使用されているベンチマークデータセット上で実施されている。
論文 参考訳(メタデータ) (2023-09-09T06:18:50Z) - Exploring Variational Graph Auto-Encoders for Extract Class Refactoring
Recommendation [8.777491163186701]
異なるコードの臭いの中で、ゴッドクラスまたはブロブは最も一般的なコードの臭いの1つです。
本稿では,より具体的な責任を持つ複数のクラスに神クラスを抽出する手法を提案する。
論文 参考訳(メタデータ) (2022-03-16T17:48:59Z) - Leveraging Structural Properties of Source Code Graphs for Just-In-Time
Bug Prediction [6.467090475885797]
グラフは関係データを理解するのに最もよく使われる表現の1つである。
本研究では,ソースコードのリレーショナル特性をグラフ形式で活用する手法を提案する。
論文 参考訳(メタデータ) (2022-01-25T07:20:47Z) - Effective and Efficient Graph Learning for Multi-view Clustering [173.8313827799077]
マルチビュークラスタリングのための効率的かつ効率的なグラフ学習モデルを提案する。
本手法はテンソルシャッテンp-ノルムの最小化により異なるビューのグラフ間のビュー類似性を利用する。
提案アルゴリズムは時間経済であり,安定した結果を得るとともに,データサイズによく対応している。
論文 参考訳(メタデータ) (2021-08-15T13:14:28Z) - Classifying Malware Using Function Representations in a Static Call
Graph [0.0]
本稿では,x86アセンブリ命令の関数コールグラフを用いて,マルウェア群を同定する深層学習手法を提案する。
われわれは,Microsoftのマルウェア分類データセット上でいくつかの実験を行い,99.41%の精度でマルウェア群を分離した。
論文 参考訳(メタデータ) (2020-12-01T20:36:19Z) - Exploring the Hierarchy in Relation Labels for Scene Graph Generation [75.88758055269948]
提案手法は,Recall@50において,複数の最先端ベースラインを大きなマージン(最大33%の相対利得)で改善することができる。
実験により,提案手法により,最先端のベースラインを大きなマージンで改善できることが示された。
論文 参考訳(メタデータ) (2020-09-12T17:36:53Z) - Structured Graph Learning for Clustering and Semi-supervised
Classification [74.35376212789132]
データの局所構造とグローバル構造の両方を保存するためのグラフ学習フレームワークを提案する。
本手法は, サンプルの自己表現性を利用して, 局所構造を尊重するために, 大域的構造と適応的隣接アプローチを捉える。
我々のモデルは、ある条件下でのカーネルk平均法とk平均法の組合せと等価である。
論文 参考訳(メタデータ) (2020-08-31T08:41:20Z) - Auto-Encoding Twin-Bottleneck Hashing [141.5378966676885]
本稿では,効率よく適応的なコード駆動グラフを提案する。
自動エンコーダのコンテキストでデコードすることで更新される。
ベンチマークデータセットの実験は、最先端のハッシュ手法よりもフレームワークの方が優れていることを明らかに示しています。
論文 参考訳(メタデータ) (2020-02-27T05:58:12Z) - Scalable Hierarchical Clustering with Tree Grafting [66.68869706310208]
Grinchは、大規模で非階層的な階層的クラスタリングと一般的なリンク関数のための新しいアルゴリズムである。
Grinchは、リンケージ関数を持つクラスタリングのための分離性という新しい概念によって動機付けられている。
論文 参考訳(メタデータ) (2019-12-31T20:56:15Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。