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

2016 年度 実績報告書

ハイブリッドプログラム解析を利用した機能識別に基づくプログラム理解支援技術

研究課題

研究課題/領域番号 15H02683
研究機関東京工業大学

研究代表者

小林 隆志  東京工業大学, 情報理工学院, 准教授 (50345386)

研究分担者 林 晋平  東京工業大学, 情報理工学院, 助教 (40541975)
石尾 隆  奈良先端科学技術大学院大学, 情報科学研究科, 准教授 (60452413)
渥美 紀寿  京都大学, 情報環境機構, 助教 (70397446)
研究期間 (年度) 2015-04-01 – 2019-03-31
キーワードソフトウェア学 / ソフトウェア工学 / プログラム理解
研究実績の概要

本研究は,ソフトウェアが提供する外的機能とその実現方法である内的機能とを区別して識別することでソフトウェア更新を効果的に行うためのプログラム理解を支援する手法の開発を目指す.
適切にソフトウェア更新をするためには,システムが提供する機能の実現方法をプログラムから正確に読み取る必要がある.本研究では,外的機能の組み合わせを実行トレースおよびソースコードの静的構造特徴,改版履歴を対象としたハイブリッドプログラム解析を行うことで,外的機能を実現する内的機能およびその関係を識別し開発者のプログラム理解を支援する.段階的な抽象化を可能にすることで,従来困難であった中間の抽象度の設計情報復元を可能にする手法を確立する.
本年度は,ハイブリッド解析で用いる静的解析および動的解析の解析基盤を整備した.また,動的解析に基づく機能捜索手法に対して,欠陥箇所特定手法を応用することにより外的機能と関連の強いモジュールの特定を支援する手法を提案した.
また,機能を理解する上で重要なプログラム中のクラスを発見する手法として,「詳細な動的解析基盤」を用いて取得した実行履歴を分析することによって重要度を算出し,オブジェクト間の関係からクラスタリングする手法について研究を行った.
さらに,「新しい進化結合の算出方法」を発展させ,改版履歴だけでなくプログラムの機能に対する設定情報とプログラムとの関係の解析を行うことで,特定の機能に関連した進化結合を抽出する手法を研究した.

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

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

理由

「内的機能構造の識別」については,本年度の提案手法によって外的機能を実現するモジュール群の特定精度を向上させることができ,静的依存関係や重要オブジェクト特定の情報と合わせることで,それらのモジュール群から,外的機能を構成する内的機能構造として抜き出すべき重要なモジュールの抽出と構造の復元に一定の効果を持つと考える.
また,「外的機能の復元・詳細補完」については,形式概念分析によって得られる形式概念のグループ化までは至らなかったが,前処理解析と改版履歴分析によって抽出した進化結合の情報を用いることで,静的な実装モジュール特定,外的機能間の関係復元を支援することが可能であると考える.

今後の研究の推進方策

引き続き,「内的機能構造の識別」に関する手法を改善する.外的機能の組み合わせを実行した複数の実行トレースに対して共通性分析を適用した結果と,プログラム中のモジュールの利用関係の双方を利用したハイブリッド解析を行うことで形式概念のグループ化を行い,外的機能を構成する内的機能の関係を抽出する.また,この関係を利用することで,外的機能を復元する手法を検討する.
また,静的解析に基づく設計意図抽出手法を応用し,段階的抽象化のためのグループ化手法に関して研究を行う.設計時の情報と,提案手法の可視化の差異を確認するために,クラス責務割り当て問題やコアクラス発見の例題を題材に,抽象化の品質を評価する実験を行う.
プログラムの開発履歴に着目し,開発履歴中の改版履歴と操作履歴から進化結合を抽出し,静的な依存関係のみでなく進化結合を利用した外的機能の抽出手法について検討を行う.前述の例題のうちいくつかは進化結合が抽出できる改版履歴を有するため,まず共変更のみの進化結合を抽出し有用性を調査する.
さらに,静的情報の活用だけでなく,実行されていないソースコードおよびその呼び出し情報と,ここまでに開発した手法による内的機能構造の出力結果をもとに,識別されていない外的機能のための実行シナリオの追加・修正を支援する手法を検討する.

  • 研究成果

    (14件)

すべて 2017 2016

すべて 雑誌論文 (5件) (うち査読あり 5件、 オープンアクセス 2件、 謝辞記載あり 5件) 学会発表 (9件) (うち国際学会 1件)

  • [雑誌論文] Web-Service for Finding Cloned Files using b-Bit Minwise Hashing2017

    • 著者名/発表者名
      Kaoru Ito, Takashi Ishio, Katsuro Inoue
    • 雑誌名

      Proc. 11th IEEE International Workshop on Software Clones

      巻: 2017 ページ: 1-2.

    • DOI

      http://doi.org/10.1109/IWSC.2017.7880504

    • 査読あり / 謝辞記載あり
  • [雑誌論文] c-JRefRec: Change-Based Identification of Move Method Refctoring Opportunities2017

    • 著者名/発表者名
      Naoya Ujihara, Ali Ouni, Takashi Ishio, Katsuro Inoue
    • 雑誌名

      Proc. 24nd IEEE International Conference on Software Analysis, Evolution, and Reengineering

      巻: 2017 ページ: 482-486

    • DOI

      http://doi.org/10.1109/SANER.2017.7884658

    • 査読あり / 謝辞記載あり
  • [雑誌論文] 多層システムに対する横断的な機能捜索2017

    • 著者名/発表者名
      風戸広史, 林晋平, 大島剛志, 小林隆志, 夏川勝行, 星野隆, 佐伯元司
    • 雑誌名

      情報処理学会論文誌

      巻: 58(4) ページ: 885-897

    • 査読あり / 謝辞記載あり
  • [雑誌論文] SOBA: シンプルなJavaバイトコード解析ツールキット2016

    • 著者名/発表者名
      秦野 智臣, 石尾 隆, 井上 克郎
    • 雑誌名

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

      巻: 33(4) ページ: 4-15

    • DOI

      http://doi.org/10.11309/jssst.33.4_4

    • 査読あり / オープンアクセス / 謝辞記載あり
  • [雑誌論文] MAFP: ソースコードに対する静的検査における警告の管理ツール2016

    • 著者名/発表者名
      渥美 紀寿, 桑原 寛明
    • 雑誌名

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

      巻: 33(4) ページ: 1262-1273

    • DOI

      http://doi.org/10.11309/jssst.33.4_50

    • 査読あり / オープンアクセス / 謝辞記載あり
  • [学会発表] A Pattern Language for MVC Derivatives2017

    • 著者名/発表者名
      Sami Lappalainen and Takashi Kobayashi
    • 学会等名
      6th Asian Conference on Pattern Languages of Programs
    • 発表場所
      東京都新宿区
    • 年月日
      2017-03-12 – 2017-03-13
    • 国際学会
  • [学会発表] 実行トレース抽象化を目的とした参照関係・アクセス解析によるコアオブジェクト特定2017

    • 著者名/発表者名
      野田訓広, 小林隆志, 渥美紀寿
    • 学会等名
      情報処理学会 ソフトウェア工学研究会 3月研究会
    • 発表場所
      東京都新宿区
    • 年月日
      2017-03-12 – 2017-03-13
  • [学会発表] 識別子名一括変更支援における推薦精度の向上に向けて2017

    • 著者名/発表者名
      梅川 尚孝, 林 晋平, 佐伯 元司
    • 学会等名
      情報処理学会ソフトウェア工学研究会3月研究会
    • 発表場所
      東京都新宿区
    • 年月日
      2017-03-12 – 2017-03-13
  • [学会発表] 前処理命令による可変点を考慮した共変更ルール抽出2017

    • 著者名/発表者名
      森達也, 小林隆志, 林晋平, 渥美紀寿
    • 学会等名
      電子情報通信学会 ソフトウェアサイエンス研究会 3月研究会
    • 発表場所
      沖縄県那覇市
    • 年月日
      2017-03-09 – 2017-03-10
  • [学会発表] 動的機能捜索に基づく機能間関係特定に向けて2017

    • 著者名/発表者名
      中野真明貴, 林晋平, 小林隆志
    • 学会等名
      IPSJ SIGSE ウィンターワークショップ2017・イン・飛騨高山
    • 発表場所
      岐阜県高山市
    • 年月日
      2017-01-19 – 2017-01-20
  • [学会発表] プログラミング言語の構造を考慮したAPI利用例検索ツール2016

    • 著者名/発表者名
      竹之内 啓太, 石尾 隆, 井上 克郎
    • 学会等名
      第23回 ソフトウェア工学の基礎ワークショップ
    • 発表場所
      香川県琴平町
    • 年月日
      2016-12-01 – 2016-12-03
  • [学会発表] バリアントコードの改変履歴に基づく前処理条件の構造に関する特徴調査2016

    • 著者名/発表者名
      今西 洋二, 渥美 紀寿, 森崎 修司, 山本 修一郎, 阿草 清滋
    • 学会等名
      第23回 ソフトウェア工学の基礎ワークショップ
    • 発表場所
      香川県琴平町
    • 年月日
      2016-12-01 – 2016-12-03
  • [学会発表] コンポーネントの責務と依存制約に基づくリファクタリング支援2016

    • 著者名/発表者名
      陽 文樹, 林 晋平, 佐伯 元司
    • 学会等名
      ソフトウェアエンジニアリングシンポジウム2016
    • 発表場所
      東京都文京区
    • 年月日
      2016-08-31 – 2016-09-02
  • [学会発表] 動的機能捜索における関連度と探索戦略2016

    • 著者名/発表者名
      中野真明貴,林晋平,小林隆志
    • 学会等名
      電子情報通信学会 ソフトウェアサイエンス研究会 7月研究会
    • 発表場所
      北海道札幌市
    • 年月日
      2016-07-13 – 2016-07-15

URL: 

公開日: 2018-01-16  

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

Powered by NII kakenhi