Skip to main content
QUICK REVIEW

[論文レビュー] The Harmony Platform

Jean‐Rémy Falleri, Cédric Teyton|arXiv (Cornell University)|Sep 2, 2013
Software Engineering Research参考文献 1被引用数 10
ひとこと要約

Harmony プラットフォームは、Git や SVN、バグトラッカーなどの異種のデータソースを統一されたバージョン指向のモデルに抽象化することで、Mining Software Repositories (MSR) 研究を簡素化するためのモジュラーで OSGi ベースのフレームワークである。研究者が拡張可能なエクストラクタ、再利用可能な分析、並列処理および永続化の組み込みサポートを介して、カスタム分析を効率的に開発・組み合わせ・実行できるようにし、MSR スタディにおける技術的負担を顕著に低減する。

ABSTRACT

According to Wikipedia, The Mining Software Repositories (MSR) field analyzes the rich data available in software repositories, such as version control repositories, mailing list archives, bug tracking systems, issue tracking systems, etc. to uncover interesting and actionable information about software systems, projects and software engineering. The MSR field has received a great deal of attention and has now its own research conference : http://www.msrconf.org/. However performing MSR studies is still a technical challenge. Indeed, data sources (such as version control system or bug tracking systems) are highly heterogeneous. Moreover performing a study on a lot of data sources is very expensive in terms of execution time. Surprisingly, there are not so many tools able to help researchers in their MSR quests. This is why we created the Harmony platform, as a mean to assist researchers in performing MSR studies.

研究の動機と目的

  • Mining Software Repositories (MSR) スタディにおける異種性と計算コストの技術的課題に対処する。
  • 低レベルのデータ統合と実行に関する懸念を抽象化することで、MSR 分析の実装におけるエンジニアリング負担を軽減する。
  • 研究者がインfra構築の管理から解放され、ドメイン固有の分析の設計に集中できるようにする。
  • プラグイン可能なソースエクストラクタ、カスタマイズ可能なデータモデル、再利用可能な分析コンポーネントを通じた拡張性を支援する。
  • 標準の JPA アノテーションを用いた組み込みの並列処理および永続化サポートにより、スケーラブルな実行を促進する。

提案手法

  • OSGi ベースのコンポonentアーキテクチャを用いて、Git や SVN、TFS、バグトラッカーなどの多様なデータソースを統一的でバージョン指向のデータモデルに抽象化する。
  • 分析間の通信にブラックボードパターンを採用し、モジュラーで合成可能な分析パイプラインを実現する。
  • 抽象モデルへのリポジトリデータ抽出をサポートするための ISourceExtractor インターフェースを提供する。
  • 依存関係を考慮したスケジューリングを可能にするために、IAnalysis および IPostProcessingAnalysis インターフェースを定義し、分析をチェーンする。
  • Eclipse RCP や JDT/CDT などのツールと統合し、細粒度のコードおよび設定ファイル分析を可能にする。
  • 標準の JPA および組み込みスケジューラサービスを用いて、データ永続化と並列実行を自動化する。

実験結果

リサーチクエスチョン

  • RQ1研究者が低レベルのデータ統合と実行インfraの再発明なしに、異種のソフトウェアリポジトリを効率的に MSR スタディで扱うにはどうすればよいか?
  • RQ2モジュラーで拡張可能なプラットフォームは、カスタム MSR 分析の実装および組み合わせに要する時間と労力をどの程度軽減できるか?
  • RQ3統一されたデータモデルは、バージョン管理システムとイシュートラッキングシステムの両方を効果的に表現できるか? これにより、クロスメトリクス分析が可能になるか?
  • RQ4プラットフォームのアーキテクチャは、スケーラブルに複雑で依存関係を考慮した分析パイプラインを実行するのにどの程度寄与するか?
  • RQ5組み込みの並列処理および永続化は、MSR スタディのパフォーマンスと保守性にどのような影響を与えるか?

主な発見

  • Harmony プラットフォームにより、研究者が最小限のボイラープレートコードで MSR 分析を実装できることが、所有権計算の簡単な例で示された。その実装には数行のコードで十分であった。
  • プラットフォームのモジュラーな OSGi アーキテクチャにより、新しいソースエクストラクタおよび分析のシームレスな統合が可能となり、再利用性と拡張性が促進された。
  • 並列実行およびデータ永続化の組み込みサポートにより、MSR スタディのスケーリングに要するエンジニアリング作業が顕著に軽減された。
  • 統一されたデータモデルは、バージョン管理およびイシュートラッキングシステムを効果的に抽象化し、低レベルのデータソースとの結合なしにクロスシステム分析を可能にした。
  • Eclipse RCP や JDT/CDT との統合により、細粒度のソースコード分析が可能となり、メタデータレベルの研究をはるかに超えた有用性が得られた。
  • 今後の R スクリプトおよびサンプリングコンポーネントのサポートにより、MSR 研究における統計的および代表的分析の能力がさらに向上するだろう。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。