忍者ブログ

いけいけ機械学習

統計、機械学習、AIを学んでいきたいと思います。 お役に立てば幸いです。

Bad Smell Detection using Google Gemini

公開されている

Bad Smell Detection using Google Gemini

のキモ部分を読んで勉強してみたいと思います。

概要

Code Smellを発見することは、ソフトウェアエンジニアリングの

重要な作業である。デザインの問題を発見し、コードの品質や保守性を

向上させる。

Google GeminiのようなLLMを利用すれば、もっと効果的に、自動的に

Code Smellを発見することができる。

この論文は、Javaプロジェクトにおいて、Code Smellを特定する

Geminiの有効性を検証するもの。

MLCQデータセットを用いて、4つのタイプのCode Smell

(Blob、Data Class、Feature Envy、Long Metthod)を、

3つの深刻度のレベルに分けた。

そして、

・一般的なプロンプト

・詳しいプロンプト

を与えた。

結論としては、詳しいプロンプトを与えた方が、

一般的なプロンプトより、正確な結果を返すことが多かった。

Geminiは、Chart-GPTに比較し、特定のCode Smellを発見できなかた。

これらの結果には、追加の検証が必要である。

Google Geminiは、Code Smellの発見に有用なツールではあるが、

正確性やプロンプトの影響については、さらなる研究が必要である。


概要

目的は、LLMを利用して、code smellを発見すること。

Gemini 1.5 Proを用いて、Java プロジェクトのcode smellが発見できるかを

評価した。

MLCQというcode smellのデータベースを利用した。

これには、GitHubリポジトリーにある 14,739のcode smellが含まれる。

次の4つのタイプのcode smellを対象とした。

1. Blob

classが巨大で、複雑である。複数の責務を担っており、

クラスを分割すべきものである。

2.Data Class

データを格納するだめのクラスで、重要な機能を、

持っていない。

3.Feature Envy

クラスが、別のクラスのデータやメソッドに過剰にアクセスする。

4.Log method

methodが長くて、複雑である。


リサーチクエスチョンは、以下である。

RQ1:一般的なプロンプトを利用することで、

Geminiは、code smellを特定できるか?




-- つづきます。--



PR