論文の概要: IPSynth: Interprocedural Program Synthesis for Software Security Implementation
- arxiv url: http://arxiv.org/abs/2403.10836v1
- Date: Sat, 16 Mar 2024 07:12:24 GMT
- ステータス: 処理完了
- システム内更新日: 2024-03-19 21:25:31.307146
- Title: IPSynth: Interprocedural Program Synthesis for Software Security Implementation
- Title(参考訳): IPSynth: ソフトウェアセキュリティ実装のための言語間プログラム合成
- Authors: Ali Shokri, Ibrahim Jameel Mujhid, Mehdi Mirakhorli,
- Abstract要約: 本稿では,提案手法の仕様を自動学習する新しい言語間プログラム合成手法であるIP Synthを紹介する。
提案手法は,プログラム内の対応する箇所を正確に特定し,必要なコードスニペットを合成し,プログラムに追加し,ChatGPTをプログラム間の戦術的合成タスクで上回ることを示す。
- 参考スコア(独自算出の注目度): 3.1119394814248253
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: To implement important quality attributes of software such as architectural security tactics, developers incorporate API of software frameworks, as building blocks, to avoid re-inventing the wheel and improve their productivity. However, this is a challenging and error-prone task, especially for novice programmers. Despite the advances in the field of API-based program synthesis, the state-of-the-art suffers from a twofold shortcoming when it comes to architectural tactic implementation tasks. First, the specification of the desired tactic must be explicitly expressed, which is out of the knowledge of such programmers. Second, these approaches synthesize a block of code and leave the task of breaking it down into smaller pieces, adding each piece to the proper location in the code, and establishing correct dependencies between each piece and its surrounding environment as well as the other pieces, to the programmer. To mitigate these challenges, we introduce IPSynth, a novel inter-procedural program synthesis approach that automatically learns the specification of the tactic, synthesizes the tactic as inter-related code snippets, and adds them to an existing code base. We extend our first-place award-winning extended abstract recognized at the 36th IEEE/ACM International Conference on Automated Software Engineering (ASE'21) research competition track. In this paper, we provide the details of the approach, present the results of the experimental evaluation of IPSynth, and analyses and insights for a more comprehensive exploration of the research topic. Moreover, we compare the results of our approach to one of the most powerful code generator tools, ChatGPT. Our results show that our approach can accurately locate corresponding spots in the program, synthesize needed code snippets, add them to the program, and outperform ChatGPT in inter-procedural tactic synthesis tasks.
- Abstract(参考訳): アーキテクチャのセキュリティ戦略のようなソフトウェアの重要な品質特性を実装するために、開発者はソフトウェアフレームワークのAPIをビルディングブロックとして組み込んで、車輪の再発明を避け、生産性を向上させる。
しかし、これは特に初心者プログラマにとって、困難でエラーを起こしやすいタスクである。
APIベースのプログラム合成の分野では進歩しているにもかかわらず、アーキテクチャの戦術的な実装タスクに関しては、最先端技術は2つの欠点に悩まされている。
第一に、望ましい戦術の仕様は明示的に表現されなければならないが、これはそのようなプログラマの知識から外れている。
第二に、これらのアプローチはコードのブロックを合成し、それを小さなピースに分解し、コード内の適切な場所に各ピースを追加し、各ピースとその周辺環境と他のピースとの間の正確な依存関係をプログラマに確立するタスクを残します。
これらの課題を緩和するために、IPSynthという、プログラム間プログラム合成手法を導入し、戦術の仕様を自動的に学習し、その戦術を関連するコードスニペットとして合成し、既存のコードベースに追加する。
第36回IEEE/ACM International Conference on Automated Software Engineering (ASE'21) 研究コンペティショントラックで認識された、第1回受賞の要約を拡張します。
本稿では,アプローチの詳細,IPSynthの実験的評価結果,研究トピックのより包括的な探索のための分析と洞察について述べる。
さらに、我々のアプローチの結果を、最も強力なコードジェネレータツールであるChatGPTと比較する。
提案手法は,プログラム内の対応する箇所を正確に特定し,必要なコードスニペットを合成し,プログラムに追加し,ChatGPTをプログラム間の戦術的合成タスクで上回ることを示す。
関連論文リスト
- ExeDec: Execution Decomposition for Compositional Generalization in Neural Program Synthesis [54.18659323181771]
プログラム合成において望ましいいくつかの異なる構成一般化形式を特徴付ける。
本稿では,ExeDecを提案する。ExeDecは,実行サブゴールを予測し,各ステップでプログラム実行によって段階的に通知される問題を解くための,新しい分解ベースの戦略である。
論文 参考訳(メタデータ) (2023-07-26T01:07:52Z) - Learning-Based Automatic Synthesis of Software Code and Configuration [0.951828574518325]
大規模な自動ソフトウェア生成と構成は非常に複雑で難しい作業です。
まず,入力出力仕様で自動的にソフトウェアを合成することを提案する。
2つ目の課題として,異なる入力ファイルから大規模ソフトウェアの構成を合成することを提案する。
論文 参考訳(メタデータ) (2023-05-25T01:41:30Z) - Hierarchical Neural Program Synthesis [19.94176152035497]
プログラム合成は、与えられたタスク仕様を満たす人間可読プログラムを自動構築することを目的としている。
プログラムを階層的に構成することでプログラムを合成するスケーラブルなプログラム合成フレームワークを提案する。
入力/出力ペアを持つ文字列変換領域において,提案するフレームワークを広範囲に評価する。
論文 参考訳(メタデータ) (2023-03-09T18:20:07Z) - Latent Execution for Neural Program Synthesis Beyond Domain-Specific
Languages [97.58968222942173]
入力出力の例からCプログラムを合成する第一歩を踏み出す。
特に,部分生成プログラムの実行を近似するために潜在表現を学習するLa Synthを提案する。
これらのプログラムのトレーニングにより,Karel と C のプログラム合成における予測性能がさらに向上することを示す。
論文 参考訳(メタデータ) (2021-06-29T02:21:32Z) - Program Synthesis Guided Reinforcement Learning [34.342362868490525]
強化学習の鍵となる課題は、長期計画と制御問題を解決することである。
最近の研究は、これらの設定で学習アルゴリズムを導くのに役立つプログラムを活用することを提案している。
本稿では,プログラム合成を利用して指導プログラムを自動生成する手法を提案する。
論文 参考訳(メタデータ) (2021-02-22T16:05:32Z) - Latent Programmer: Discrete Latent Codes for Program Synthesis [56.37993487589351]
プログラム合成や文書要約などの多くのシーケンス学習タスクにおいて、重要な問題は出力シーケンスの広い空間を探索することである。
本稿では,検索対象とする出力の表現を学習することを提案する。
本稿では,まず入力/出力サンプルから離散潜在コードを予測するプログラム合成手法であるemphLatent Programmerを紹介し,そのプログラムを対象言語で生成する。
論文 参考訳(メタデータ) (2020-12-01T10:11:35Z) - Process Discovery for Structured Program Synthesis [70.29027202357385]
プロセスマイニングにおける中核的なタスクは、イベントログデータから正確なプロセスモデルを学ぶことを目的としたプロセス発見である。
本稿では,ターゲットプロセスモデルとして(ブロック-)構造化プログラムを直接使用することを提案する。
我々は,このような構造化プログラムプロセスモデルの発見に対して,新たなボトムアップ・アグリメティブ・アプローチを開発する。
論文 参考訳(メタデータ) (2020-08-13T10:33:10Z) - BUSTLE: Bottom-Up Program Synthesis Through Learning-Guided Exploration [72.88493072196094]
プログラムのボトムアップ検索に学習を活用する新しい合成手法を提案する。
特に、入力出力例のセットに基づいて、探索条件中の中間値の合成を優先順位付けするようにモデルを訓練する。
単純な教師付き学習アプローチであっても,学習とボトムアップ検索の組み合わせは極めて効果的であることを示す。
論文 参考訳(メタデータ) (2020-07-28T17:46:18Z) - Synthesize, Execute and Debug: Learning to Repair for Neural Program
Synthesis [81.54148730967394]
本稿では,合成,実行,デバッグの段階を組み込んだニューラルネットワーク生成フレームワークであるSEDを提案する。
SEDはまず、神経プログラムシンセサイザーコンポーネントを使用して初期プログラムを生成し、その後、神経プログラムデバッガを使用して生成されたプログラムを反復的に修復する。
挑戦的な入出力プログラム合成ベンチマークであるKarelでは、SEDはニューラルプログラムシンセサイザー自体のエラー率をかなりのマージンで削減し、デコードのための標準ビームサーチより優れている。
論文 参考訳(メタデータ) (2020-07-16T04:15:47Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。