論文の概要: Undefined Behavior in C and C++: An Experiment With Desktop Use Cases
- arxiv url: http://arxiv.org/abs/2606.12064v1
- Date: Wed, 10 Jun 2026 13:31:07 GMT
- ステータス: 翻訳完了
- システム内更新日: 2026-06-18 14:19:08.608071
- Title: Undefined Behavior in C and C++: An Experiment With Desktop Use Cases
- Title(参考訳): CとC++における未定義の振る舞い:デスクトップユースケースによる実験
- Authors: Jukka Ruohonen, Krzysztof Sierszecki,
- Abstract要約: 本論文は,Linuxディストリビューションの典型的なデスクトップ利用下での未定義動作の程度を調査するための実証実験である。
CまたはC++で記述された32のユニークなプログラムとライブラリによって、約1万のユニークな未定義の動作警告が生成された。
- 参考スコア(独自算出の注目度): 0.0
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Undefined behavior is idiomatic to C and C++ programming; such behavior is a use of an erroneous program construct for which the languages impose no requirements, such as integer overflows. The paper presents an empirical experiment seeking to probe the extent of undefined behavior executing underneath typical desktop use of a Linux distribution. The analysis is based on an undefined behavior sanitizer implemented in a compiler. According to the results, undefined behavior is common. By completing 59 simple experimental tasks, nearly 11 thousand unique undefined behavior warnings were generated by 32 unique programs and libraries written in C or C++. Of these warnings, most were associated with the Mesa graphics library and generated by interacting with graphical user interfaces. Merely logging into the GNOME desktop environment generated over 500 unique warnings. Of all warnings, the clear majority was about virtual table pointers. The associated stack traces were also lengthy in general. With these and other results, the paper contributes to the empirical literature on C and C++.
- Abstract(参考訳): 定義されていない振る舞いはCとC++プログラミングに慣用的であり、そのような振る舞いは、整数オーバーフローのような言語が要求を課さない誤ったプログラム構造を使用する。
本論文は,Linuxディストリビューションの典型的なデスクトップ利用下で実行されている未定義動作の程度を調査するための実証実験である。
この分析は、コンパイラで実装された未定義の振舞いサニタイザに基づいている。
結果によると、未定義の振る舞いは一般的である。
59の単純な実験タスクを完了すると、CやC++で記述された32のプログラムとライブラリによって、約1万のユニークな未定義の動作警告が生成される。
これらの警告のほとんどはMesaグラフィックスライブラリに関連付けられ、グラフィカルユーザインタフェースとのインタラクションによって生成される。
GNOMEデスクトップ環境にログインするだけで、500以上のユニークな警告が生成される。
すべての警告の中で、明らかな大多数は仮想テーブルポインタに関するものだった。
関連するスタックトレースも一般に長かった。
これらの結果と他の結果により、本論文はCとC++に関する実証文学に寄与する。
関連論文リスト
- ProgramBench: Can Language Models Rebuild Programs From Scratch? [59.40748183470308]
ProgramBenchは、ソフトウェアエンジニアリングエージェントがソフトウェアをホリシックに開発する能力を測定する。
エンドツーエンドの動作テストはエージェント駆動ファジィによって生成される。
モデルは、人間が書いたコードと大きく異なるモノリシックでシングルファイルの実装を好む。
論文 参考訳(メタデータ) (2026-05-05T09:17:02Z) - CRUST-Bench: A Comprehensive Benchmark for C-to-safe-Rust Transpilation [51.18863297461463]
CRUST-Benchは100のCリポジトリのデータセットで、それぞれが安全なRustとテストケースで手書きのインターフェースとペアリングされている。
我々は、このタスクで最先端の大規模言語モデル(LLM)を評価し、安全で慣用的なRust生成が依然として難しい問題であることを確認した。
最高のパフォーマンスモデルであるOpenAI o1は、ワンショット設定で15タスクしか解決できない。
論文 参考訳(メタデータ) (2025-04-21T17:33:33Z) - A Static Analysis of Popular C Packages in Linux [0.19116784879310028]
本稿では,GCCのアナライザを用いて,人気のあるLinuxパッケージを実証的に検証する。
データセットは、Cで書かれたかCコードを含むGentoo Linuxディストリビューションのパッケージに基づいている。
論文 参考訳(メタデータ) (2024-09-27T08:11:57Z) - A Study of Undefined Behavior Across Foreign Function Boundaries in Rust Libraries [2.359557447960552]
Rustは、他の言語との相互運用に頻繁に使用される。
Miriは、これらのモデルに対してアプリケーションを検証できる唯一の動的解析ツールである。
Miriは、外部機能のバグ発見をサポートしておらず、Rustエコシステムに重大な正当性ギャップがあることを示唆している。
論文 参考訳(メタデータ) (2024-04-17T18:12:05Z) - Weak Memory Demands Model-based Compiler Testing [0.0]
コンパイラのバグは、コンパイルされたコンカレントプログラムの動作が、アーキテクチャメモリモデルによって許容されるように、ソースモデルの下でソースプログラムによって許容される振る舞いでない場合に発生する。
プロセッサの実装は、緩やかなアーキテクチャモデルの振る舞いをますます活用している。
論文 参考訳(メタデータ) (2024-01-12T15:50:32Z) - Dcc --help: Generating Context-Aware Compiler Error Explanations with
Large Language Models [53.04357141450459]
dcc --helpはCS1とCS2のコースにデプロイされ、2565人の学生が10週間で64,000回以上このツールを使っている。
LLMが生成した説明は、コンパイル時間の90%と実行時の75%で概念的に正確であるが、コードに解決策を提供しない命令を無視することが多かった。
論文 参考訳(メタデータ) (2023-08-23T02:36:19Z) - HDCC: A Hyperdimensional Computing compiler for classification on
embedded systems and high-performance computing [58.720142291102135]
この研究は、HDC分類メソッドの高レベルな記述を最適化されたCコードに変換する最初のオープンソースコンパイラである、ネームコンパイラを紹介している。
nameは現代のコンパイラのように設計されており、直感的で記述的な入力言語、中間表現(IR)、再ターゲット可能なバックエンドを備えている。
これらの主張を裏付けるために,HDC文献で最もよく使われているデータセットについて,HDCCを用いて実験を行った。
論文 参考訳(メタデータ) (2023-04-24T19:16:03Z) - Configuring Test Generators using Bug Reports: A Case Study of GCC
Compiler and Csmith [2.1016374925364616]
本稿では,バグレポートのコードスニペットを使用して,テスト生成のガイドを行う。
GCCの8つのバージョンでこのアプローチを評価します。
我々は,本手法がGCCの最先端テスト生成技術よりも高いカバレッジを提供し,誤コンパイル障害を引き起こすことを発見した。
論文 参考訳(メタデータ) (2020-12-19T11:25:13Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。