論文の概要: Fray: An Efficient General-Purpose Concurrency Testing Platform for the JVM
- arxiv url: http://arxiv.org/abs/2501.12618v1
- Date: Wed, 22 Jan 2025 03:56:55 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-01-23 13:30:03.501820
- Title: Fray: An Efficient General-Purpose Concurrency Testing Platform for the JVM
- Title(参考訳): Fray: JVM用の効率的な汎用並行テストプラットフォーム
- Authors: Ao Li, Byeongjee Kang, Vasudev Vikram, Isabella Laybourn, Samvid Dharanikota, Shrey Tiwari, Rohan Padhye,
- Abstract要約: 本稿では,データトレースフリープログラムのプッシュボタンテストを行うプラットフォームであるFrayを提案する。
Frayにはシャドウと呼ばれる新しい制御機構が組み込まれている。
既知のバグのある53のベンチマークプログラムに対する実証的な評価では、ランダム検索のFrayはJPFよりも70%多く、RRのカオスモードより77%多いバグを発見した。
- 参考スコア(独自算出の注目度): 5.865132858367607
- License:
- Abstract: Concurrency bugs are hard to discover and reproduce. Prior work has developed sophisticated algorithms to search for concurrency bugs, such as partial order sampling (POS); however, fundamental limitations with existing platforms for concurrency control hinder effective testing of real-world software. We observe that the design space for concurrency control on managed code involves complex trade-offs between expressibility, applicability, and maintainability on the one hand, and bug-finding efficiency on the other hand. This paper presents Fray, a platform for performing push-button concurrency testing of data-race-free JVM programs. The key insight behind Fray is that effective controlled concurrency testing requires orchestrating thread interleavings without replacing existing concurrency primitives, while encoding their semantics for faithfully expressing the set of all possible program behaviors. Fray incorporates a novel concurrency control mechanism called shadow locking, designed to make controlled concurrency testing practical and efficient for JVM programs. In an empirical evaluation on 53 benchmark programs with known bugs (SCTBench and JaConTeBe), Fray with random search finds 70% more bugs than JPF and 77% more bugs than RR's chaos mode. We also demonstrate Fray's push-button applicability on 2,655 tests from Apache Kafka, Lucene, and Google Guava. In these mature projects, Fray successfully discovered 18 real-world concurrency bugs that can cause 363 tests to fail reproducibly.
- Abstract(参考訳): 並行性バグは発見と再現が難しい。
以前の研究では、部分順序サンプリング(POS)のような並行性バグを検索する高度なアルゴリズムが開発されていたが、並列性制御のための既存のプラットフォームに対する根本的な制限は、現実世界のソフトウェアを効果的にテストすることを妨げる。
管理コードにおける並行性制御のための設計空間は,一方の表現性,適用性,保守性,他方のバグフィリング効率との複雑なトレードオフを伴っている。
本稿では,データトレースフリーなJVMプログラムのプッシュボタン同時実行テストを行うプラットフォームであるFrayを提案する。
Frayの背景にある重要な洞察は、効果的に制御された並行性テストは、既存の並行性プリミティブを置き換えることなく、スレッドインターリーブをオーケストレーションし、全ての可能なプログラム動作の集合を忠実に表現するために、それらのセマンティクスをエンコードする必要があることである。
Frayにはシャドウロックと呼ばれる新しい並行性制御機構が組み込まれている。
既知のバグ(SCTBenchとJaConTeBe)を持つ53のベンチマークプログラムに対する実証的な評価では、ランダム検索のFrayはJPFよりも70%多く、RRのカオスモードより77%多いバグを発見した。
また、Frayのプッシュボタン適用性を、Apache Kafka、Lucene、Google Guavaから2655のテストで実証しています。
これらの成熟したプロジェクトで、Frayは18の現実世界の並行性バグを発見し、363のテストを再現的に失敗させる可能性がある。
関連論文リスト
- ParallelSpec: Parallel Drafter for Efficient Speculative Decoding [62.68430939686566]
提案するParallelSpecは,最先端の投機的復号化手法における自己回帰的起草戦略の代替となる。
投機段階における自己回帰的起草とは対照的に,効率的な投機モデルとして機能する並列投機を訓練する。
論文 参考訳(メタデータ) (2024-10-08T01:05:08Z) - KGym: A Platform and Dataset to Benchmark Large Language Models on Linux Kernel Crash Resolution [59.20933707301566]
大規模言語モデル(LLM)は、ますます現実的なソフトウェア工学(SE)タスクにおいて一貫して改善されている。
現実世界のソフトウェアスタックでは、Linuxカーネルのような基本的なシステムソフトウェアの開発にSEの取り組みが費やされています。
このような大規模システムレベルのソフトウェアを開発する際にMLモデルが有用かどうかを評価するため、kGymとkBenchを紹介する。
論文 参考訳(メタデータ) (2024-07-02T21:44:22Z) - CITADEL: Context Similarity Based Deep Learning Framework Bug Finding [36.34154201748415]
既存のディープラーニング(DL)フレームワークテストツールには、バグタイプが限定されている。
我々はCitadelを提案する。Citadelは効率と有効性の観点からバグの発見を高速化する手法だ。
論文 参考訳(メタデータ) (2024-06-18T01:51:16Z) - Practical Non-Intrusive GUI Exploration Testing with Visual-based
Robotic Arms [14.3266199543725]
視覚ロボットアームを用いた実用的な非侵襲的GUIテストフレームワークを提案する。
RoboTestは、新しいGUI画面とウィジェット検出アルゴリズムを統合し、異なるサイズのスクリーンに適応する。
20のモバイルアプリでRoboTestを評価し,組込みシステムのケーススタディを行った。
論文 参考訳(メタデータ) (2023-12-17T09:05:39Z) - Compiler Testing With Relaxed Memory Models [0.0]
並列プログラムのためのT'el'echatコンパイラテストツールを提案する。
T'el'echatは並列C/C++プログラムをコンパイルし、ソースとコンパイルされたプログラムの振る舞いを比較する。
論文 参考訳(メタデータ) (2023-10-18T21:24:26Z) - A Static Evaluation of Code Completion by Large Language Models [65.18008807383816]
単純なプログラミング問題に対するモデル生成コードの機能的正当性を評価するために,実行ベースベンチマークが提案されている。
プログラムを実行せずにエラーを検出するlinterのような静的解析ツールは、コード生成モデルを評価するために十分に研究されていない。
抽象構文木を利用して,Pythonのコード補完における静的エラーを定量化する静的評価フレームワークを提案する。
論文 参考訳(メタデータ) (2023-06-05T19:23:34Z) - Nuances are the Key: Unlocking ChatGPT to Find Failure-Inducing Tests
with Differential Prompting [20.914970341922707]
ChatGPTは、バグギープログラムの正しい障害誘発テストケースを見つける確率が低い(28.8%)。
考えられる理由は、失敗を誘発するテストケースを見つけるには、バグのあるプログラムとその正しいバージョンの間の微妙なコードの違いを分析する必要があるからです。
本稿では,ChatGPTと差分テストを組み合わせた新しい手法を提案する。
論文 参考訳(メタデータ) (2023-04-23T15:35:39Z) - Teaching Large Language Models to Self-Debug [62.424077000154945]
大規模言語モデル(LLM)は、コード生成において素晴らしいパフォーマンスを達成した。
本稿では,大規模言語モデルで予測プログラムを数発のデモでデバッグする自己デバッグを提案する。
論文 参考訳(メタデータ) (2023-04-11T10:43:43Z) - Mimicking Production Behavior with Generated Mocks [11.367562045401554]
実運用環境でのアプリケーションを監視して,モックによる現実的な実行シナリオを模倣するテストを生成することを提案する。
このアプローチは自動化され、RICKと呼ばれるオープンソースのツールで実装されている。
生成されたテストケースはすべて実行可能であり、52.4%は本番環境で観測されたターゲットメソッドの完全な実行コンテキストをうまく模倣している。
論文 参考訳(メタデータ) (2022-08-02T09:08:18Z) - CodeT: Code Generation with Generated Tests [49.622590050797236]
テストケースを自動的に生成するための事前学習言語モデルについて検討する。
CodeTは生成されたテストケースを使ってコードソリューションを実行し、次に最良のソリューションを選択します。
我々は,HumanEvalとMBPPのベンチマークを用いて,5種類の事前学習モデル上でCodeTを評価する。
論文 参考訳(メタデータ) (2022-07-21T10:18:37Z) - Benchopt: Reproducible, efficient and collaborative optimization
benchmarks [67.29240500171532]
Benchoptは、機械学習で最適化ベンチマークを自動化、再生、公開するためのフレームワークである。
Benchoptは実験を実行、共有、拡張するための既製のツールを提供することで、コミュニティのベンチマークを簡単にする。
論文 参考訳(メタデータ) (2022-06-27T16:19:24Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。