論文の概要: Natural Language Outlines for Code: Literate Programming in the LLM Era
- arxiv url: http://arxiv.org/abs/2408.04820v2
- Date: Wed, 15 Jan 2025 03:43:22 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-01-16 15:51:12.768076
- Title: Natural Language Outlines for Code: Literate Programming in the LLM Era
- Title(参考訳): コードのための自然言語の概要:LLM時代のリテラトプログラミング
- Authors: Kensen Shi, Deniz Altınbüken, Saswat Anand, Mihai Christodorescu, Katja Grünwedel, Alexa Koenings, Sai Naidu, Anurag Pathak, Marc Rasi, Fredde Ribeiro, Brandon Ruffin, Siddhant Sanyam, Maxim Tabachnyk, Sara Toth, Roy Tu, Tobias Welp, Pengcheng Yin, Manzil Zaheer, Satish Chandra, Charles Sutton,
- Abstract要約: 我々は、開発者がAI支援を提供するための新しいモダリティとインタラクションサーフェスとして、自然言語のアウトラインを使うことを提案する。
コード関数のNLアウトラインは、簡潔な散文で書かれた複数のステートメントを含み、コードを分割し、その主要なアイデアをリテラトプログラミングのスタイルで要約する。
- 参考スコア(独自算出の注目度): 35.491976812197485
- License:
- Abstract: We propose using natural language outlines as a novel modality and interaction surface for providing AI assistance to developers throughout the software development process. An NL outline for a code function comprises multiple statements written in concise prose, which partition the code and summarize its main ideas in the style of literate programming. Crucially, we find that modern LLMs can generate accurate and high-quality NL outlines in practice. Moreover, NL outlines enable a bidirectional sync between code and NL, allowing changes in one to be automatically reflected in the other. We discuss many use cases for NL outlines: they can accelerate understanding and navigation of code and diffs, simplify code maintenance, augment code search, steer code generation, and more. We then propose and compare multiple LLM prompting techniques for generating outlines and ask professional developers to judge outline quality. Finally, we present two case studies applying NL outlines toward code review and malware detection.
- Abstract(参考訳): ソフトウェア開発プロセス全体を通して、開発者にAI支援を提供するために、自然言語のアウトラインを新しいモダリティとインタラクションサーフェスとして使用することを提案する。
コード関数のNLアウトラインは、簡潔な散文で書かれた複数のステートメントを含み、コードを分割し、その主要なアイデアをリテラトプログラミングのスタイルで要約する。
重要なことに、現代のLLMは、実際、正確で高品質なNLアウトラインを生成することができる。
さらに、NLアウトラインはコードとNL間の双方向同期を可能にし、一方の変更をもう一方に自動的に反映できるようにする。
コードとdiffの理解とナビゲーションを高速化し、コードのメンテナンスを簡素化し、コード検索を強化し、コード生成をステア化できる。
次に、複数のLCMプロンプト技術を提案して比較し、プロの開発者にアウトライン品質の判断を依頼する。
最後に,NLの概要をコードレビューとマルウェア検出に応用した2つのケーススタディを提案する。
関連論文リスト
- Code-mixed LLM: Improve Large Language Models' Capability to Handle Code-Mixing through Reinforcement Learning from AI Feedback [11.223762031003671]
コードミキシングは、構文ミスマッチやセマンティックブレンディングなど、日常生活におけるユニークな課題を導入している。
大規模言語モデル(LLM)は、人間の言語を理解するのに前例のない能力を提供することによって、自然言語処理(NLP)の分野に革命をもたらした。
本稿では,人間フィードバック(RLHF)とコード混合機械翻訳タスクの強化学習を通じて,多言語LLMのコードミキシング理解能力を改善することを提案する。
論文 参考訳(メタデータ) (2024-11-13T22:56:00Z) - Crystal: Illuminating LLM Abilities on Language and Code [58.5467653736537]
本稿では,自然言語と符号化機能の統合性を高めるための事前学習戦略を提案する。
結果のモデルであるCrystalは、両方のドメインで顕著な能力を示します。
論文 参考訳(メタデータ) (2024-11-06T10:28:46Z) - NoviCode: Generating Programs from Natural Language Utterances by Novices [59.71218039095155]
初心者非プログラマによるAPIと自然言語記述を入力とする新しいNLプログラミングタスクであるNoviCodeを提示する。
我々は、NoviCodeがコード合成領域における挑戦的なタスクであることを示し、非技術的命令から複雑なコードを生成することは、現在のText-to-Codeパラダイムを超えている。
論文 参考訳(メタデータ) (2024-07-15T11:26:03Z) - Synthetic Programming Elicitation for Text-to-Code in Very Low-Resource Programming and Formal Languages [21.18996339478024]
SPEAC(emphsynthetic programming elicitation and compilation)を紹介する。
SPEACは、より頻繁に、意味的正しさを犠牲にすることなく、構文的に正しいプログラムを生成する。
UCLID5形式検証言語のケーススタディにおいて,SPEACの性能を実証的に評価した。
論文 参考訳(メタデータ) (2024-06-05T22:16:19Z) - Sketch Then Generate: Providing Incremental User Feedback and Guiding LLM Code Generation through Language-Oriented Code Sketches [0.9715549306474006]
私たちはLanguage-Oriented Code Sketchingを紹介します。
このアプローチでは、プロンプト内の固有の言語構造を活用して、プロンプトをコードスケッチに変換する。
論文 参考訳(メタデータ) (2024-05-07T04:21:07Z) - CodeGRAG: Bridging the Gap between Natural Language and Programming Language via Graphical Retrieval Augmented Generation [58.84212778960507]
我々は,LLMの性能を高めるため,グラフィカル検索拡張コード生成フレームワークであるCodeGRAGを提案する。
CodeGRAGは、制御フローとデータフローに基づいて、コードブロックのグラフィカルなビューを構築し、プログラミング言語と自然言語のギャップを埋める。
ハードメタグラフプロンプト、ソフトプロンプト技術、事前訓練されたGNN専門家の目的の有効性を検証するために、C++言語とピソン言語の両方を含む4つのデータセットで様々な実験と改善が行われた。
論文 参考訳(メタデータ) (2024-05-03T02:48:55Z) - Neural Models for Source Code Synthesis and Completion [0.0]
コード提案システムへの自然言語(NL)は、NL発話をコンパイル可能なコードスニペットに変換することで、統合開発環境(IDE)の開発者を支援する。
現在のアプローチは主に意味解析に基づくハードコードなルールベースのシステムである。
我々は,NLを汎用プログラミング言語にマッピングするためのシーケンス・ツー・シーケンス深層学習モデルと訓練パラダイムを提案する。
論文 参考訳(メタデータ) (2024-02-08T17:10:12Z) - If LLM Is the Wizard, Then Code Is the Wand: A Survey on How Code
Empowers Large Language Models to Serve as Intelligent Agents [81.60906807941188]
大型言語モデル(LLM)は、自然言語と形式言語(コード)の組み合わせに基づいて訓練される
コードは、標準構文、論理一貫性、抽象化、モジュール性を備えた高レベルの目標を実行可能なステップに変換する。
論文 参考訳(メタデータ) (2024-01-01T16:51:20Z) - Incorporating External Knowledge through Pre-training for Natural
Language to Code Generation [97.97049697457425]
オープンドメインコード生成は、自然言語(NL)の意図から汎用プログラミング言語でコードを生成することを目的としている。
オンラインプログラミングQAフォーラムStackOverflowとプログラミング言語APIドキュメントからNL-codeペアを自動的にマイニングする。
評価の結果,2つのソースとデータ拡張と検索ベースデータ再サンプリングを組み合わせることで,コード生成テストベッドCoNaLa上でのBLEUスコアが最大2.2%向上することがわかった。
論文 参考訳(メタデータ) (2020-04-20T01:45:27Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。