T2 - qwik.jp

T2: Exploring the Imapct of Inter-smell Relations
on Software Maintainability: An Empirical Study
• Code (Bad) Smellがソフトウェアの保守作業にどのような影響を与え
るのかを調査している.
• これまでの研究ではCode Smell単体が与える影響を調査していた.
• 本研究では初めてCode Smell同士の相互作用を調査している.
• 調査手法
• 前準備:同じ要求と仕様で4つの企業にシステム開発を依頼
• 6人の開発者にそれぞれ同じ要求と仕様で機能拡張を依頼
• 毎日のミーティングで問題があったかどうかを聞き取り調査
• 機能拡張前のシステムからCode Smell(12種)を自動測定し,主成分分析を
用いてco-locatedなCode Smellを求めた.
• 主成分分析により得られる各主成分がco-locatedなCode Smellを表す
• Co-locatedなCode Smellと機能拡張時に観測された問題点について定性的
な分析を行った.
担当:藤原 賢二
奈良先端大
調査結果と採択理由
• 11種類のCode Smellを主成分分析を用いて5組の共起関係のある
組に分離することができた
• 例:God Method, God Class, Feature Envy, Duplicated Code, Temporary
variable used for several purposes
• うち3組については保守作業時に発生した問題との関連が見られた
• 複数のファイルに特定のCode Smellが共起することで単体のファイ
ルと同じように保守作業に影響を与えることが分かった
• Individual Code Smells ←→ Coupled Smells
• 採択理由
• 調査手法が大規模かつ緻密に計画されている.
• 本論文では同じ仕様,要求を満たした計4つシステムを拡張している.
• 複数種類のCode Smell同士の相互作用がソフトウェアの保守に与える影響
をエンピリカルに調査した最初の研究である.
本論文が述べている今後のアプローチ
• 結論において今後のCode Smellに関する研究がすべきこと
を述べている
1. より大規模かつ,違った保守シナリオにおけるCode Smellの
関係を調査すること
2. Code Smellと他の設計情報の関係を調査すること
3. “Coupled Smells”を調査するための依存関係を分析を行う
こと