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

2012 Fiscal Year Annual Research Report

ソフトウェア部品の振舞い特性を用いた欠陥検査の効率化

Research Project

Project/Area Number 23680001
Research InstitutionOsaka University

Principal Investigator

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

Project Period (FY) 2011-11-18 – 2014-03-31
Keywordsソフトウェア工学 / データフロー解析 / ソースコード比較
Research Abstract

本年度は,ソフトウェアの類似した部品をグループ化し,グループ単位で閲覧する方式についての調査と,その結果を踏まえた手法の構築を行った.まず,調査として,ソフトウェア部品を類似しているとみなす要因であるコーディングパターン,コードクローンについて,それぞれの特性の分析を行った.その結果,コーディングパターンは非常に変化しやすく,ソフトウェア部品の機能的な共通点としては信頼性が低く,類似性の特性としては適していないことが判明した.コードクローンについては,ソフトウェア部品中での重要な処理をコピーしたコードが多く含まれており,ソフトウェア部品の共通の振る舞いの特性の1つとして適していることを確認した.また,ソフトウェア部品の振る舞い,入力データの共通点を調査する方法としては,動的オブジェクトプロセスグラフという手法を用いることで,部品の振る舞いの典型例を扱うことが可能であることを確認した.
調査結果を踏まえて,ソフトウェア部品の類似性を,ソースコードの類似性によって表現し,また,ソフトウェア部品の閲覧順序を自動的に抽出する手法を試作した.複数のソフトウェア部品に共通した内容は1度だけ検査し,部品ごとに新規に書き加えられた内容だけを追加で検査できるように,ソースコードの差分を可視化するツールとして実現した.また,ソフトウェア部品の内容をソフトウェアの他の部分と切り離して閲覧できるように,エイリアス解析のアルゴリズムを適用し,ソフトウェア部品の内部で参照されるデータを,部品自身が作成するデータと外部から受け取るデータに区分して表示し,ソフトウェア部品とソフトウェアの他の部分との関係を素早く確認できる開発環境を試作した.

Current Status of Research Progress
Current Status of Research Progress

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

Reason

ソフトウェア部品の検査方法は,ソースコードの差分を用いてソフトウェア部品の順序を並べる方式として試作した.オープンソースソフトウェアを対象に試行した実験の結果は良好であり,また,仕組みが単純であり納得しやすいという点で企業の研究グループからも肯定的な意見を多く得ることができた.一方で,企業などで継続的に開発されているソフトウェアでは,ほとんど同一のソフトウェアであるがわずかに機能が異なる変種(variant)が存在しており,ソフトウェア部品単独での順序付けよりも,製品間での順序付けのほうが望ましいという意見も得られており,順序付けに関しては異なる方式の追試も必要であると考えている.
ソフトウェア部品に関する情報をより効果的に提示するために,データフロー情報を収集,可視化する技術を実装した.実験対象として選定したソフトウェアには良好な性能を示しているが,どの程度の規模のソフトウェアにまで対応できるかは不透明であり,スケーラビリティの調査が必要である.
残る課題は,開発者に対する情報提示方法の有効性の評価である.開発者はソフトウェアのすべての機能を把握していることはないため,開発者に対して提示される部品群が,開発者にとって初めて見る部品ばかりになることもありうる.そこで,与えられた部品群が属している機能を,事前知識がない開発者であっても認識できるかを調べる必要がある.実験のための機材の準備については既に完了している.

Strategy for Future Research Activity

情報を提示する手法の有効性を評価するには,開発者が実際に与えられた情報を理解できるかどうかを実験する予定である.具体的には,未知のソフトウェア部品が与えられたときに,その部品が属する機能を理解できるかどうかを評価する実験を行い,開発者の作業データから,開発者がソフトウェア部品を理解する能力について調査する予定である.実験に使用するデータセットとしては,米国ウィリアム・アンド・メアリー大学の研究グループが公開している Traceability Benchmark を活用する予定である.これらは2011年から公開が始まったデータセットであり,ソフトウェアの機能とソースコードの対応関係をある程度の正確さで示していることから,ソフトウェア部品の機能を取り扱う実験に適していると考えている.
解析手法の性能評価を行うには,類似したソフトウェア部品が多数ある状況が必要であるが,一般のオープンソースソフトウェアなどでは起こりにくい.そこで,同一のオープンソースソフトウェアから異なるバージョンを収集することで,疑似的に類似したソフトウェア部品が大量にある状況を作り出す.また,著名なオープンソースソフトウェアには,開発組織が何らかの理由で2つ以上に分離したものがいくつかあり,分離直後にリリースされたソフトウェア部品の拡張例を収集することで,類似しているが機能が異なるソフトウェア部品の大規模な収集を行う.

  • Research Products

    (6 results)

All 2013 2012

All Presentation (6 results)

  • [Presentation] Towards Generating Templates of Method Body Based on Method Name and Related Identifiers2013

    • Author(s)
      Yuya Onizuka
    • Organizer
      8th International Workshop on Advanced Modularization Techniques
    • Place of Presentation
      福岡国際会議場(福岡県福岡市)
    • Year and Date
      20130325-20130325
  • [Presentation] コードクローンに含まれるメソッド呼び出しの変更度合の調査2013

    • Author(s)
      工藤 良介
    • Organizer
      情報処理学会第179回ソフトウェア工学研究会
    • Place of Presentation
      化学会館(東京都千代田区)
    • Year and Date
      20130311-20130312
  • [Presentation] DOPGを用いたオブジェクトの振舞い予測手法2012

    • Author(s)
      脇阪 大輝
    • Organizer
      日本ソフトウェア科学会ソフトウェア工学の基礎ワークショップ 2012
    • Place of Presentation
      ゆふいん山水館(大分県由布市)
    • Year and Date
      20121213-20121215
  • [Presentation] 変数に格納されるオブジェクトの型を仮定した仮想メソッド呼び出し解決手法2012

    • Author(s)
      鹿島 悠
    • Organizer
      日本ソフトウェア科学会ソフトウェア工学の基礎ワークショップ 2012
    • Place of Presentation
      ゆふいん山水館(大分県由布市)
    • Year and Date
      20121213-20121215
  • [Presentation] ソースファイルの派生関係の自動抽出2012

    • Author(s)
      神田 哲也
    • Organizer
      情報処理学会第178回ソフトウェア工学研究会
    • Place of Presentation
      広島市立大学(広島市安佐南区)
    • Year and Date
      20121101-20121102
  • [Presentation] Investigation of Coding Patterns over Version History2012

    • Author(s)
      Hironori Date
    • Organizer
      4th IEEE International Workshop on Empirical Software Engineering in Practice
    • Place of Presentation
      大阪大学中之島センター(大阪府大阪市)
    • Year and Date
      20121026-20121027

URL: 

Published: 2014-07-24  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi