CodeQueries: A Dataset of Semantic Queries over Code

要約

開発者は、作業中のコードのセマンティックな側面についてよく質問します。たとえば、「競合する属性を宣言している親クラスを持つクラスはありますか?」などです。
これらに答えるには、クラスの属性や継承関係などのコードのセマンティクスを理解する必要があります。
このような質問に対する回答では、回答を構成するコード スパン (サブクラスの宣言など) と裏付けとなる事実 (競合する属性の定義など) を特定する必要があります。
コードを介した質問応答に関する既存の研究では、はい/いいえの質問やメソッド レベルのコンテキストが考慮されています。
私たちは、Python コードに対するセマンティック クエリの CodeQueries と呼ばれるラベル付きデータセットを提供します。
既存のデータセットと比較すると、CodeQueries では、クエリはコード セマンティクスに関するものであり、コンテキストはファイル レベルであり、回答はコード スパンです。
このデータセットは、広く使用されている静的分析ツール CodeQL でサポートされているクエリに基づいて厳選されており、肯定的な例と否定的な例の両方、およびシングルホップとマルチホップの推論を必要とするクエリが含まれています。
データセットの価値を評価するために、ベースラインのニューラル アプローチを評価します。
CodeQueries のサブセットのゼロショット設定と少数ショット設定で大規模な言語モデル (GPT3.5-Turbo) を研究します。
また、微調整を行った BERT スタイル モデル (CuBERT) も評価します。
これらのモデルが CodeQuery で限定的に成功することがわかりました。
したがって、CodeQueries は、抽出的な質問応答設定で、コード セマンティクスを理解するニューラル モデルの能力をテストするための挑戦的なデータセットです。

要約(オリジナル)

Developers often have questions about semantic aspects of code they are working on, e.g., ‘Is there a class whose parent classes declare a conflicting attribute?’. Answering them requires understanding code semantics such as attributes and inheritance relation of classes. An answer to such a question should identify code spans constituting the answer (e.g., the declaration of the subclass) as well as supporting facts (e.g., the definitions of the conflicting attributes). The existing work on question-answering over code has considered yes/no questions or method-level context. We contribute a labeled dataset, called CodeQueries, of semantic queries over Python code. Compared to the existing datasets, in CodeQueries, the queries are about code semantics, the context is file level and the answers are code spans. We curate the dataset based on queries supported by a widely-used static analysis tool, CodeQL, and include both positive and negative examples, and queries requiring single-hop and multi-hop reasoning. To assess the value of our dataset, we evaluate baseline neural approaches. We study a large language model (GPT3.5-Turbo) in zero-shot and few-shot settings on a subset of CodeQueries. We also evaluate a BERT style model (CuBERT) with fine-tuning. We find that these models achieve limited success on CodeQueries. CodeQueries is thus a challenging dataset to test the ability of neural models, to understand code semantics, in the extractive question-answering setting.

arxiv情報

著者 Surya Prakash Sahu,Madhurima Mandal,Shikhar Bharadwaj,Aditya Kanade,Petros Maniatis,Shirish Shevade
発行日 2023-07-14 11:01:45+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

カテゴリー: cs.CL, cs.SE パーマリンク