拡張性の高い次世代ソフトウェア統合開発環境に関する研究

大森 隆行

統合開発環境(IDE)において,開発に必要なすべてのツールを,あらゆる状況を考慮して初めから用意しておくことは不可能である.このため,環境内のツールの一部を入れ替えたり,新たなものを導入したりする方法がとられる.IDEにおいてツールの入れ替えや追加が可能である性質はますます重要視されており,近年のIDEは拡張性のあるツールプラットフォームとして実現されている.

IDEの拡張機構の中で最も代表的なものは,Eclipseのプラグインである.これにより,開発者は新しい機能の追加や削除を容易に行うことができる.しかしながら,プラグインの開発には,IDEの拡張方法に関する深い知識が必要である.このため,開発者が自らプラグインを開発し,環境に組み込むことは困難である.また,従来のIDEはソフトウェア記述を支援することに主眼をおいており,ソフトウェア変更支援に必要な情報が十分に提供されていない.

これらの問題に対して,本論文では次の2つの手法を提案する.

・XMLを用いた柔軟な機能拡張
 本手法では,IDEのユーザが簡易なXML形式の設定ファイルを記述することで機能拡張を行えるようにする.これにより,開発者はプログラムの構成要素間の関連を利用したツールを実現したり,既存の拡張機能を変更したりすることが容易となる.本手法により,機能拡張が困難であるという,従来のIDEの問題を改善可能である.

・開発者による編集操作に基づくソースコード変更抽出
 本手法では,IDEのエディタ上における開発者の操作履歴を全て記録し,ソースコード変更を追跡可能とする情報を提供する.ツール開発者は,記録された操作履歴を用いることで,変更を扱うツールを容易に構築可能である.本手法により,従来取り扱い不可能であった情報のうち,操作履歴情報を抽出・利用することが可能となる.これらの情報を活用するツールを提供することで,従来不十分であったソフトウェア変更の支援が可能となる.

ここで,ソフトウェア開発では,工程や目的に応じて,さまざまなツールを使い分ける必要があり,IDE内の情報をツール間で容易に共有および交換できることが重要である.そこで,上記2つの手法を組み込んだ次世代IDEにおいて,それが扱うソフトウェア情報,つまり,ソースコード,機能拡張のための設定ファイル,変更履歴の表現にはすべてXMLを用い,表現形式の統一を図った.