論文の概要: Demystifying Compiler Unstable Feature Usage and Impacts in the Rust
Ecosystem
- arxiv url: http://arxiv.org/abs/2310.17186v1
- Date: Thu, 26 Oct 2023 06:43:25 GMT
- ステータス: 処理完了
- システム内更新日: 2023-10-27 21:41:46.542472
- Title: Demystifying Compiler Unstable Feature Usage and Impacts in the Rust
Ecosystem
- Title(参考訳): Rustエコシステムにおけるコンパイラの使い捨て機能と影響
- Authors: Chenghao Li (1), Yifei Wu (1), Wenbo Shen (1), Zichen Zhao (1), Rui
Chang (1), Chengwei Liu (2), Yang Liu (2), Kui Ren (1) ((1) Zhejiang
University, Hangzhou, China, (2) Nanyang Technological University, Singapore,
Singapore)
- Abstract要約: Rustコンパイラは、コンパイラ機能、構文、標準ライブラリのサポートを拡張するために、Rust不安定機能(RUF)を導入した。
RUFは削除され、依存パッケージにコンパイルエラーが導入される。
我々の調査によると、Rustエコシステムは1000種類のRUFを使用しており、少なくともパッケージバージョンの44%はRUFの影響を受けている。
広範囲にわたるRUFの影響を軽減するため, RUFコンパイル障害回復ツールの設計と実装を行う。
- 参考スコア(独自算出の注目度): 6.742722083947134
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Rust programming language is gaining popularity rapidly in building reliable
and secure systems due to its security guarantees and outstanding performance.
To provide extra functionalities, the Rust compiler introduces Rust unstable
features (RUF) to extend compiler functionality, syntax, and standard library
support. However, these features are unstable and may get removed, introducing
compilation failures to dependent packages. Even worse, their impacts propagate
through transitive dependencies, causing large-scale failures in the whole
ecosystem. Although RUF is widely used in Rust, previous research has primarily
concentrated on Rust code safety, with the usage and impacts of RUF from the
Rust compiler remaining unexplored. Therefore, we aim to bridge this gap by
systematically analyzing the RUF usage and impacts in the Rust ecosystem. We
propose novel techniques for extracting RUF precisely, and to assess its impact
on the entire ecosystem quantitatively, we accurately resolve package
dependencies. We have analyzed the whole Rust ecosystem with 590K package
versions and 140M transitive dependencies. Our study shows that the Rust
ecosystem uses 1000 different RUF, and at most 44% of package versions are
affected by RUF, causing compiling failures for at most 12%. To mitigate wide
RUF impacts, we further design and implement a RUF-compilation-failure recovery
tool that can recover up to 90% of the failure. We believe our techniques,
findings, and tools can help to stabilize the Rust compiler, ultimately
enhancing the security and reliability of the Rust ecosystem.
- Abstract(参考訳): Rustプログラミング言語は、セキュリティ保証と優れたパフォーマンスのために、信頼性とセキュアなシステムの構築で急速に人気を集めている。
余分な機能を提供するため、Rustコンパイラは、コンパイラ機能、構文、標準ライブラリのサポートを拡張するためにRust不安定機能(RUF)を導入した。
しかし、これらの機能は不安定で削除される可能性があり、依存するパッケージにコンパイルの失敗をもたらす。
さらに悪いことに、その影響は推移的な依存関係を通じて伝播し、エコシステム全体に大規模な障害を引き起こします。
RUFはRustで広く使用されているが、以前の研究は主にRustコードの安全性に焦点を当てており、RustコンパイラのRUFの使用と影響は未調査のままである。
したがって、RustエコシステムにおけるRUFの使用と影響を体系的に分析することで、このギャップを埋めることを目指している。
本稿では,rufを高精度に抽出する新しい手法を提案し,その影響を定量的に評価するために,パッケージ依存度を正確に解決する。
我々はRustエコシステム全体を590Kパッケージバージョンと1億4000万の推移的依存関係で分析しました。
我々の調査によると、Rustエコシステムは1000種類のRUFを使用しており、パッケージバージョンの44%がRUFの影響を受けており、コンパイル障害が少なくとも12%発生している。
広範囲にわたるRUFの影響を軽減するため,最大90%の障害を回復できるRUFコンパイル障害回復ツールの設計と実装を行っている。
私たちの技術、発見、ツールはRustコンパイラの安定化に役立ち、最終的にはRustエコシステムのセキュリティと信頼性を向上します。
関連論文リスト
- Automated Proof Generation for Rust Code via Self-Evolution [69.25795662658356]
私たちは、Rustコードの自動証明生成を可能にする、人間による証明の欠如を克服する新しいフレームワークであるSAFEを紹介します。
GPT-4oに比べて効率と精度が優れていた。
この進歩により性能が大幅に向上し、人間の専門家によるベンチマークで70.50%の精度が達成された。
論文 参考訳(メタデータ) (2024-10-21T08:15:45Z) - Bringing Rust to Safety-Critical Systems in Space [1.0742675209112622]
Rustは、バグ導入の可能性を劇的に削減し、より安全で安全なコードを生成することを目的としている。
この作業は、Rustで安全クリティカルな宇宙システムを開発するための一連のレコメンデーションを提供する。
論文 参考訳(メタデータ) (2024-05-28T12:48:47Z) - A Study of Undefined Behavior Across Foreign Function Boundaries in Rust Libraries [2.359557447960552]
Rustは、他の言語との相互運用に頻繁に使用される。
Miriは、これらのモデルに対してアプリケーションを検証できる唯一の動的解析ツールである。
Miriは外部機能をサポートしておらず、Rustエコシステムの中心に重要な正当性ギャップがあることを示唆している。
論文 参考訳(メタデータ) (2024-04-17T18:12:05Z) - A Closer Look at the Security Risks in the Rust Ecosystem [0.0]
Rustは、システムソフトウェアの開発用に設計された新しいプログラミング言語である。
Rustコードの再利用を容易にするため、Rustエコシステムの中心的なパッケージレジストリであるcrates.ioでは、数千のサードパーティのRustパッケージがホストされている。
crates.ioのオープン性はRustエコシステムの成長を可能にするが、深刻なセキュリティアドバイザリによるセキュリティリスクも伴う。
論文 参考訳(メタデータ) (2023-08-29T06:05:25Z) - Fixing Rust Compilation Errors using LLMs [2.1781086368581932]
Rustプログラミング言語は、C/C++のような従来の安全でない代替言語よりも、低レベルのシステムプログラミング言語に実行可能な選択肢として、自らを確立している。
本稿では,Large Language Models(LLMs)の創発的機能を活用し,Rustコンパイルエラーの修正を自動的に提案するRustAssistantというツールを提案する。
RustAssistantは、人気のあるオープンソースRustリポジトリの実際のコンパイルエラーに対して、約74%の驚くべきピーク精度を達成することができる。
論文 参考訳(メタデータ) (2023-08-09T18:30:27Z) - 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) - Mind the Backbone: Minimizing Backbone Distortion for Robust Object
Detection [52.355018626115346]
ドメインシフトに対して堅牢なオブジェクト検出器を構築することは、現実世界のアプリケーションにとって重要なことです。
我々は,ゆがみを特徴付けるバックボーンの脆弱性を測定する手段として,相対勾配ノルム(Relative Gradient Norm)を提案する。
両バックボーンのOOD堅牢性を高めるためのレシピを提案する。
論文 参考訳(メタデータ) (2023-03-26T14:50:43Z) - Structured Sparsity Learning for Efficient Video Super-Resolution [99.1632164448236]
我々は、ビデオ超解像(VSR)モデルの特性に応じて、構造化スパシティ学習(SSL)と呼ばれる構造化プルーニング手法を開発する。
SSLでは,残差ブロック,リカレントネットワーク,アップサンプリングネットワークなど,VSRモデルのいくつかの重要なコンポーネントに対するプルーニングスキームを設計する。
論文 参考訳(メタデータ) (2022-06-15T17:36:04Z) - Evolving Pareto-Optimal Actor-Critic Algorithms for Generalizability and
Stability [67.8426046908398]
汎用性と安定性は,実世界における強化学習(RL)エージェントの運用において重要な2つの目的である。
本稿では,アクター・クリティック・ロス関数の自動設計法であるMetaPGを提案する。
論文 参考訳(メタデータ) (2022-04-08T20:46:16Z) - VELVET: a noVel Ensemble Learning approach to automatically locate
VulnErable sTatements [62.93814803258067]
本稿では,ソースコード中の脆弱な文を見つけるための新しいアンサンブル学習手法であるVELVETを提案する。
我々のモデルは、グラフベースとシーケンスベースニューラルネットワークを組み合わせて、プログラムグラフの局所的およびグローバル的コンテキストを捕捉する。
VELVETは、合成データと実世界のデータに対して、それぞれ99.6%と43.6%の精度を達成している。
論文 参考訳(メタデータ) (2021-12-20T22:45:27Z) - Feature Completion for Occluded Person Re-Identification [138.5671859358049]
RFCブロックは、機能空間の隠された領域のセマンティクスを復元することができる。
SRFCは、隠蔽領域の特徴を予測するために、非隠蔽領域からの長距離空間コンテキストを利用する。
TRFCモジュールは、長期の時間的コンテキストをキャプチャして、SRFCの予測を洗練します。
論文 参考訳(メタデータ) (2021-06-24T02:40:40Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。