「プログラムソースコードのわかりやすさの閾値に基づく評価基準とその導出手法群の評価」情報処理学会論文誌に採択

津田直彦, 鷲崎弘宜, 深澤良彰, 保田裕一朗, 杉村俊輔, “プログラムソースコードのわかりやすさの閾値に基づく評価基準とその導出手法群の評価”, 情報処理学会論文誌, pp.1-17, 2019. (掲載予定)

プログラムソースコード(以下コードと略す) における機能的不具合を伴わない構造上の問題は,コードスメル,発展性欠陥,不可視の技術的負債等と呼ばれ,長期的なソフトウェア開発において保守コストを増加させる原因のひとつとして知られている.そのため,コードのわかりやすさをコードメトリクスと閾値で自動評価する様々な手法がこれまでに提案されてきた.しかし,必ずしもメトリクス間のトレードオフや冗長性が考慮されていないために,問題個所の正解(教師データ) を用いても自動評価の精度が改善されにくい場合があるという問題を抱えていた.一方で,分類木学習と呼ばれる機械学習手法では複数のメトリクスの影響関係を考慮できるため,過学習しやすくなる可能性があるものの,評価精度のより大きな改善を期待できる.従来,コードのわかりやすさの評価の分野では,一般的な閾値ベースの手法と,閾値に加えて解釈の形式表現も導出可能な分類木学習との性能比較事例は報告されていない.本論文では評価実験として,建機制御用のC++組込みソフトウェア群を題材としてソースコードファイル単位の評価基準の導出における手法の性能を比較した.そして,分類木学習アルゴリズムC5.0 では少量の教師データでも開発者の認識に反しない評価基準を導出でき,教師データの量を増加させた際には従来手法よりも自動評価の精度が改善され,実用的であることを確認した.自動評価の精度としてはエキスパートが実施したレビュー結果との一致度(F 値) を用い,比較対象の従来手法にはパーセンタイル関数,Alves 法,Bender法,ROC 曲線法を用いた.