大規模言語モデルを用いたソースコードからのドキュメント生成能力調査

独自の記述スタイルを作成している場合もある．し大規模言語モデル(LLM)の発展やCopilot[1]などかし，一見形式的に記述されているDocstringの中の開発支援ツールの登場によってソースコードの作でも，記述ミスや開発者間で採用するスタイルや説成が容易になった．これによりソフトウェアの開発明内容の粒度の違いなどにより，内容の一貫性が保効率が大きく向上し，開発ハードルが大きく低下し証できない．また，Docstring自体は自然言語であるた[2]．しかしソフトウェアの開発が容易になったため，記述や形式のミス検出が困難といった問題が一方で，ソースコードの品質については保証されてある．いない[3,4,5]．ソフトウェア品質の向上にはソフそこで本稿では，オープンソースプロジェクト内トウェアの保守性，明瞭性，一貫性が重要であり，のPythonの関数からLLMによりDocstringの自動生これらを満たすにはソースコードの可読性向上が不成を行い，生成内容が関数内の要素と適切に対応し可欠である[6,7,8]．また,ソースコード解読はシスているか分析することで，LLMのドキュメント生成テム開発，保守において最も時間のかかる作業であ能力の調査を行う．ソースコードからドキュメントるため，可読性の向上はシステム開発効率の向上にを生成する関連研究（付録Aで詳述）では正確性やも繋がる[6,9,10,8,11]．ソースコードの可読性を簡潔性，類似性といった観点から評価を行うが，本向上させる手段の一つとして，概要が網羅的に記述稿では記述スタイルに着目し，生成されるDocstring―2123―.メタ情報：github/scikit-learn/…/logistic.py39def_intercept_dot(w,X,y):関数定義"""Computesy*np.dot(X,w).Ittakesinto...……..Parametersw:ndarray,ndarray…….Coefficientvector."""c=0ifw.size==X.shape[1]+1:c=w[-1]w=w[:-1]z=self_parse_dot(X,w)+creturnw,c,zdocstring処理部分の一貫性や忠実性，頑健性に関する観点から調査を行う．はじめに自動で生成された場合の記述スタイルの偏りについての調査を行うことでLLMによって生成されるDocstringの傾向について考察する．次にスタイルを指定してDocstringを生成した場合，指定した記述スタイルに即したDocstringが適切に生成されるか調査する．最後に，生成条件や対象の関数に対する頑健性を明らかにするため，関数名・変数名を内容と全く関係のない名前にした場合に生成されるDocstringの内容に影響があるかについても分析した．検証の結果，LLMは概ね形式的であり可読性が高いDocstringが生成可能である一方で，可読性が低いコードに対しては意図しない書き換えなどを行うことが明らかとなった．