論文の概要: A Mixed-Methods Study on the Implications of Unsafe Rust for Interoperation, Encapsulation, and Tooling
- arxiv url: http://arxiv.org/abs/2404.02230v3
- Date: Sat, 19 Oct 2024 17:45:18 GMT
- ステータス: 翻訳完了
- システム内更新日: 2024-10-22 13:14:23.043184
- Title: A Mixed-Methods Study on the Implications of Unsafe Rust for Interoperation, Encapsulation, and Tooling
- Title(参考訳): 相互運用・カプセル化・ツーリングにおける安全でないラストの影響に関する混合手法による研究
- Authors: Ian McCormack, Tomas Dougan, Sam Estep, Hanan Hibshi, Jonathan Aldrich, Joshua Sunshine,
- Abstract要約: Rust開発者は、マルチ言語アプリケーション内の健全性を保証するための検証ツールが必要である。
開発者は、外部関数呼び出しの理由、現在使用しているツールの制限、安全でないコードを使用する動機、そしてそれをカプセル化する理由について調査する。
- 参考スコア(独自算出の注目度): 2.2463451968497425
- License:
- Abstract: The Rust programming language restricts aliasing to provide static safety guarantees. However, in certain situations, developers need to bypass these guarantees by using a set of unsafe features. If they are used incorrectly, these features can reintroduce the types of safety issues that Rust was designed to prevent. We seek to understand how current development tools can be improved to better assist developers who find it necessary to interact with unsafe code. To that end, we study how developers reason about foreign function calls, the limitations of the tools that they currently use, their motivations for using unsafe code, and how they reason about encapsulating it. We conducted a mixed-methods investigation consisting of semi-structured interviews with 19 developers, followed by a survey that reached an additional 160 developers. Our participants were motivated to use unsafe code when they perceived that there was no alternative, and most avoided using it. However, limited tooling support for foreign function calls made participants uncertain about their design choices, and certain foreign aliasing and concurrency patterns were difficult to encapsulate. To overcome these challenges, Rust developers need verification tools that can provide guarantees of soundness within multi-language applications.
- Abstract(参考訳): Rustプログラミング言語は、静的安全性を保証するためにエイリアスを制限する。
しかし、ある状況では、開発者は安全でない一連の機能を使用することで、これらの保証を回避する必要がある。
正しく使用されていない場合、これらの機能は、Rustが防止するために設計した安全問題のタイプを再導入することができる。
私たちは、安全でないコードと対話するために必要な開発者を支援するために、現在の開発ツールをどのように改善できるかを理解しようとしています。
その目的のために,開発者が外部関数呼び出しを理由付ける方法,現在使用しているツールの制限,安全でないコードを使用するモチベーション,それをカプセル化する理由について検討する。
半構造化された19人の開発者へのインタビューと、さらに160人の開発者を対象にした調査を行った。
参加者は、代替手段がないと感じたときに、安全でないコードを使うことを動機付けました。
しかし, 外部関数呼び出しに対するツールサポートが限られていたため, 参加者は設計選択について不確実であり, 特定の外部エイリアスや並行処理パターンをカプセル化することが困難であった。
これらの課題を克服するために、Rust開発者は、マルチ言語アプリケーション内の健全性の保証を提供する検証ツールが必要である。
関連論文リスト
- What Makes and Breaks Safety Fine-tuning? A Mechanistic Study [64.9691741899956]
安全性の微調整は、大規模な言語モデル(LLM)を、安全なデプロイメントのための人間の好みに合わせるのに役立つ。
安全でない入力の健全な側面をキャプチャする合成データ生成フレームワークを設計する。
これを用いて,3つのよく知られた安全微調整手法について検討する。
論文 参考訳(メタデータ) (2024-07-14T16:12:57Z) - WildTeaming at Scale: From In-the-Wild Jailbreaks to (Adversarially) Safer Language Models [66.34505141027624]
我々は、WildTeamingを紹介した。これは自動LLM安全リチームフレームワークで、Wild-Chatbotインタラクションをマイニングし、新しいジェイルブレイク戦術の5.7Kのユニークなクラスタを発見する。
WildTeamingは、未確認のフロンティアLSMの脆弱性を明らかにし、最大4.6倍の多様性と敵の攻撃に成功した。
論文 参考訳(メタデータ) (2024-06-26T17:31:22Z) - Characterizing Unsafe Code Encapsulation In Real-world Rust Systems [2.285834282327349]
内部アンセーフは、システムソフトウェア開発においてRustコミュニティによって提唱される重要な設計パラダイムである。
Rustコンパイラは、安全でないコードを含む安全な関数の健全性を検証することができない。
安全でないコードの本質的な使用法とカプセル化をモデル化するための,新しいアンセーフティアイソレーショングラフを提案する。
論文 参考訳(メタデータ) (2024-06-12T06:59:51Z) - A Study of Undefined Behavior Across Foreign Function Boundaries in Rust Libraries [2.359557447960552]
Rustは、他の言語との相互運用に頻繁に使用される。
Miriは、これらのモデルに対してアプリケーションを検証できる唯一の動的解析ツールである。
Miriは外部機能をサポートしておらず、Rustエコシステムの中心に重要な正当性ギャップがあることを示唆している。
論文 参考訳(メタデータ) (2024-04-17T18:12:05Z) - On Prompt-Driven Safeguarding for Large Language Models [172.13943777203377]
表現空間では、入力クエリは通常、安全プロンプトによって「より高い拒絶」方向に移動される。
これらの知見に触発されて,安全性向上,すなわちDROの最適化手法を提案する。
安全性プロンプトを継続的かつトレーニング可能な埋め込みとして扱うことで、DROは、その有害性に応じて、クエリの表現を拒否方向に沿ってあるいは反対に移動させることを学ぶ。
論文 参考訳(メタデータ) (2024-01-31T17:28:24Z) - Static Deadlock Detection for Rust Programs [6.596623081054982]
Rustはスレッドとメモリの安全性を確保するために独自のオーナシップメカニズムに依存している。
Rustの新しい言語機能は、脆弱性検出に新たな課題をもたらす。
本稿では,Rustプログラムに適した静的デッドロック検出手法を提案する。
論文 参考訳(メタデータ) (2024-01-02T09:09:48Z) - All Languages Matter: On the Multilingual Safety of Large Language Models [96.47607891042523]
我々は、大規模言語モデル(LLM)のための最初の多言語安全ベンチマークを構築した。
XSafetyは、複数の言語ファミリーにまたがる10言語にわたる14種類の一般的な安全問題をカバーしている。
本稿では,ChatGPTの多言語安全性向上のための簡易かつ効果的なプロンプト手法を提案する。
論文 参考訳(メタデータ) (2023-10-02T05:23:34Z) - Is unsafe an Achilles' Heel? A Comprehensive Study of Safety
Requirements in Unsafe Rust Programming [4.981203415693332]
Rustは、効率性とメモリ安全性を重視した、新しく、強く型付けされたプログラミング言語である。
標準ライブラリの現在の安全でないAPIドキュメントには、一貫性や不十分さなど、さまざまなバリエーションがあった。
Rustのセキュリティを強化するために、ユーザに従うべき安全要件の体系的な記述をリストアップするために、安全でないAPIドキュメントを提案する。
論文 参考訳(メタデータ) (2023-08-09T08:16:10Z) - Online Safety Property Collection and Refinement for Safe Deep
Reinforcement Learning in Mapless Navigation [79.89605349842569]
オンラインプロパティのコレクション・リファインメント(CROP)フレームワークをトレーニング時にプロパティを設計するために導入する。
CROPは、安全でない相互作用を識別し、安全特性を形成するためにコストシグナルを使用する。
本手法をいくつかのロボットマップレスナビゲーションタスクで評価し,CROPで計算した違反量によって,従来のSafe DRL手法よりも高いリターンと低いリターンが得られることを示す。
論文 参考訳(メタデータ) (2023-02-13T21:19:36Z) - CodeLMSec Benchmark: Systematically Evaluating and Finding Security
Vulnerabilities in Black-Box Code Language Models [58.27254444280376]
自動コード生成のための大規模言語モデル(LLM)は、いくつかのプログラミングタスクにおいてブレークスルーを達成した。
これらのモデルのトレーニングデータは、通常、インターネット(例えばオープンソースのリポジトリから)から収集され、障害やセキュリティ上の脆弱性を含む可能性がある。
この不衛生なトレーニングデータは、言語モデルにこれらの脆弱性を学習させ、コード生成手順中にそれを伝播させる可能性がある。
論文 参考訳(メタデータ) (2023-02-08T11:54:07Z) - Breaking Type Safety in Go: An Empirical Study on the Usage of the
unsafe Package [3.548075273599941]
我々は,2,438のGoプロジェクトにおいて,安全でないパッケージの使用に関する大規模な研究を行った。
我々の調査によると、安全でないプロジェクトはGoプロジェクトの24%で使われており、主にオペレーティングシステムやCコードとの通信によって動機付けられています。
クラッシュするエラーや非決定的な振る舞いから、デプロイを制限するまで、安全でないプロジェクトによって直面する現実的な問題を報告します。
論文 参考訳(メタデータ) (2020-06-17T16:38:40Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。