{"created":"2025-01-19T01:42:47.448261+00:00","metadata":{"_oai":{"id":"oai:ipsj.ixsq.nii.ac.jp:00239255","sets":["6164:6165:6522:11751"]},"path":["11751"],"owner":"44499","recid":"239255","title":["REST API仕様に基づく大規模言語モデルを用いた自動バグ修正手法"],"pubdate":{"attribute_name":"公開日","attribute_value":"2024-09-10"},"_buckets":{"deposit":"a4fb0c42-73aa-4983-86b0-99ea5d5aee44"},"_deposit":{"id":"239255","pid":{"type":"depid","value":"239255","revision_id":0},"owners":[44499],"status":"published","created_by":44499},"item_title":"REST API仕様に基づく大規模言語モデルを用いた自動バグ修正手法","author_link":["655543","655546","655542","655544","655547","655545"],"item_titles":{"attribute_name":"タイトル","attribute_value_mlt":[{"subitem_title":"REST API仕様に基づく大規模言語モデルを用いた自動バグ修正手法"},{"subitem_title":"Automated Program Repair Based on REST API Specifications Using Large Language Models","subitem_title_language":"en"}]},"item_keyword":{"attribute_name":"キーワード","attribute_value_mlt":[{"subitem_subject":"大規模言語モデル","subitem_subject_scheme":"Other"}]},"item_type_id":"18","publish_date":"2024-09-10","item_language":{"attribute_name":"言語","attribute_value_mlt":[{"subitem_language":"jpn"}]},"item_18_text_3":{"attribute_name":"著者所属","attribute_value_mlt":[{"subitem_text_value":"立命館大学"},{"subitem_text_value":"立命館大学"},{"subitem_text_value":"立命館大学"}]},"item_18_text_4":{"attribute_name":"著者所属(英)","attribute_value_mlt":[{"subitem_text_value":"Ritsumeikan University","subitem_text_language":"en"},{"subitem_text_value":"Ritsumeikan University","subitem_text_language":"en"},{"subitem_text_value":"Ritsumeikan University ","subitem_text_language":"en"}]},"item_publisher":{"attribute_name":"出版者","attribute_value_mlt":[{"subitem_publisher":"情報処理学会","subitem_publisher_language":"ja"}]},"publish_status":"0","weko_shared_id":-1,"item_file_price":{"attribute_name":"Billing file","attribute_type":"file","attribute_value_mlt":[{"url":{"url":"https://ipsj.ixsq.nii.ac.jp/record/239255/files/IPSJ-SES2024027.pdf","label":"IPSJ-SES2024027.pdf"},"date":[{"dateType":"Available","dateValue":"2026-09-10"}],"format":"application/pdf","billing":["billing_file"],"filename":"IPSJ-SES2024027.pdf","filesize":[{"value":"1.0 MB"}],"mimetype":"application/pdf","priceinfo":[{"tax":["include_tax"],"price":"660","billingrole":"5"},{"tax":["include_tax"],"price":"330","billingrole":"6"},{"tax":["include_tax"],"price":"0","billingrole":"12"},{"tax":["include_tax"],"price":"0","billingrole":"44"}],"accessrole":"open_date","version_id":"8d4d3e7b-b2d1-47e2-9916-6a15974f0936","displaytype":"detail","licensetype":"license_note","license_note":"Copyright (c) 2024 by the Information Processing Society of Japan"}]},"item_18_creator_5":{"attribute_name":"著者名","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"山岸, 克紀"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"吉田, 則裕"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"槇原, 絵里奈"}],"nameIdentifiers":[{}]}]},"item_18_creator_6":{"attribute_name":"著者名(英)","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"Katsuki, Yamagishi","creatorNameLang":"en"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"Norihiro, Yoshida","creatorNameLang":"en"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"Erina, Makihara","creatorNameLang":"en"}],"nameIdentifiers":[{}]}]},"item_resource_type":{"attribute_name":"資源タイプ","attribute_value_mlt":[{"resourceuri":"http://purl.org/coar/resource_type/c_5794","resourcetype":"conference paper"}]},"item_18_description_7":{"attribute_name":"論文抄録","attribute_value_mlt":[{"subitem_description":"クラウドサービスの多くは,ウェブ API の一種である REST API を提供しており,クライアントのプログラムからのアクセスが可能となっている.REST API のクライアント開発では,開発中のプログラムが REST API 仕様を満足しないことを,テスト時にレスポンスを確認する時点になって気づくことになりやすい.多くの場合,レスポンスに含まれるエラーコードやエラーメッセージは,API 仕様のどの部分を満足していないかを特定するためには不十分な情報しか含まれていない.そのため,REST API のクライアントを開発する際は,リクエストの送信とレスポンスの受信を繰り返しながら,デバッグをすることになりやすい.そこで本研究では,REST API を呼び出すクライアントのプログラムを対象として,REST API の誤用を検出し,自動修正する手法を提案する.提案手法では,まずプログラムから API 仕様を満足しないコード片を検出する.次に,大規模言語モデルに与えるための検出したコード片および満足しない仕様を含むプロンプトを生成する.最後に,そのプロンプトを大規模言語モデルに与えることで誤用の自動修正を行う.適用実験では,API の誤用事例を収集し,提案手法を適用した.その結果,提案手法はほとんどの事例について,API 仕様を満足しないコード片の検出に成功した.また,提案手法は,大規模言語モデルに誤用事例のプログラム全体を与えた場合と比較して,より多くの誤用事例を修正できることがわかった. ","subitem_description_type":"Other"}]},"item_18_biblio_info_10":{"attribute_name":"書誌情報","attribute_value_mlt":[{"bibliographicPageEnd":"164","bibliographic_titles":[{"bibliographic_title":"ソフトウェアエンジニアリングシンポジウム2024論文集"}],"bibliographicPageStart":"155","bibliographicIssueDates":{"bibliographicIssueDate":"2024-09-10","bibliographicIssueDateType":"Issued"},"bibliographicVolumeNumber":"2024"}]},"relation_version_is_last":true,"weko_creator_id":"44499"},"id":239255,"updated":"2025-01-19T08:20:44.290439+00:00","links":{}}