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

2016 Fiscal Year Research-status Report

ソフトウェア進化分析に基づくソフトウェア保守支援環境

Research Project

Project/Area Number 15K15973
Research InstitutionKyoto University

Principal Investigator

渥美 紀寿  京都大学, 学術情報メディアセンター, 助教 (70397446)

Project Period (FY) 2015-04-01 – 2018-03-31
Keywordsソフトウェア保守 / ソースコード解析
Outline of Annual Research Achievements

本年度は,Cによるバリエーションソフトウェアを対象とした前処理による条件命令の構成方法の違いによる保守性に関する調査を行った.Cによるバリエーションソフトウェアでは,ソフトウェアを構成するフィーチャをマクロで表現し,マクロの組み合わせを前処理条件の条件式で用いることによって,コードを分割して実現する.各バリアントのためのコードを生成するための前処理条件の構成方法には様々な方法があり,その構成方法の違いと保守性にどのような関係があるかを調査した.
本調査では保守性が低いコードは頻繁に改変されると仮定し,コードの改変と前処理条件の構成方法に関して調査した.OSS を対象に,バリアントコード(前処理条件によって制御されるコード)の改変頻度と,前処理条件,バリアントコードの行数,前処理条件の分岐数,前処理条件で使用されるマクロ数の関係について,版管理リポジトリの開発履歴から情報を抽出し,分析した.その結果,バリアントコードの改変頻度が高い前処理条件が存在することは明らかとなったが,バリアンコードの行数,分岐命令数,マクロ数と改変頻度との間に関係はないことがわかった.ただし,改変の種類(修正,拡張)に関係なく改変頻度を調査しているため,修正に限定した調査をすることで,別の結果が得られる可能性がある.
本調査において前処理条件を改版履歴を遡って追跡する方法と,その条件によって制御されるコードに関して分析するための基盤技術を実現することができ,今後の研究に有益な基盤技術を得ることができた.

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

今後は関数単位での情報の蓄積方法を検討し,静的検査結果や改変の有無だけでなく,利用ライブラリやメトリクスに関する情報を蓄積可能にする.また,それらの情報を利用した保守支援手法について検討する.

Causes of Carryover

国際会議で発表できておらず,その発表用に確保していた費用が残った.

Expenditure Plan for Carryover Budget

国際会議で採録が決定した論文があり,その参加費および旅費の一部として使用する.

  • Research Products

    (5 results)

All 2017 2016

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

  • [Journal Article] MAFP:ソースコードに対する静的検査における警告の管理ツール2016

    • Author(s)
      渥美 紀寿, 桑原 寛明
    • Journal Title

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

      Volume: 33 (4) Pages: 50-66

    • DOI

      10.11309/jssst.33.4_50

    • Peer Reviewed / Open Access / Acknowledgement Compliant
  • [Presentation] 実行トレース抽象化を目的とした参照 関係・アクセス解析によるコアオブジェクト特定2017

    • Author(s)
      野田 訓広, 小林 隆志, 渥美 紀寿
    • Organizer
      情報処理学会 ソフトウェア工学研究会
    • Place of Presentation
      早稲田大学 (東京都新宿区)
    • Year and Date
      2017-03-12 – 2017-03-13
  • [Presentation] 前処理命令による可変点を考慮した共変更ルール抽出2017

    • Author(s)
      森 達也, 小林 隆志, 林 晋平, 渥美 紀寿
    • Organizer
      電子情報通信学会 ソフトウェアサイエンス研究会
    • Place of Presentation
      てんぶす那覇 (沖縄県那覇市)
    • Year and Date
      2017-03-09 – 2017-03-10
  • [Presentation] バリアントソフトウェアの開発・保守支援に関する研究2017

    • Author(s)
      渥美 紀寿
    • Organizer
      情報処理学会 ウィンターワークショップ2017・イン・飛騨高山
    • Place of Presentation
      高山市民文化会館 (岐阜県高山市)
    • Year and Date
      2017-01-19 – 2017-01-20
  • [Presentation] バリアントコードの改変履歴に基づく前処理条件の構造に関する特徴調査2016

    • Author(s)
      今西 洋二, 渥美 紀寿, 森崎 修司, 山本 修一郎, 阿草 清滋
    • Organizer
      日本ソフトウェア科学会 第23回 ソフトウェア工学の基礎研究会
    • Place of Presentation
      ことひら温泉 琴参閣 (香川県 仲多度郡 琴平町)
    • Year and Date
      2016-12-01 – 2016-12-03

URL: 

Published: 2018-01-16  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi