WEKO3
-
RootNode
アイテム
Rubyプログラムの制御フロー解析とその健全性の証明
https://ipsj.ixsq.nii.ac.jp/records/68444
https://ipsj.ixsq.nii.ac.jp/records/684449a3f7252-f44e-4c61-bb7b-267a314e718a
名前 / ファイル | ライセンス | アクション |
---|---|---|
![]() |
Copyright (c) 2010 by the Information Processing Society of Japan
|
|
オープンアクセス |
Item type | Trans(1) | |||||||
---|---|---|---|---|---|---|---|---|
公開日 | 2010-03-16 | |||||||
タイトル | ||||||||
タイトル | Rubyプログラムの制御フロー解析とその健全性の証明 | |||||||
タイトル | ||||||||
言語 | en | |||||||
タイトル | Control Flow Analysis of Ruby Programs and Its Soundness | |||||||
言語 | ||||||||
言語 | jpn | |||||||
キーワード | ||||||||
主題Scheme | Other | |||||||
主題 | 通常論文 | |||||||
資源タイプ | ||||||||
資源タイプ識別子 | http://purl.org/coar/resource_type/c_6501 | |||||||
資源タイプ | journal article | |||||||
著者所属 | ||||||||
筑波大学大学院システム情報工学研究科 | ||||||||
著者所属 | ||||||||
筑波大学大学院システム情報工学研究科 | ||||||||
著者所属(英) | ||||||||
en | ||||||||
Graduate School of Systems and Information Engineering, University of Tsukuba | ||||||||
著者所属(英) | ||||||||
en | ||||||||
Graduate School of Systems and Information Engineering, University of Tsukuba | ||||||||
著者名 |
松本, 宗太郎
× 松本, 宗太郎
|
|||||||
著者名(英) |
Soutaro, Matsumoto
× Soutaro, Matsumoto
|
|||||||
論文抄録 | ||||||||
内容記述タイプ | Other | |||||||
内容記述 | Rubyプログラムの制御フロー解析を設計し,その健全性を操作的意味論に基づき証明する.Ruby などのスクリプト言語に関する静的プログラム解析は多く提案されているが,その健全性について言語の意味論に基づき証明がなされたものは少ない.本研究では,Ruby のコア言語について操作的意味論を定義し,その意味論に基づき制御フロー解析の健全性を証明する.Ruby のコア言語は,ruby 1.9 処理系の構文解析器によって得られる中間言語をモデルとし,メソッドの動的な定義・イテレータブロック・大域脱出などを含む.Ruby では,クラス・メソッドの定義は,宣言ではなく動的に評価される式であり,さらにメソッド定義の上書きが可能である.そのため,プログラムの実行時の制御フローによって,異なるクラス定義・メソッド定義が得られる可能性がある.本研究では,メソッド定義が評価されたかどうかについて,制御フローを区別する解析を行う.これにより,特に多く見られる,トップレベルでクラス・メソッドの定義を行うプログラムについては,メソッド呼び出しの正確な解析が可能となる. | |||||||
論文抄録(英) | ||||||||
内容記述タイプ | Other | |||||||
内容記述 | We design a semi-flow-sensitive control flow analysis for Ruby, and prove its soundness. Static analysis of scripting languages including Ruby has been actively studied recently, but few of the analysis proved their correctness with respect to language semantics. We formalize an operational semantics of the core of Ruby. It is designed based on the intermediate language obtained by the parser of ruby-1.9, and supports dynamic method definition, iterator blocks, and non-local exits. Our analysis is semi-flow-sensitive in the sense that it is not sensitive on the values of a variable at each program point, but on which method definitions have been evaluated. This sensitivity makes it possible to precisely analyze typical Ruby programs where the definition of a class is split into several top-level class definitions. | |||||||
書誌レコードID | ||||||||
収録物識別子タイプ | NCID | |||||||
収録物識別子 | AA11464814 | |||||||
書誌情報 |
情報処理学会論文誌プログラミング(PRO) 巻 3, 号 2, p. 9-25, 発行日 2010-03-16 |
|||||||
ISSN | ||||||||
収録物識別子タイプ | ISSN | |||||||
収録物識別子 | 1882-7802 | |||||||
出版者 | ||||||||
言語 | ja | |||||||
出版者 | 情報処理学会 |