ページの本文へ

Hitachi

企業情報研究開発

2016年10月14日

発表者からのレポート


写真1 発表風景

シンガポールにて 1st International Workshop on Refactoring (IWoR 2016) が開催されました。IWoRは、2016/9/3 〜 9/7に開催された31st IEEE/ACM International Conference on Automated Software Engineering (ASE 2016) の併設ワークショップで、ソフトウェアのリファクタリング技術に関する先端的な研究の議論を行うものです。筆者は「Refactoring Verification using Model Transformation」と題して、ソフトウェアのリファクタリングを行う際の検証技術について発表を行いました(写真1)


図1 提案手法による検証例
拡大図

組込み製品のソフトウェア開発にあたっては、既存ソフトウェアを改修して機能追加などを実施する差分開発が多く見られます。このような開発形態においては、製品の世代を重ねるにつれてソフトウェアの構造が複雑化し、開発効率が低下してしまうため、リファクタリングと呼ばれる構造改善を定常的に実施することが望ましいとされます。しかし、「動いているものを触るな」が原則とされる実際の製品開発の現場では、構造改善の際にも不具合混入リスクが存在するために、リファクタリングがなかなか進まない課題がありました。

本研究では、組込みソフトウェア開発現場でのリファクタリング実践を支援することを目標として、リファクタリング前後のプログラム等価性検証技術を提案しました(図1)。提案手法では、まず検証対象のソフトウェアのソースコードを解析してプログラム構造をモデル化し、リファクタリング前後で構造比較することで等価性を判定します。その際に、リファクタリングによって意図された差異を除去するため、構造比較に先立ってリファクタリングパターンに従ったモデル変換を行います。組込み製品ソフトウェアを対象とした適用実験の結果として、開発現場で実際に実施されたリファクタリングのうち約56%を正しく検証でき、実用に耐えうる検証技術であることを示しました。

(市井 誠    記)

関連論文

  • Makoto Ichii, Daisuke Shimbara, Yasufumi Suzuki, and Hideto Ogawa, "Refactoring Verification using Model Transformation." In Proceedings of the 1st International Workshop on Software Refactoring (IWoR 2016), Sep. 2016
  • ページの先頭へ