本論文は、神ヘッダーファイルの問題に取り組むアプローチを提案している。神ヘッダーファイルは、大規模で影響範囲の広いヘッダーファイルであり、コード理解とメンテナンスを困難にし、コンパイル時間を著しく長くする。
提案アプローチは以下の4つのステップから成る:
コード要素グラフの構築: ヘッダーファイル内のコード要素(マクロ、データ型、変数、関数)とその依存関係、意味的関係、共用関係を表すグラフを構築する。
グラフの粗視化: 強い依存関係に基づいてグラフを粗視化し、密接に関連するコード要素が分離されないようにする。
多視点グラフクラスタリング: 意味的関係と共用関係を融合して、コード要素をクラスタリングする。これにより、機能的に関連するコード要素をグループ化する。
循環依存の修正: クラスタリング結果に存在する循環依存を発見し、ヒューリスティックな手法で解消する。これにより、サブヘッダーファイル間の依存関係を非循環的にする。
実験の結果、提案手法は以下のような効果を示した:
다른 언어로
소스 콘텐츠 기반
arxiv.org
더 깊은 질문