[論文レビュー] A Generative Model of Software Dependency Graphs to Better Understand Software Evolution
本稿では、優先的接続とノード複製を組み合わせることで、実際のJavaソフトウェアシステムを模倣する合成ソフトウェア依存グラフの生成モデルGD-GNCを提案する。GD-GNCが、実際のソフトウェアシステムと類似した次数分布、スペクトル的性質、構造的メトリクスを持つグラフを生成することを示しており、ソフトウェアの進化が既存のクラスを再利用し、再利用可能なコンポONENTに再構築することで駆動されていることを示唆している。
Software systems are composed of many interacting elements. A natural way to abstract over software systems is to model them as graphs. In this paper we consider software dependency graphs of object-oriented software and we study one topological property: the degree distribution. Based on the analysis of ten software systems written in Java, we show that there exists completely different systems that have the same degree distribution. Then, we propose a generative model of software dependency graphs which synthesizes graphs whose degree distribution is close to the empirical ones observed in real software systems. This model gives us novel insights on the potential fundamental rules of software evolution.
研究の動機と目的
- 多様なJavaアプリケーションにおけるソフトウェア依存グラフの共通する構造的パターンを特定すること。
- 実際のソフトウェア依存グラフの経験的構造的性質を再現する生成モデルを開発すること。
- 複数のグラフメトリクスと統計的検定を用いて、生成モデルを実世界のデータと照合すること。
- 合成グラフ生成を通じて、ソフトウェア開発における背後にある進化ルールを解明すること。
- バージョンシリーズやグラフモチーフに関する今後の研究の基盤を提供すること。
提案手法
- 優先的接続とノード複製に基づく生成モデルGD-GNCを提案する。GNC(エッジ駆動型優先的接続)モデルをインspiredしたものである。
- 合成グラフと実際のグラフを比較するため、累積次数分布(CDF)を用い、入次数および出次数分布に注目する。
- 統計的検定を用いて、合成グラフと実際のソフトウェア依存グラフとの適合度を評価する。
- 直径、トランジティビティ、モジュラリティ、平均最短経路長、スペクトル的性質などのグラフメトリクスを評価する。
- 複数の構造的およびトポロジカル測定値を用いて、GD-GNCをBaxter & Freanのモデルおよび他の生成モデルと比較する。
- 合計23,178ノードと108,404エッジを有する50の実際のJavaソフトウェアシステムを用いて、モデルの妥当性を検証する。
実験結果
リサーチクエスチョン
- RQ1RQ1: 多様なJavaアプリケーションにおけるソフトウェア依存グラフの次数分布に共通する構造的パターンが存在するか?
- RQ2RQ2: GD-GNCは、既存の生成モデルと比較して、実際のソフトウェア依存グラフの構造的性質をどれほど正確に再現できるか?
- RQ3RQ3: 生成モデルの挙動から、ソフトウェア開発における背後にある進化ルールは何か?
- RQ4RQ4: 生成モデルは、次数分布以外の複数のメトリクスにおいても、実際のグラフと一致する合成グラフを生成できるか?
主な発見
- 50のJavaソフトウェアシステムにおいて、入次数と出次数の分布に明確に異なる非対称な次数分布パターンが共通して存在する。
- 統計的検定により確認されたように、GD-GNCは実際のソフトウェア依存グラフと類似した次数分布を持つ合成グラフを生成する。
- 直径、トランジティビティ、モジュラリティなど、複数のメトリクスにおいて、Baxter & Freanのモデルを上回る性能を示した。
- GD-GNCが生成するグラフのスペクトル的性質および平均最短経路長は、実際のソフトウェアグラフと統計的に区別できない。
- モデルは、ソフトウェアの進化が既存のクラスの再利用と再利用可能なコンポONENTへの再構築によって駆動されていることを示唆している。
- 生成モデルは、ソフトウェアのコアな進化メカニズムが、単純なルールに基づくプロセスによって再現可能であるという強力な証拠を提供している。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。