Evaluation of large language models for assessing code maintainability

要約

オープンソース ソフトウェア リポジトリの可用性の向上と、大規模言語モデル (LLM) を使用したコード分析の最近の進歩により、以前は自動化することが非常に困難であったソフトウェア エンジニアリング タスクを自動化するための新たな取り組みが次々と行われています。
この論文では、LLM によって生成されたコードの確率と現在のコードが持つであろう確率を比較することで、潜在的な品質問題が示される可能性があるという仮説を立てた最近の一連の研究を調査します。
私たちは、10 の異なるモデル (GPT2 および Llama2 に基づく) によって生成されたコードのクロスエントロピーと、専門家によって評価され、ベンチマーク データセットで利用可能な可読性、理解しやすさ、複雑さ、モジュール化、全体的な保守性といった品質側面との関連性を調査します。
私たちの結果は、論理コード行数 (LLOC) を制御することで、LLM によって計算されたクロスエントロピーが実際にクラスレベルでの保守性の予測因子であることを示しています (クロスエントロピーが高くなるほど保守性は低くなります)。
ただし、LLOC を制御しない場合 (たとえば、小さなクラスと長いクラスを比較する場合)、この関係は逆転します。
さらに、LLM の複雑さはクロス エントロピーの範囲に影響しますが (モデルが小さいほどクロス エントロピーの範囲が広くなる傾向があります)、これは保守性の側面を予測する上で重要な役割を果たします。
私たちの研究は、10 個の異なる事前トレーニング済みモデル (GPT2 および Llama2 に基づく) と、Schnappinger らが収集した保守性の側面に限定しています。
論理コード行 (LLOC) を制御する場合、クロスエントロピーは保守性の予測因子となります。
ただし、関連する研究では、トークンまたは短いシーケンスのレベルではクロスエントロピーの潜在的な有用性が示されていますが、クラスレベルでは、この基準だけでは保守性を予測するには不十分であることが判明する可能性があり、実際にこの情報を最大限に活用するにはさらなる研究が必要です。

要約(オリジナル)

Increased availability of open-source software repositories and recent advances in code analysis using large language models (LLMs) has triggered a wave of new work to automate software engineering tasks that were previously very difficult to automate. In this paper, we investigate a recent line of work that hypothesises that comparing the probability of code generated by LLMs with the probability the current code would have had can indicate potential quality problems. We investigate the association between the cross-entropy of code generated by ten different models (based on GPT2 and Llama2) and the following quality aspects: readability, understandability, complexity, modularisation, and overall maintainability assessed by experts and available in an benchmark dataset. Our results show that, controlling for the number of logical lines of codes (LLOC), cross-entropy computed by LLMs is indeed a predictor of maintainability on a class level (the higher the cross-entropy the lower the maintainability). However, this relation is reversed when one does not control for LLOC (e.g., comparing small classes with longer ones). Furthermore, while the complexity of LLMs affects the range of cross-entropy (smaller models tend to have a wider range of cross-entropy), this plays a significant role in predicting maintainability aspects. Our study limits itself on ten different pretrained models (based on GPT2 and Llama2) and on maintainability aspects collected by Schnappinger et al. When controlling for logical lines of code (LLOC), cross-entropy is a predictor of maintainability. However, while related work has shown the potential usefulness of cross-entropy at the level of tokens or short sequences, at the class level this criterion alone may prove insufficient to predict maintainability and further research is needed to make best use of this information in practice.

arxiv情報

著者 Marc Dillmann,Julien Siebert,Adam Trendowicz
発行日 2024-01-23 12:29:42+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

カテゴリー: 68, cs.AI, cs.SE, D.2.7 パーマリンク