• 研究課題をさがす
  • 研究者をさがす
  • KAKENの使い方
  1. 課題ページに戻る

2014 年度 実績報告書

クラウド環境で動作するソフトウェアに対するデバッグ技術の確立

研究課題

研究課題/領域番号 26280021
研究機関大阪大学

研究代表者

石尾 隆  大阪大学, 情報科学研究科, 助教 (60452413)

研究分担者 小林 隆志  東京工業大学, 情報理工学(系)研究科, 准教授 (50345386)
研究期間 (年度) 2014-04-01 – 2017-03-31
キーワードソフトウェア工学 / デバッグ / 動的解析 / Java / 依存関係解析
研究実績の概要

本年度は,まず,実行トレース取得ツールの実装を行った.業務システムなどで一般的に使用されている Java を対象として,プログラムに実行トレース記録用命令を埋め込むツール selogger を開発し,オープンソースソフトウェアとして公開した.このツールは,収集したログ情報を,開発者が指定した並列度でディスクに書き出せるようにすることで,実行環境の遊休資源があるときだけ性能を向上する方式を採用した.元々計画していた並行処理の非同期なログ取得は,クラウド環境で一般的な性能の計算機で性能が安定しなかったため,並行処理自体の順序は記録し,ディスクへの出力のみを元プログラムの実行と並行で処理するものとした.
selogger で取得したプログラムの実行ログを用いて任意のメソッドの実行状況を再現する REMViewer を開発した.このツールは,いわゆる Capture&Replay として知られる技術の再実装を基本としているが,プログラムの実行に含まれる多様な振る舞いから開発者が注目したい動きに注目できるように,1つのメソッドの複数回の実行を実行経路に基づいて分類し,可視化する技術を開発して組み込んだ.さらに,プログラムの実行から,バグの発生時に特徴的な動作に開発者が着目できるようにするために,プログラムの命令間の動的な制御およびデータの依存関係を抽出し,比較する技術を試作した.具体的な方式としては,実行トレースを,依存関係で接続された命令の 3-gram の集合へと変換することで,実行トレースをよりコンパクトな表現へと変換し,差分の計算を容易なものとした.そして,その情報を統計的デバッグに利用することで,既存の統計的デバッグ手法と比べて,デバッグの精度を向上できる場合があることを示した.

現在までの達成度 (区分)
現在までの達成度 (区分)

2: おおむね順調に進展している

理由

計画していた実装方式とは異なる形とはなったが,Java プログラムから実行トレースを取得するためのツールを実装し,また,研究チームでツールのソースコードを共有し,実際にそれを使用した実行状況の再現,統計的デバッグツールの試作を行うことで,一般的な計算機環境での実行トレースの取得,分析環境を整えることができた.
今後の計画に含めている,クラウド環境で運用されるサーバソフトウェアを対象としたデバッグ環境の研究を進める準備は整っていると考えている.
また,当初の計画では後から実施する予定であった統計的デバッグの活用についても,予備的な実験に留まる規模ではあるが試行することができ,部分的な成果を得ていることから,今後の研究が円滑に進むことが期待できる.

今後の研究の推進方策

実行トレースの記録および解析では,計算機の性能を生かすために具体的なプログラムの動きをそのまま表現する必要があり,その状況を深く理解するために,研究チームでもツールのデモンストレーションなどを通じた詳しい議論を対面で行う必要があった.
そこで,本年度は,学会発表等の様々な機会を通じて相互に訪問し,情報交換を継続的に行うことを計画している.

次年度使用額が生じた理由

実験用の高性能ワークステーションを1台導入する予定であったが,実行トレース記録手法の研究を円滑に進めるための性能および台数の再考が必要になり,導入を遅延したため.

次年度使用額の使用計画

次年度に実験用ワークステーションの導入を行う予定である.

  • 研究成果

    (10件)

すべて 2015 2014 その他

すべて 雑誌論文 (2件) (うち査読あり 2件、 謝辞記載あり 2件) 学会発表 (7件) 備考 (1件)

  • [雑誌論文] REMViewer: 複数回実行されたJavaメソッドの実行経路可視化ツール2015

    • 著者名/発表者名
      松村俊徳,石尾隆,鹿島悠,井上克郎
    • 雑誌名

      コンピュータソフトウェア

      巻: 未定 ページ: 未定

    • 査読あり / 謝辞記載あり
  • [雑誌論文] Method Verb Recommendation Using Association Rule Mining in a Set of Existing Projects2015

    • 著者名/発表者名
      Yuki Kashiwabara, Takashi Ishio, Hideaki Hata, Katsuro Inoue
    • 雑誌名

      IEICE Transactions on Information and Systems

      巻: E98-D ページ: 627-636

    • DOI

      10.1587/transinf.2014EDP7276

    • 査読あり / 謝辞記載あり
  • [学会発表] 動的依存グラフの3-gramを用いた実行トレースの比較手法2015

    • 著者名/発表者名
      ブヤンネメフオドフー, 石尾隆, 井上克郎
    • 学会等名
      第187回ソフトウェア工学研究発表会
    • 発表場所
      化学会館
    • 年月日
      2015-03-12 – 2015-03-13
  • [学会発表] 動詞に着目した相関ルールを利用するメソッド名の命名支援手法の評価2015

    • 著者名/発表者名
      柏原由紀, 石尾隆, 井上克郎
    • 学会等名
      第187回ソフトウェア工学研究発表会
    • 発表場所
      化学会館
    • 年月日
      2015-03-12 – 2015-03-13
  • [学会発表] 動的データ依存集合の発生確率を用いた欠陥箇所特定支援手法の実装及び評価2015

    • 著者名/発表者名
      中野瑞樹,大沼俊輔,小林隆志,石尾隆
    • 学会等名
      電子情報通信学会ソフトウェアサイエンス研究会
    • 発表場所
      沖縄県青年会館
    • 年月日
      2015-03-09 – 2015-03-10
  • [学会発表] Toward Understanding How Developers Recognize Features in Source Code from Descriptions2014

    • 著者名/発表者名
      Shinpei Hayashi, Takashi Ishio, Hiroshi Kazato, Tsuyoshi Oshima
    • 学会等名
      9th International Workshop on Advanced Modularization Techniques
    • 発表場所
      Hong Kong
    • 年月日
      2014-11-16 – 2014-11-16
  • [学会発表] Extraction of Conditional Statements for Understanding Business Rules2014

    • 著者名/発表者名
      Tomomi Hatano, Takashi Ishio, Joji Okada, Yu Sakata, Katsuro Inoue
    • 学会等名
      6th International Workshop on Empirical Software Engineering in Practice
    • 発表場所
      大阪大学
    • 年月日
      2014-11-12 – 2014-11-12
  • [学会発表] Visualizing the Evolution of Systems and their Library Dependencies2014

    • 著者名/発表者名
      Raula Gaikovina Kula, Coen De Roover, Daniel German, Takashi Ishio, Katsuro Inoue
    • 学会等名
      2nd IEEE Working Conference on Software Visualization
    • 発表場所
      Victoria, B.C., Canada
    • 年月日
      2014-09-29 – 2014-09-30
  • [学会発表] REMViewer: 複数回実行されたJavaメソッドの実行経路可視化ツール2014

    • 著者名/発表者名
      松村俊徳,石尾隆,鹿島悠,井上克郎
    • 学会等名
      第31回ソフトウェア科学会大会
    • 発表場所
      名古屋大学
    • 年月日
      2014-09-08 – 2014-09-10
  • [備考] selogger ソースコード公開ページ

    • URL

      https://github.com/takashi-ishio/selogger

URL: 

公開日: 2016-06-01  

サービス概要 検索マニュアル よくある質問 お知らせ 利用規程 科研費による研究の帰属

Powered by NII kakenhi