研究課題/領域番号 |
21H03416
|
研究種目 |
基盤研究(B)
|
配分区分 | 補助金 |
応募区分 | 一般 |
審査区分 |
小区分60050:ソフトウェア関連
|
研究機関 | 奈良先端科学技術大学院大学 |
研究代表者 |
飯田 元 奈良先端科学技術大学院大学, 先端科学技術研究科, 教授 (20232126)
|
研究分担者 |
藤原 賢二 東京都市大学, メディア情報学部, 講師 (80782622)
崔 恩瀞 京都工芸繊維大学, 情報工学・人間科学系, 助教 (90755943)
|
研究期間 (年度) |
2021-04-01 – 2024-03-31
|
研究課題ステータス |
交付 (2023年度)
|
配分額 *注記 |
13,650千円 (直接経費: 10,500千円、間接経費: 3,150千円)
2023年度: 4,550千円 (直接経費: 3,500千円、間接経費: 1,050千円)
2022年度: 4,290千円 (直接経費: 3,300千円、間接経費: 990千円)
2021年度: 4,810千円 (直接経費: 3,700千円、間接経費: 1,110千円)
|
キーワード | ソフトウェア分析基盤 / ソフトウェア・アナリティクス / リポジトリ・マイニング / ソフトウェアリポジトリマイニング / データマイニング / コード解析 |
研究開始時の研究の概要 |
ソフトウェア・リポジトリを対象とした分析(ソフトウェア・アナリティクス)において、作業同士を関連付けた「より深化した分析」や、プロジェクト間を横断した「より広範囲の分析」などの試行を容易にするために,異なるスケールによるリポジトリデータの抽象化手段と分析機構を統合して高速に実行できる「多階層マルチスケール・ソフトウェア分析基盤」を提案・開発し、ソフトウェアやプロジェクトの多面的分析・理解に貢献する
|
研究実績の概要 |
本研究では、複数の異なる抽象化階層の定量的指標に対する横断的な分析を可能とする「多階層マルチスケール・ソフトウェア分析基盤」の確立を目指して、「ソフトウェアを解釈する異なる抽象化レベルごとにその変更履歴と依存関係を蓄積し、実務者や研究者からのクエリ要求に基づき、条件に合致するデータを容易に引き出し可能な基盤」の構築に取り組んでいる。本期間中には下記3課題を並行してすすめた。 課題1)多階層マルチスケール型データモデルおよびクエリ言語HMSQLの設計:ソフトウェアの論理的モデルから物理的実装に至るまでの抽象的階層構造を表現可能な多階層マルチスケール型データモデルを設計するために、各階層別のデータ構造と相互依存関係についてさらなる調査・整理を行った。特に、開発者の生産性やプロジェクトの活発さを測る際に必要となる追跡作業のためのクエリ構造について、その表現方法を明らかにした。 課題2)大規模並列分散HMSQL クエリ実行エンジンの設計・実装:並列分散処理フレームワークDaskを基盤に用い、GitHub上の公開イベントデータセットGHArchiveを対象に、課題1で扱った分散クエリを実行し、多数のリポジトリを大規模横断的に分析して、開発者の生産性を解析するアプリケーションの試作と評価を実施した。 課題3)多階層融合型ソフトウェア・アナリティクス手法の実証:本分析基盤での深化型アナリティクスと横断型アナリティクスの事例として、複数の分析を実践した。具体的には、深化型分析として、ファジングが特定のプロジェクトに及ぼす影響を評価した。また、特定プロジェクトにおけるクラスレベルでのバグ予測手法の評価を行った。横断型分析として、OSS開発者の属性が技術的負債の除去に及ぼす効果の分析を行った。また,多種多様なプロジェクトから構築したコード補完モデルを特定のプロジェクトに特化させる際の影響を分析した。
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
2: おおむね順調に進展している
理由
課題1においては、初年度目標で実施した多階層マルチスケール型データモデルの概要設計を深化させるために、各階層別のデータ構造と相互依存関係についてさらなる調査・整理を行い、さらに開発者の生産性の分析を題材に、そのクエリ構造の表現方法を明らかにするなど、具体課題にも取り組むことができたため、概ね順調に進捗していると考えられる。 課題2においては、並列分散処理フレームワークであるDaskを基盤として用い、課題1で扱った分散クエリを実行するアプリケーションの試作と評価を実施することができており、計画通りに進捗していると考えられる。 課題3においては、深化型アナリティクスと横断型アナリティクスの事例として、複数のプロジェクト分析を実践し、予定通りに本プラットフォームのユースケースの蓄積を行なうことができた。次年度以降も引き続き分析事例の蓄積を行なうと同時に、試作プラットフォームにおけるレプリケーションの実施方法の検討に着手する予定である。
|
今後の研究の推進方策 |
進捗は概ね順調であり、今後は各課題間の連携をより強化した上でプラットフォームの実装に向けた作業に着する予定である。具体的には、課題1においては各階層別のデータ構造と相互依存関係に基づいた言語仕様の詳細設計を、課題2においては、クエリデータの詳細設計を、課題3においては、引き続き分析事例の蓄積を行なうと同時に、試作プラットフォームにおけるレプリケーションの実施方法の検討に着手する予定である
|