実験の概要は、ハンズオン形式で保守・派生開発プロジェクトを模したソースコードのレビューを行い、既存システムのソースコードを読解するのにかかった時間や、差分の適用が適切かどうかを判断するのにかかった時間を計測するというもの。題材には1,500行程度のJavaアプレットのソースコードが用いられた。実験の目的としては、「慎重に判断を下す必要のある変更の種類」「特定のスキルがあると短時間で読解できるソースコードの特徴」「読解時間の見積もりのために計測すべきコードメトリクス」などの解明と説明している。
森崎助教によると、現在得られている知見として「読解時間はソースコード規模だけでは予測が難しく、メトリクスを利用することである程度改善する」「対象アプリケーションやライブラリ等の知識が必要な場合、小規模な変更であれば知識だけで十分だが、大規模な変更の場合、読解やレビューの経験があると読解時間を短縮できる」「プログラミング経験が多い場合、言語仕様等の制約を使って読解すべき箇所をうまく絞り込んでいる」ことを挙げた。
今後は実験結果の本格的な分析を進めるとしつつ、現場のエンジニアからの「こんな視点での分析をして欲しい」というアイデアの投稿も広く呼びかけている。
【関連リンク】
・ソースコードリーディングワークショップ ハンズオン,オンラインハンズオン結果中間報告 1
・【読者参加型企画】2,000行のJavaソースコードを読むのに何分かかりますか?(CodeZine)