研究概要 |
・ハッシュ値を用いた,ソースコードとドキュメント間リンクの矛盾検知方式のプロトタイプ試作 平成23年度は「追記型・文字粒度の追跡子」の使用を前提として使用する,ハッシュ値を用いたソースコードとドキュメントー貫性保持方式の実現方法を検討し,プロトタイプを試作した. 「追記型・文字粒度の追跡子」では通常の状態ではプログラマの目には見えない,隠れたテキストとして働くが,この隠れたテキストとして何を埋め込むべきかは自明ではない.ここでは外部のソフトウェアオブジェクトへの追跡性リンクが矛盾した状態(obsolete)になる問題を解決する方式として,ハッシュ値を用いる方式を提案している.具体的にはメソッドのボディ部分のテキストを対象としてハッシュ値を計算し,そのハッシュ値を見えない追跡子として埋め込む.リンク先のドキュメントなどが参照先として適切かどうかを確認せずに(つまりリンクを確認あるいは更新せずに)メソッドを書き換えると,メソッドのハッシュ値と追跡子中のハッシュ値が矛盾するため,ツールによる自動的な警告が可能となる. この方式を,Java言語を対象として,Eclipseのプラグインとしてプロトタイプ実装した.実装の容易さのため,追跡子としては埋め込まず,Javadocの@seeタグが表現するリンクに対して,@hashcodeタグ部分にハッシュ値を表現する方式をとった.これにより,コンパクトに実装できることや,ツールによる自動警告が可能であることを確認できた. ・リンクの追跡,矛盾検知に関する研究 「追記型・文字粒度の追跡子」のリンク追跡・矛盾検知に関する研究成果として,「誤解放を防ぐための新しい型修飾子stricLlifetime」「競合回避機構を備えた高互換かつ高精度な境界検査手法」の研究成果もあげた.
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
2: おおむね順調に進展している
理由
「追記型・文字粒度の追跡子」として,平成22年度にUnicodeの第14面の言語タグを用いたプロトタイプ実装を行い,平成23年度には応用方式としてハッシュ値を用いたリンク矛盾検知機能のプロトタイプ実装を行った.これらを最終的に統合する必要はあるが,ベースとなる方式の構築・実装をおおむね計画通りに与えることができた.
|
今後の研究の推進方策 |
「追記型・文字粒度の追跡子」の実現方法や応用方式として別個に構築したプロトタイプ実装を1つに統合する.また,典型的で有効な応用事例を考慮した上で実用上,有用な機能を組み入れる形で,Echpseプラグインとして実現することを進める.ただし,その際に包括的な実装を目指すと実装規模が大きくなりすぎる可能性があるため,ポイントを絞った統合を目指す.
|