論文の概要: From Separate Compilation to Sound Language Composition
- arxiv url: http://arxiv.org/abs/2602.03777v1
- Date: Tue, 03 Feb 2026 17:38:34 GMT
- ステータス: 翻訳完了
- システム内更新日: 2026-02-04 18:37:15.609017
- Title: From Separate Compilation to Sound Language Composition
- Title(参考訳): 別個のコンパイルから音声言語構成へ
- Authors: Federico Bruzzone, Walter Cazzola, Luca Favalli,
- Abstract要約: この研究は、Neverlang言語ワークベンチのデータフロー分析に基づく理論的に健全な静的解析ツールであるnlgcheckを紹介した。
nlgcheckはコンパイル時に潜在的ランタイムエラー(未定義の属性アクセスなど)を検出し、強い静的正当性保証を維持しながら、別個のコンパイルを保存する。
- 参考スコア(独自算出の注目度): 7.697692044735504
- License: http://creativecommons.org/licenses/by-nc-nd/4.0/
- Abstract: The development of programming languages involves complex theoretical and practical challenges, particularly when addressing modularity and reusability through language extensions. While language workbenches aim to enable modular development under the constraints of the language extension problem, one critical constraint -- separate compilation -- is often relaxed due to its complexity. However, this relaxation undermines artifact reusability and integration with common dependency systems. A key difficulty under separate compilation arises from managing attribute grammars, as extensions may introduce new attributes that invalidate previously generated abstract syntax tree structures. Existing approaches, such as the use of dynamic maps in the Neverlang workbench, favor flexibility at the cost of compile-time correctness, leading to potential runtime errors due to undefined attributes. This work addresses this issue by introducing nlgcheck, a theoretically sound static analysis tool based on data-flow analysis for the Neverlang language workbench. nlgcheck detects potential runtime errors -- such as undefined attribute accesses -- at compile time, preserving separate compilation while maintaining strong static correctness guarantees. Experimental evaluation using mutation testing on Neverlang-based projects demonstrates that nlgcheck effectively enhances robustness without sacrificing modularity or flexibility and with a level of performance that does not impede its adoption in daily development activities.
- Abstract(参考訳): プログラミング言語の開発には、特に言語拡張によるモジュラリティと再利用性に対処する場合に、複雑な理論的および実践的な課題が伴う。
言語のワークベンチは、言語拡張問題の制約の下でモジュール化された開発を可能にすることを目的としているが、ある重要な制約 -- 別個のコンパイル -- は、その複雑さのためにしばしば緩和される。
しかし、この緩和は、アーティファクトの再利用性や一般的な依存システムとの統合を損なう。
拡張が以前生成された抽象構文木構造を無効にする新しい属性を導入する可能性があるため、別個のコンパイルの下での重要な困難は属性文法の管理から生じる。
既存のアプローチ、例えばNeverlangワークベンチでの動的マップの使用は、コンパイル時の正確さを犠牲にして柔軟性を保ち、未定義の属性による実行時のエラーにつながる可能性がある。
この研究は、Neverlang言語ワークベンチのデータフロー分析に基づいた理論的に健全な静的解析ツールであるnlgcheckを導入することでこの問題に対処する。
nlgcheckはコンパイル時に潜在的ランタイムエラー(未定義の属性アクセスなど)を検出し、強い静的正当性保証を維持しながら、別個のコンパイルを保存する。
Neverlangベースのプロジェクトでの突然変異テストを用いた実験的評価は、nlgcheckがモジュール性や柔軟性を犠牲にすることなく、かつ日々の開発活動における導入を阻害しないレベルのパフォーマンスで、堅牢性を効果的に向上することを示している。
関連論文リスト
- Context-Guided Decompilation: A Step Towards Re-executability [50.71992919223209]
バイナリ逆コンパイルは、ソフトウェアセキュリティ分析、リバースエンジニアリング、マルウェア理解において重要な役割を果たす。
大規模言語モデル (LLMs) の最近の進歩により、ニューラルデコンパイルが可能になったが、生成されたコードは一般的に意味論的にのみ使用可能である。
In-context Learning(ICL)を活用して,再実行可能なソースコードを生成するためのILC4Decompを提案する。
論文 参考訳(メタデータ) (2025-11-03T17:21:39Z) - Building Whitespace-Sensitive Languages Using Whitespace-Insensitive Components [42.44842805761906]
本稿では,モジュール型・白色空間感応言語モジュールを用いて,白色空間感応言語を構築する手法を提案する。
私たちのソリューションは、既存の言語コンポーネントの再利用性を高め、開発時間を短縮し、ソフトウェア言語の全体的な品質を向上させることを目的としています。
論文 参考訳(メタデータ) (2025-10-09T13:26:47Z) - Improving Large Language Models Function Calling and Interpretability via Guided-Structured Templates [56.73907811047611]
大規模言語モデル(LLM)は強力な推論とツール使用能力を示している。
LLMは、誤ったパラメータ化、悪いツールの選択、ユーザーの意図の誤解釈によって、現実世界のツールインタラクションで失敗することが多い。
我々は、構造化推論テンプレートを利用して、関数呼び出しを生成するためのより故意なステップバイステップ命令を通してLCMをガイドするカリキュラムに着想を得たフレームワークを提案する。
論文 参考訳(メタデータ) (2025-09-22T17:55:14Z) - Decompiling Rust: An Empirical Study of Compiler Optimizations and Reverse Engineering Challenges [0.0]
Rustバイナリの分解は、言語のリッチな型システム、アグレッシブなコンパイラ最適化、ハイレベルな抽象化の広く使われるため、難しい。
コアRust機能とコンパイラビルドモードの非コンパイル品質をベンチマークで評価する。
私たちの調査結果は、ツール開発者にとって実用的な洞察を提供し、Rust対応のデコンパイル戦略の必要性を強調しています。
論文 参考訳(メタデータ) (2025-07-24T20:26:42Z) - Checkification: A Practical Approach for Testing Static Analysis Truths [0.0]
本稿では,抽象解釈に基づく静的アナライザの試験法を提案する。
このアプローチの主な利点は、Ciaoアサーションベースのバリデーションフレームワーク内で直接フレーミングすることによる、シンプルさにあります。
我々は、CiaoPP静的解析器にアプローチを適用し、合理的なオーバーヘッドを伴う多くのバグを特定した。
論文 参考訳(メタデータ) (2025-01-21T12:38:04Z) - Developing a Modular Compiler for a Subset of a C-like Language [0.0]
本稿では,C型言語のサブセットに対するモジュール型コンパイラの開発について紹介する。
このモジュラーアプローチにより、開発者は必要に応じてサブセットを追加または削除することで言語を変更でき、最小限のメモリ効率のコンパイラが実現される。
論文 参考訳(メタデータ) (2025-01-08T13:42:54Z) - Commit0: Library Generation from Scratch [77.38414688148006]
Commit0は、AIエージェントにスクラッチからライブラリを書くよう促すベンチマークである。
エージェントには、ライブラリのAPIを概説する仕様文書と、インタラクティブなユニットテストスイートが提供されている。
Commit0はまた、モデルが生成したコードに対して静的解析と実行フィードバックを受け取る、インタラクティブな環境も提供する。
論文 参考訳(メタデータ) (2024-12-02T18:11:30Z) - A Static Evaluation of Code Completion by Large Language Models [65.18008807383816]
単純なプログラミング問題に対するモデル生成コードの機能的正当性を評価するために,実行ベースベンチマークが提案されている。
プログラムを実行せずにエラーを検出するlinterのような静的解析ツールは、コード生成モデルを評価するために十分に研究されていない。
抽象構文木を利用して,Pythonのコード補完における静的エラーを定量化する静的評価フレームワークを提案する。
論文 参考訳(メタデータ) (2023-06-05T19:23:34Z) - BenchCLAMP: A Benchmark for Evaluating Language Models on Syntactic and
Semantic Parsing [55.058258437125524]
本稿では,制約付きLanguage Model Parsingを評価するベンチマークであるBenchCLAMPを紹介する。
APIを通じてのみ利用可能な2つのGPT-3変種を含む8つの言語モデルをベンチマークする。
実験により,エンコーダ-デコーダ事前学習言語モデルでは,モデル出力が有効であると制約された場合に,構文解析や意味解析の最先端手法を超えることができることがわかった。
論文 参考訳(メタデータ) (2022-06-21T18:34:11Z) - Lifting the Curse of Multilinguality by Pre-training Modular
Transformers [72.46919537293068]
多言語事前訓練されたモデルは、多言語間のパフォーマンスが低下する、多言語間の呪いに苦しむ。
言語固有のモジュールを導入し、言語定数当たりのトレーニング可能なパラメータの総数を保ちながら、モデルの総容量を拡大できるようにします。
我々のアプローチは、測定可能な性能低下のないポストホック言語の追加を可能にし、モデルの使用を事前訓練された言語セットに制限しない。
論文 参考訳(メタデータ) (2022-05-12T17:59:56Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。