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

2015 Fiscal Year Research-status Report

ブレイクポイントを用いないデバッグを可能とする捜査地図デバッガの実現

Research Project

Project/Area Number 15K12009
Research InstitutionNara Institute of Science and Technology

Principal Investigator

久米 出  奈良先端科学技術大学院大学, 情報科学研究科, 助手 (10301285)

Project Period (FY) 2015-04-01 – 2018-03-31
Keywordsデバッグ / ソフトウェア工学 / ソフトウェア開発環境 / プログラム理解 / 捜査地図
Outline of Annual Research Achievements

不具合(コード等に記述された誤り)が含まれたプログラムを実行すると障害(利用者が観測できる実行時の誤り)が発生する。障害を解消するためには不具合箇所を特定・修正する、デバッグと呼ばれる作業が必要となる。デバッグではしばしばプログラムの実行時の状態を調査する事が必要となる。この調査を支援するソフトウェア工学ツール(ソフトウェアの開発を支援するプログラム)をデバッガと呼ぶ。
現在広く使われているデバッガは作業者が指定した時点の実行情報しか参照出来ない。そのため作業者は各時点の状態を頭の中で繋ぎ合わせ、点と線的な形で障害の発生原因を辿る作業に多大な労力と時間を費さざるを得ない。こうした問題を改善するために、本研究では作業者の知識や理解に合わせてプログラム実行を捜査地図として抽象化するデバッガを開発する。
平成27年度では実際にプログラム開発現場で実行されたデバッグ作業を利用して予備実験を遂行した。本予備実験の目的は作業者がツールに対して操作を行う意図を分析し、その意図した内容をデバッガが効率的に実現出来るように操作地図の仕様を定める事にある。本予備実験の被験者は標準的な機能を有するデバッガを用いて自身の意図を発話しながら作業を遂行し、その発話と操作が動画として記録された。我々はその動画を再生しながら一連の操作に関する作業者の意図を分析した。分析に基づいてデバッガの仕様とアーキテクチャを決定し、現在開発を進めている。
上記の予備実験の作業を遂行する中で我々はデバッガの新しい評価手法の着想を得るに至った。現在、デバッガやプログラム理解支援ツールは被験者が評価実験で実施した作業成績によって評価される。しかしながら作業結果の善し悪しの理由を客観的なデータに基づいて説明する事は困難である。予備実験を実施する中でこうした評価に関する問題を解決する端緒を得たと確信している。

Current Status of Research Progress
Current Status of Research Progress

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

Reason

平成27年度ではデバッガの仕様を決定するための予備実験を実施する予定であった。予備実験は被験者を用いたデバッグ時の発話と作業を動画として記録し、作業直後に動画を再生しながら作業時の内面的な思考を分析する事になっていた。研究計画では分析によって明らかにされる項目が七つ挙げられていた。デバッグされるプログラムとして既存のオープンソース・ソフトウェアを利用する予定であった。
予備実験そのものは当初予定していた以上の成果を挙げる事が出来た。事前に意図していたわけではないが、あるソフトウェア開発で発生した障害をデバッグする作業を動画として記録し、それを分析する機会を得る事が出来た。実験用の作り物ではない、我々自身も「正解」を知らない現実の問題を解決し、その過程を分析する経験から予想以上の成果を得る事が出来た。
予備実験を実施した知見から最終年度に実施される予定のデバッガの評価実験を実施する上で注意すべき事項を得る事が出来た。本研究はその性格上デバッグ作業者の内面の分析が不可欠である。実証実験の公正さを担保するためには験者の答えを誘導する質問は当然許されない。しかしながら実際にデバッグを行った作業者は必ずしも自身の意図を意識しておらず、それを言語化する事は一般に困難である事が判明した。実験の公正さを保ちながら同時に被験者自身の意図の言語化を支援する実験遂行上の手法の開発が急務である事が判明した。
上記の成功により、当初の予定より少ない回数の実験で期待された成果を得る事が出来た。しかしながら予備実験の結果、当初予想したよりも多くの機能をデバッガが実装すべきである事が判明した。このためデバッガの開発に要する期間が当初の予定を上回る可能性が発生した。結果として予備実験の成功を開発期間の延長が相殺する結果となった。

Strategy for Future Research Activity

平成28年度は引き続きデバッガの開発を続ける予定である。開発は平成28年度に完了させ、平成29年度には評価実験を開始する予定である。予備実験の遂行によって、当初の予定では必要性を認識していなかった機能の実装の必要性が判明した。この機能の実装に際しては研究代表者の経験が薄い分野のプログラミングが必要とされている。この問題を解決するためにソフトウェア開発企業に勤務する開発の実務者の助言を得る予定である。開発が困難である場合には代替的な手段を用いた評価実験の遂行も検討する。
予備実験によって評価実験の遂行に関して注意すべき事項を得た事は上の述べたが、評価実験の実施予定に影響を与える事項も特定された。予備実験で被験者が作業に要した時間はそれほど長いものではないにもかかわらず、作業の分析とそのデータ化に要する時間は我々の当初の予定を大きく上回るものであった。これは直接的には評価実験の回数に影響を与えるものである。この問題に対処するために、当初デバッグ作業のために用意していた例題プログラムを再検討する。また我々はデバッグ記録の分析とそのデータ化を支援するためのツールを設計し、その実装をソフトウェア開発会社に外注する予定である。

Causes of Carryover

国外で開催される国際会議での発表が無かった事により渡航費と参加費用が支出されなかった。学内で実施した予備実験の遂行結果が期待以上の成果を収めたため、学外の被験者が参加する予備実験のために計上していた経費が支出されなかった。

Expenditure Plan for Carryover Budget

予備実験の結果開発すべき機能の見直しと、評価実験の効率的な遂行のための実験環境の整備が必要となる事が判明した、上記の費用は見直された機能と実験環境の開発の一部を外部に委託する費用として支出する予定である。

  • Research Products

    (3 results)

All 2016 2015

All Journal Article (1 results) (of which Peer Reviewed: 1 results,  Acknowledgement Compliant: 1 results) Presentation (2 results) (of which Int'l Joint Research: 1 results)

  • [Journal Article] A Case Study of Dynamic Analysis to Locate Unexpected Side Effects Inside of Frameworks2015

    • Author(s)
      Izuru Kume and Masahide Nakamura and Naoya Nitta and Etsuya Shibayama
    • Journal Title

      International Journal of Software Innovation (IJSI)

      Volume: 3 Pages: 26-40

    • DOI

      10.4018/IJSI.2015070103

    • Peer Reviewed / Acknowledgement Compliant
  • [Presentation] Evaluation of Diagnosis Support Methods in Program Debugging by Trace Analysis: An Exploratory Study2016

    • Author(s)
      Izuru Kume, Masahide Nakamura, Yasuyuki Tanaka, Etsuya Shibayama
    • Organizer
      15th IEEE/ACIS International Conference on Computer and Information Science (ICIS 2016)
    • Place of Presentation
      Okayama Convention Center, Okayama-city, Okayama, Japan
    • Year and Date
      2016-06-26 – 2016-06-29
    • Int'l Joint Research
  • [Presentation] 逆回しデバッグ支援の個別化に向けて2015

    • Author(s)
      久米 出, 中村 匡秀, 波多野 賢治, 柴山 悦哉
    • Organizer
      日本ソフトウェア科学会第32回大会
    • Place of Presentation
      東京都新宿区 早稲田大学 西早稲田キャンパス
    • Year and Date
      2015-09-08 – 2015-09-11

URL: 

Published: 2017-01-06  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi