論文の概要: Solsmith: Solidity Random Program Generator for Compiler Testing
- arxiv url: http://arxiv.org/abs/2506.03909v1
- Date: Wed, 04 Jun 2025 13:04:17 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-06-05 21:20:14.33133
- Title: Solsmith: Solidity Random Program Generator for Compiler Testing
- Title(参考訳): Solsmith: コンパイラテストのためのソリッドリティランダムプログラムジェネレータ
- Authors: Lantian Li, Zhihao Liu, Zhongxing Yu,
- Abstract要約: 本稿では,Solidityコンパイラの欠陥を明らかにするテストプログラムジェネレータであるSolsmithの設計と実装を行う。
有効で多様なSolidityプログラムを生成することで、コンパイラの正確性をテストする。
予備的な結果は、Solsmithが期待するテストプログラムを生成し、Solidityコンパイラの4つの欠陥を発見できることを示している。
- 参考スコア(独自算出の注目度): 8.14179966625145
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Smart contracts are computer programs that run on blockchain platforms, with Solidity being the most widely used language for their development. As blockchain technology advances, smart contracts have become increasingly important across various fields. In order for smart contracts to operate correctly, the correctness of the compiler is particularly crucial. Although some research efforts have been devoted to testing Solidity compilers, they primarily focus on testing methods and do not address the core issue of generating test programs. To fill this gap, this paper designs and implements Solsmith, a test program generator specifically aimed at uncovering defects in Solidity compilers. It tests the compiler correctness by generating valid and diverse Solidity programs. We have designed a series of unique program generation strategies tailored to Solidity, including enabling optimizations more frequently, avoiding undefined behaviour, and mitigating behavioural differences caused by intermediate representations. To validate the effectiveness of Solsmith, we assess the effectiveness of the test programs generated by Solsmith using the approach of differential testing. The preliminary results show that Solsmith can generate the expected test programs and uncover four confirmed defects in Solidity compilers, demonstrating the effectiveness and potential of Solsmith.
- Abstract(参考訳): スマートコントラクトはブロックチェーンプラットフォーム上で動作するコンピュータプログラムであり、Solidityは開発において最も広く使用されている言語である。
ブロックチェーン技術が進歩するにつれ、スマートコントラクトはさまざまな分野においてますます重要になっている。
スマートコントラクトが正しく動作するためには、コンパイラの正しさが特に重要です。
いくつかの研究は、Solidityコンパイラのテストに注力しているが、主にテストメソッドに焦点を当てており、テストプログラムを生成する際の中核的な問題に対処していない。
このギャップを埋めるために、Solsmithは、Solidityコンパイラの欠陥を明らかにすることに特化したテストプログラムジェネレータである。
有効で多様なSolidityプログラムを生成することで、コンパイラの正確性をテストする。
我々は、より頻繁に最適化を可能にすること、未定義の振る舞いを避けること、中間表現による振る舞いの違いを軽減することを含む、Solidityに適したプログラム生成戦略を設計した。
ソルスミスの有効性を検証するため, 差分試験のアプローチを用いて, ソルスミスが生成した試験プログラムの有効性を評価する。
予備的な結果は、Solsmithが期待するテストプログラムを生成し、Solidityコンパイラで確認された4つの欠陥を発見し、Solsmithの有効性と可能性を示すことを示している。
関連論文リスト
- SolBench: A Dataset and Benchmark for Evaluating Functional Correctness in Solidity Code Completion and Repair [51.0686873716938]
コード補完モデルによって生成されたSolidityスマートコントラクトの機能的正しさを評価するベンチマークであるSolBenchを紹介する。
本稿では,スマートコントラクトの機能的正当性を検証するための検索拡張コード修復フレームワークを提案する。
その結果、コード修復と検索技術は、計算コストを削減しつつ、スマートコントラクト完了の正しさを効果的に向上することを示した。
論文 参考訳(メタデータ) (2025-03-03T01:55:20Z) - Learning to Solve and Verify: A Self-Play Framework for Code and Test Generation [69.62857948698436]
大規模言語モデル(LLM)の最近の進歩は、コーディングベンチマークのパフォーマンスを改善している。
しかし、手軽に利用できる高品質なデータの枯渇により、改善は停滞している。
本稿では,単一モデルのコードとテスト生成能力を共同で改善するセルフプレイ・ソルバ検証フレームワークであるSol-Verを提案する。
論文 参考訳(メタデータ) (2025-02-20T18:32:19Z) - Towards Understanding the Bugs in Solidity Compiler [11.193701473232851]
本稿では,533のSolidityコンパイラのバグに関する最初の系統的研究について述べる。
本研究は, その特徴(症状, 根本原因, 分布など)とトリガー試験例について検討した。
次に,Solidityコンパイラファザの限界について検討するため,Solidityコンパイラファザを3つ評価した。
論文 参考訳(メタデータ) (2024-07-08T14:22:50Z) - Evolutionary Generative Fuzzing for Differential Testing of the Kotlin
Compiler [14.259471945857431]
JetBrainsが開発したKotlinコンパイラのバグ発見における差分テストの有効性について検討する。
そこで我々は,K1コンパイラとK2コンパイラの入力プログラムを生成するブラックボックス生成手法を提案する。
ケーススタディでは,提案手法がK1とK2のバグを効果的に検出している。
論文 参考訳(メタデータ) (2024-01-12T16:01:12Z) - Guess & Sketch: Language Model Guided Transpilation [59.02147255276078]
学習されたトランスパイレーションは、手作業による書き直しやエンジニアリングの取り組みに代わるものだ。
確率的ニューラルネットワークモデル(LM)は、入力毎に可塑性出力を生成するが、正確性を保証するコストがかかる。
Guess & Sketch は LM の特徴からアライメントと信頼性情報を抽出し、意味的等価性を解決するためにシンボリック・ソルバに渡す。
論文 参考訳(メタデータ) (2023-09-25T15:42:18Z) - Effective Random Test Generation for Deep Learning Compilers [16.065653480978092]
Israはドメイン固有の制約解決ツールで、バックトラックなしでセマンティック仕様から制約を解決する。
我々は、TVM、Glow、およびSophGoという商用コンパイラを含む3つの人気のある現実世界のディープラーニングコンパイラに対して、我々のアプローチを実装し、適用する。
Israは、最先端のアプローチや、コンパイラーバグ検出のための有効なテストインプットを構築するためのベースラインアプローチよりも効果的である。
論文 参考訳(メタデータ) (2023-02-02T03:00:36Z) - Measuring Coding Challenge Competence With APPS [54.22600767666257]
コード生成のベンチマークであるAPPSを紹介する。
私たちのベンチマークには1万の問題が含まれています。
GPT-Neoのような最近のモデルでは、導入問題のテストケースの約15%をパスできる。
論文 参考訳(メタデータ) (2021-05-20T17:58:42Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。