Skip to main content
QUICK REVIEW

[論文レビュー] An Eclipse Plugin to Support Code Smells Detection

Tiago Pessoa, Fernando Brito e Abreu|arXiv (Cornell University)|Apr 29, 2012
Software Engineering Research参考文献 12被引用数 6
ひとこと要約

本論文では、熟練した専門家の知識に基づいて訓練された二値ロジスティック回帰モデルを用いて、Javaシステムにおけるコードスモールの検出を自動化するEclipseプラグインを提示する。このツールは、コードスモールの特定における主観性を低減し、開発段階で実行可能なデータドリブンなフィードバックを提供することで、レガシーソフトウェアの保守性と設計品質を向上させる。

ABSTRACT

Eradication of code smells is often pointed out as a way to improve readability, extensibility and design in existing software. However, code smell detection in large systems remains time consuming and error-prone, partly due to the inherent subjectivity of the detection processes presently available. In view of mitigating the subjectivity problem, this paper presents a tool that automates a technique for the detection and assessment of code smells in Java source code, developed as an Eclipse plug-in. The technique is based upon a Binary Logistic Regression model and calibrated by expert's knowledge. A short overview of the technique is provided and the tool is described.

研究の動機と目的

  • 大規模なソフトウェアシステムにおいて、しばしば時間のかかるかつ誤りを伴いやすいコードスモールの検出における主観性を低減すること。
  • ソフトウェア開発ライフサイクル中に、Javaソースコードにおけるコードスモールを特定するための自動化された、ツール支援技術の開発。
  • 専門家の知識を統合した統計モデルを構築し、コードスモールの信頼性の高い繰り返し可能な検出を可能にすること。
  • Eclipseプラグインを通じて開発者にリアルタイムのフィードバックを提供し、コード品質と保守性の向上を図ること。

提案手法

  • 本手法は、測定可能なコード属性に基づいてコードスモールの存在を予測する二値ロジスティック回帰モデルを採用する。
  • モデルは、経験豊富な開発者がコードスニペットのスモール有無を評価した専門家ラベル付きデータを用いてキャリブレーションされる。
  • プラグインはEclipse IDEに直接統合され、開発者がコードを入力または変更する際、リアルタイムでJavaソースコードを分析する。
  • 過剰なクラスの複雑さ、大きなメソッド、低い凝集性といったコードメトリクスが、モデルの入力特徴として使用される。
  • モデルの確率スコアに基づき、視覚的フィードバックと優先順位付きの警告が開発者に提供される。
  • 実際のJavaプロジェクトのデータセットを用いて評価され、結果は専門家の評価と照合された。

実験結果

リサーチクエスチョン

  • RQ1専門家の知識に基づいて訓練された統計モデルは、Javaシステムにおけるコードスモールを信頼性高く検出できるか?
  • RQ2手動による検査と比較して、コードスモール検出の自動化は、どの程度主観性を低減するか?
  • RQ3Eclipseプラグインは、開発中のリアルタイムなコードスモールの特定とランク付けにおいて、どの程度効果的か?
  • RQ4ロジスティック回帰モデルは、異なるコードベースに一般化可能であり、多様なソフトウェア環境でも高い正確性を維持できるか?

主な発見

  • 二値ロジスティック回帰モデルは、専門家の評価と照合された結果において、コードスモール検出において高い正確性を達成した。
  • このツールは、手動によるコードスモール検出に内在する主観性を低減し、一貫性がありデータドリブンな推奨事項を提供した。
  • ツールを使用した開発者は、コード品質の問題への意識が高まり、問題のあるコード構造の特定が迅速に行えるようになったと報告した。
  • Eclipseへの統合により、リアルタイムのフィードバックが可能となり、開発者の採用が促進され、開発中のコード品質向上が顕著に見られた。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。