2018 Fiscal Year Annual Research Report
実行トレース共有リポジトリを用いたソフトウェア変更の影響レビュー技術の研究
Project/Area Number |
18H03221
|
Research Institution | Nara Institute of Science and Technology |
Principal Investigator |
石尾 隆 奈良先端科学技術大学院大学, 先端科学技術研究科, 准教授 (60452413)
|
Co-Investigator(Kenkyū-buntansha) |
伊原 彰紀 和歌山大学, システム工学部, 講師 (40638392)
小林 隆志 東京工業大学, 情報理工学院, 准教授 (50345386)
|
Project Period (FY) |
2018-04-01 – 2022-03-31
|
Keywords | ソフトウェア品質管理 / 動的解析 / コードレビュー / デバッグ |
Outline of Annual Research Achievements |
本年度は、実行トレースをリポジトリに蓄積する環境を実現するために、実行トレース収集の枠組みの構築と、リポジトリに蓄積された情報を効果的に開発者に提供する方法の研究に取り組んだ。 実行トレース収集の枠組みとして、まず、Java プログラムを対象として、あらかじめ設定されたデータ記録量上限の範囲で実行トレースを収集する技術の試作を行った。プログラムの中で何度も繰り返し実行される処理は1回あたりの重要度が相対的に低いとみなし、その処理に関するデータを優先的に破棄するようにすると、実行トレースのデータ量を抑えながらも既存の解析技術の正確さを高く保つことができることを確認した。また、プログラムの実行中に、トレース情報を直接保存するのではなく、特定の性質を持つか、持たないかだけを判定し保存するのであれば、実用的な速度、データ量を達成できることを示した。 また、上記技術の研究を進めていくにつれて、実行環境がプログラムに与える影響も非常に大きく、プログラムや実行環境を含めた全体がどのような部品から構成されているのかを適切に管理する必要があることが明らかになった。この実行環境の管理という課題に対しては、ソフトウェアを作る際に実行されたコンパイラ等のソフトウェア自体の実行を解析し、ソフトウェアを構成するファイル情報を取り出し、ブロックチェーン上に記録する方法を試作した。 リポジトリに蓄積された情報を効果的に開発者に提供する方法に関しては、プログラムの編集履歴として蓄積された対するデータを題材として、頻出するプログラム修正のマイニングを実行し、その結果だけをチャットボットなどを通じて開発者に対話的に提示する技術を開発した。
|
Current Status of Research Progress |
Current Status of Research Progress
2: Research has progressed on the whole more than it was originally planned.
Reason
開発者が実行トレースを共有できるようにするという研究課題に対して、データ量を制限しても有用な実行トレースが存在することを示せた点で、目標達成に向けた有望な結果が得られている。 ソフトウェアの構成部品の記録は、元々は想定していなかった課題であるが、産業界で課題となっているオープンソースソフトウェアの効果的な活用に有用な技術として今後の発展が期待できる。 リポジトリに蓄積された情報の提示については、実行トレースの活用方法までには踏み込んでいないが、研究グループとして開発に必要な技術を身に着けた段階となっている。
|
Strategy for Future Research Activity |
実行トレースの収集に関しては、適切なサンプリング戦略があれば、実行トレースのデータ量を減らした状態でも有用な情報を保存できることを示した状況であり、今後、価値の高い実行トレースを収集可能とするような戦略の探求が課題となる。研究目的となるバグ予防への活用という観点で、企業のコードレビュー担当者などとの意見交換を行っていく予定である。 また、ソフトウェアの実行を監視するための要素技術としては、ソフトウェア工学だけでなく、プログラミング言語やオペレーティングシステムに関する先端的な技術も活用する必要があると考えられることから、ソフトウェア工学にとどまらず、これらの分野の研究者との議論を通じて、研究を遂行する予定である。
|