論文の概要: Towards Runtime Verification of Programmable Switches
- arxiv url: http://arxiv.org/abs/2004.10887v2
- Date: Sun, 26 Apr 2020 13:34:57 GMT
- ステータス: 処理完了
- システム内更新日: 2022-12-10 18:49:24.874266
- Title: Towards Runtime Verification of Programmable Switches
- Title(参考訳): プログラマブルスイッチのランタイム検証に向けて
- Authors: Apoorv Shukla, Kevin Hudemann, Zsolt V\'agi, Lily H\"ugerich, Georgios
Smaragdakis, Stefan Schmid, Artur Hecker, Anja Feldmann
- Abstract要約: 実行時検証は、機械学習誘導ファズリングを使用して、コンパイル時に検出されないバグを検出できる。
P4プログラムのバグがローカライズされると、P4のプログラマブルな性質のために欠陥コードにパッチが当てられる。
P6 test P4 switch non-intrusively, すなわち、バグを検出してローカライズするためにP4プログラムを変更する必要はない。
- 参考スコア(独自算出の注目度): 16.693719945977833
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Is it possible to patch software bugs in P4 programs without human
involvement? We show that this is partially possible in many cases due to
advances in software testing and the structure of P4 programs. Our insight is
that runtime verification can detect bugs, even those that are not detected at
compile-time, with machine learning-guided fuzzing. This enables a more
automated and real-time localization of bugs in P4 programs using software
testing techniques like Tarantula. Once the bug in a P4 program is localized,
the faulty code can be patched due to the programmable nature of P4. In
addition, platform-dependent bugs can be detected. From P4_14 to P4_16 (latest
version), our observation is that as the programmable blocks increase, the
patchability of P4 programs increases accordingly. To this end, we design,
develop, and evaluate P6 that (a) detects, (b) localizes, and (c) patches bugs
in P4 programs with minimal human interaction. P6 tests P4 switch
non-intrusively, i.e., requires no modification to the P4 program for detecting
and localizing bugs. We used a P6 prototype to detect and patch seven existing
bugs in eight publicly available P4 application programs deployed on two
different switch platforms: behavioral model (bmv2) and Tofino. Our evaluation
shows that P6 significantly outperforms bug detection baselines while
generating fewer packets and patches bugs in P4 programs such as switch.p4
without triggering any regressions.
- Abstract(参考訳): 人間の関与なしにP4プログラムのソフトウェアバグをパッチすることは可能か?
ソフトウェアテストの進歩とP4プログラムの構造が原因で,その多くが部分的に実現可能であることを示す。
私たちの洞察では、ランタイム検証は、コンパイル時に検出されないものであっても、機械学習誘導ファジィによってバグを検出することができる。
これにより、Tarantulaのようなソフトウェアテスト技術を使用して、P4プログラムのバグのより自動化されたリアルタイムなローカライズが可能になる。
P4プログラムのバグがローカライズされると、P4のプログラマブルな性質のために欠陥コードにパッチが当てられる。
さらに、プラットフォーム依存のバグも検出できる。
p4_14からp4_16(latest version)では,プログラマブルブロックの増加に伴い,p4プログラムのパッチ性が向上している。
この目的のために p6を設計、開発、評価します
(a)検出する。
(b)ローカライズし、
c) P4プログラムのバグを最小限のヒューマンインタラクションでパッチする。
P6 test P4 switch non-intrusively, すなわち、バグを検出してローカライズするためにP4プログラムを変更する必要はない。
2つの異なるswitchプラットフォームにデプロイされた8つのパブリックなp4アプリケーションプログラム、behavior model(bmv2)とtofinoの7つの既存のバグを検出し、パッチを当てるためにp6プロトタイプを使用しました。
評価の結果,Switch.p4などのP4プログラムでは,バグ検出ベースラインが大幅に向上し,パケットが減り,バグが修正された。
関連論文リスト
- A Novel Approach for Automatic Program Repair using Round-Trip
Translation with Large Language Models [50.86686630756207]
研究によると、ある文の文法的誤りは、それを他の言語に翻訳し、その語を返せば修正できる。
現在の自動プログラム修復(APR)生成モデルは、ソースコードで事前訓練され、修正のために微調整されている。
本稿では,あるプログラミング言語から別のプログラミング言語,あるいは自然言語へのコード変換,そして,その逆といった,微調整ステップをバイパスし,ラウンド・トリップ変換(RTT)を用いる手法を提案する。
論文 参考訳(メタデータ) (2024-01-15T22:36:31Z) - DebugBench: Evaluating Debugging Capability of Large Language Models [80.73121177868357]
DebugBench - LLM(Large Language Models)のベンチマーク。
C++、Java、Pythonの4つの主要なバグカテゴリと18のマイナータイプをカバーする。
ゼロショットシナリオで2つの商用および4つのオープンソースモデルを評価する。
論文 参考訳(メタデータ) (2024-01-09T15:46:38Z) - Error Propagation Analysis for Multithreaded Programs: An Empirical
Approach [7.1372356952003795]
フォールトインジェクションは、エラーに対するプログラムの堅牢性を測定するテクニックである。
EPAは通常、フォールトフリー(ゴールド)実行のトレースとプログラムの障害実行のトレースを比較します。
EPAのアプローチは、非決定論的ゴールデンランを持つマルチスレッドプログラムには当てはまらない。
論文 参考訳(メタデータ) (2023-12-28T02:36:02Z) - PPT4J: Patch Presence Test for Java Binaries [15.297767260561491]
近年,オープンソースソフトウェアに報告されている脆弱性の数は大幅に増加している。
対象のバイナリにパッチを適用するかどうかをテストする能力、すなわちパッチの存在テストは、実践者にとって不可欠である。
PPT4J(textbfP$atch $textbfP$resence $textbfT$est $textbffor$textbfJ$ava Binaries)という新しいパッチ存在テストフレームワークを提案する。
論文 参考訳(メタデータ) (2023-12-18T08:28:13Z) - PS$^3$: Precise Patch Presence Test based on Semantic Symbolic Signature [13.9637348151437]
既存のアプローチは主に、同じコンパイラオプションでコンパイルされるパッチの検出に重点を置いている。
PS3はシンボルエミュレーションを利用して、異なるコンパイラオプションの下で安定なシグネチャを抽出する。
PS3は精度、リコール、F1のスコアで0.82、0.97、0.89のスコアを得る。
論文 参考訳(メタデータ) (2023-12-06T10:04:15Z) - RAP-Gen: Retrieval-Augmented Patch Generation with CodeT5 for Automatic
Program Repair [75.40584530380589]
新たな検索型パッチ生成フレームワーク(RAP-Gen)を提案する。
RAP-Gen 以前のバグ修正ペアのリストから取得した関連する修正パターンを明示的に活用する。
RAP-GenをJavaScriptのTFixベンチマークとJavaのCode RefinementとDefects4Jベンチマークの2つのプログラミング言語で評価する。
論文 参考訳(メタデータ) (2023-09-12T08:52:56Z) - Generalized Planning in PDDL Domains with Pretrained Large Language
Models [82.24479434984426]
PDDLドメインを考慮し、GPT-4を用いてPythonプログラムを合成する。
7つのPDDLドメインでこのアプローチを評価し、4つのアブレーションと4つのベースラインと比較した。
論文 参考訳(メタデータ) (2023-05-18T14:48:20Z) - P4Testgen: An Extensible Test Oracle For P4 [2.1879553303548427]
P4$_16$言語用のテストオラクルであるP4Testgenを提示する。
P4Testgenは任意のP4ターゲットに対する自動テスト生成をサポートする。
論文 参考訳(メタデータ) (2022-11-28T13:31:42Z) - Fault-Aware Neural Code Rankers [64.41888054066861]
サンプルプログラムの正しさを予測できる故障認識型ニューラルネットワークローダを提案する。
我々のフォールト・アウェア・ローダは、様々なコード生成モデルのpass@1精度を大幅に向上させることができる。
論文 参考訳(メタデータ) (2022-06-04T22:01:05Z) - DPT: Deformable Patch-based Transformer for Visual Recognition [57.548916081146814]
本稿では,デフォルマブルパッチ (Deformable Patch) モジュールを提案する。デフォルマブルパッチ(Deformable Patch, DePatch)モジュールは,画像を異なる位置とスケールのパッチに適応的に分割し,データ駆動方式でスケールする。
DePatchモジュールはプラグイン・アンド・プレイモジュールとして動作し、異なるトランスフォーマーに簡単に組み込んでエンドツーエンドのトレーニングを実現することができる。
論文 参考訳(メタデータ) (2021-07-30T07:33:17Z) - Exploring Plausible Patches Using Source Code Embeddings in JavaScript [1.3327130030147563]
オープンソースJavaScriptプロジェクトでDoc2Vecモデルをトレーニングし、10のバグに対して465のパッチを生成しました。
これらの正当なパッチと開発者修正は、元のプログラムとの類似性に基づいてランク付けされる。
これらの類似性リストを分析し、プレーンな文書埋め込みが誤分類につながる可能性があることを発見した。
論文 参考訳(メタデータ) (2021-03-31T06:57:10Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。