• Search Research Projects
  • Search Researchers
  • How to Use
  1. Back to project page

2014 Fiscal Year Research-status Report

多様なアプリケーションのための実行履歴を扱うソフトウェア基盤の研究開発

Research Project

Project/Area Number 26730034
Research InstitutionKanazawa University

Principal Investigator

櫻井 孝平  金沢大学, 電子情報学系, 助教 (80597021)

Project Period (FY) 2014-04-01 – 2017-03-31
Keywords実行履歴 / プログラム解析
Outline of Annual Research Achievements

本年度は長時間実行プログラムの履歴を取得する手法として、軽量なソフトェアプロファイルデータから復元する手法を提案した。従来手法による実行履歴の取得方法は、プログラムを改変して記録のための追加処理を各命令に挿入するものであったが、これは長時間実行プログラムに対しては膨大なデータと大きなオーバヘッドをもたらすため、現実的ではなかった。この問題を解決するために検討を行い、プロファイルデータとプログラムの解析結果から履歴を部分的に復元する手法を提案した。プロファイルデータはプログラム中の各手続きを実行した回数を記録した情報で、性能の分析などに利用されるものだが、本研究ではこの情報とプログラムの構造を自動的に解析することで、ある程度の履歴の復元を可能にする手法を開発した。プロファイルデータは実行時間が増えても、そのサイズの上限がプログラムの手続きの個数で決まるため、それほど増加しない。一方で実行順序の情報が落ちていることになるため、完全に復元することは難しいが、プロファイルデータの記録単位をスレッドごとなどに増やし、プログラムの実行順の候補となる解析手法を工夫することで、部分的に実行履歴を復元することに成功した。長時間実行を行うプログラムとしてApache Hadoopを想定し、実際に実験を行った。
また並行して、プログラムの解析をつかった自動的なバグ発見手法の開発と評価を行った。これは期待通りに実行されなかった実行履歴に記録されない箇所から、本来実行されるべき箇所を求める手法で、ポインタ解析と呼ぶプログラムの静的解析手法といくつかのヒューリスティックを利用する。

Current Status of Research Progress
Current Status of Research Progress

2: Research has progressed on the whole more than it was originally planned.

Reason

長時間の実行履歴記録に対応するため、プロファイルデータとプログラムの解析により履歴の復元を行うという新しい方式を提案した。また実際にApache Hadoop上で実装を行い、簡単な実験を行った。この手法は当初想定した、不要な記録を削除する方式とは異なるが、長時間の記録のために実行力が増大しないという有効な手法である。
また、実行履歴を応用したデバッグ手法として、プログラム解析を使った自動的なバグ発見手法の開発と評価実験を行ったことで、実行履歴が実際にソフトウェア開発に役に立つことを示している。

Strategy for Future Research Activity

今後は、当初の目標にあったとおり、資源の制約が大きいプログラムに対して実行履歴を解析する手法を開発していく。対象は主にAndroidなどのスマートフォンのアプリを想定し、ログの取得とプログラムの解析を組み合わせて統合開発環境上に実行履歴を表示する仕組みを開発する。
これにはいくつかの段階を得てツールとして開発を行うことになる。まずプログラム解析のためのフレームワークを構築する。これは対象をスマートフォンのJavaのプログラムに絞ることで既存の解析フレームワークが流用できる。次にログから実行履歴を復元する中核の部分を構築する。さらに開発環境上で利用者にわかりやすいように提示を行うよう、統合開発環境に対するプラグインとして開発を行う。その上で、既存のオープンソースソフトウェアとして提供されるスマートフォンのアプリを実験の対象として、有効性の評価を行う。

Causes of Carryover

開発・実験用計算機の仕様の細部を変更したため。

Expenditure Plan for Carryover Budget

実験用タブレット端末の購入費用に充てることを計画している。

  • Research Products

    (2 results)

All 2015

All Journal Article (1 results) (of which Peer Reviewed: 1 results,  Acknowledgement Compliant: 1 results) Presentation (1 results)

  • [Journal Article] The Omission Finder for Debugging What-Should-Have-Happened Bugs in Object-Oriented Programs2015

    • Author(s)
      Kouhei Sakurai, Hidehiko Masuhara
    • Journal Title

      SAC '14: Proceedings of the 29th Annual ACM Symposium on Applied Computing

      Volume: 30 Pages: 不明

    • DOI

      10.1145/2695664.2695735

    • Peer Reviewed / Acknowledgement Compliant
  • [Presentation] A method of generating traces of Hadoop YARN by lightweight profile data2015

    • Author(s)
      Yosuke Nakagawa, Kouhei Sakurai, Satoshi Yamane
    • Organizer
      Annual Meeting on Advanced Computing System and Infrastructure (ACSI) 2015
    • Place of Presentation
      つくば国際会議場
    • Year and Date
      2015-01-26 – 2015-01-28

URL: 

Published: 2016-06-01  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi