WEKO3
アイテム
具象コード実行をともなう抽象解釈器の実行モデル
https://ipsj.ixsq.nii.ac.jp/records/213170
https://ipsj.ixsq.nii.ac.jp/records/2131703b1f0554-95c1-43c2-923d-b504ef0710b8
名前 / ファイル | ライセンス | アクション |
---|---|---|
![]() |
Copyright (c) 2021 by the Information Processing Society of Japan
|
|
オープンアクセス |
Item type | Trans(1) | |||||||
---|---|---|---|---|---|---|---|---|
公開日 | 2021-09-30 | |||||||
タイトル | ||||||||
タイトル | 具象コード実行をともなう抽象解釈器の実行モデル | |||||||
タイトル | ||||||||
言語 | en | |||||||
タイトル | Execution Model of an Abstract Interpreter that Intertwines with Concrete Code Execution | |||||||
言語 | ||||||||
言語 | jpn | |||||||
キーワード | ||||||||
主題Scheme | Other | |||||||
主題 | [発表概要, Unrefereed Presentatin Abstract] | |||||||
資源タイプ | ||||||||
資源タイプ識別子 | http://purl.org/coar/resource_type/c_6501 | |||||||
資源タイプ | journal article | |||||||
著者所属 | ||||||||
神奈川大学理学部情報科学科 | ||||||||
著者所属(英) | ||||||||
en | ||||||||
Department of Information Sciences, Faculty of Science, Kanagawa University | ||||||||
著者名 |
馬谷, 誠二
× 馬谷, 誠二
|
|||||||
著者名(英) |
Seiji, Umatani
× Seiji, Umatani
|
|||||||
論文抄録 | ||||||||
内容記述タイプ | Other | |||||||
内容記述 | 言語仕様が厳密には規定されていないプログラミング言語で書かれたプログラムの性質を知りたい場合,言語処理系(リファレンス実装)が生成した低水準コードの命令列を静的解析するという手段を用いることができる.しかし,高水準言語からコンパイルされた低水準コードの命令列に対する解析では,生成されるコードやランタイムの複雑さのせいで有用な情報を十分に取得できないことが多い.そこで本発表では,コンパイルされた低水準コードの直接実行(「具象解釈」)と抽象解釈を混ぜながら実行する抽象解釈器の実行モデルを提案する.純粋な抽象解釈だけでは正確に解析できない一部のコードのみを選択的に具象解釈することで,解析精度の低下を回避できることが提案モデルの特徴である.どのような粒度・頻度で分割されたプログラムであっても,2つの解釈モジュールの実行環境をシームレスに接続することにより,プログラムを正しく実行(解析)することが可能となっている.また,アプリケーションデータの相互変換においても,個々の解析に依存するデータ型の抽象ドメインの定義を系統的に用いる仕組みが組み込まれており,2つの解釈モジュール間で,メモリ上のエイリアス関係を保ちつつ任意のデータ構造を適切に相互変換可能である. | |||||||
論文抄録(英) | ||||||||
内容記述タイプ | Other | |||||||
内容記述 | Suppose we want to know a program's properties written in a programming language whose specification is not strictly defined. In that case, we can use static analysis of the instruction sequence of low-level code generated by its language processor (reference implementation). However, the analysis of the instruction sequence of low-level code compiled from a high-level language often fails to obtain enough useful information due to the complexity of the generated code and the runtime. This presentation proposes an abstract interpreter's execution model that mixes direct execution (“concrete interpretation”) and abstract interpretation of compiled low-level code. The proposed model avoids the degradation of analysis accuracy by selectively performing concrete interpretation only for some code fragments that cannot be analyzed accurately by pure abstract interpretation alone. Even if the target program is split at an arbitrary granularity and frequency, it is executed (analyzed) correctly by seamlessly connecting the two interpretation modules' execution environment. Besides, the systematic use of abstract domain definitions for data types that depend on individual analyses is incorporated in the mutual conversion of application data, allowing appropriate mutual conversion of arbitrary data structures between the two interpretation modules while maintaining alias relations in memory. | |||||||
書誌レコードID | ||||||||
収録物識別子タイプ | NCID | |||||||
収録物識別子 | AA11464814 | |||||||
書誌情報 |
情報処理学会論文誌プログラミング(PRO) 巻 14, 号 4, p. 7-7, 発行日 2021-09-30 |
|||||||
ISSN | ||||||||
収録物識別子タイプ | ISSN | |||||||
収録物識別子 | 1882-7802 | |||||||
出版者 | ||||||||
言語 | ja | |||||||
出版者 | 情報処理学会 |