ログイン 新規登録
言語:

WEKO3

  • トップ
  • ランキング
To
lat lon distance
To

Field does not validate



インデックスリンク

インデックスツリー

メールアドレスを入力してください。

WEKO

One fine body…

WEKO

One fine body…

アイテム

  1. 論文誌(トランザクション)
  2. プログラミング(PRO)
  3. Vol.45
  4. No.SIG12(PRO23)

型安全でないCプログラムのポインタ解析

https://ipsj.ixsq.nii.ac.jp/records/16660
https://ipsj.ixsq.nii.ac.jp/records/16660
e6937269-828f-4f0f-987c-e848c3c86efb
名前 / ファイル ライセンス アクション
IPSJ-TPRO4512006.pdf IPSJ-TPRO4512006 (188.3 kB)
Copyright (c) 2004 by the Information Processing Society of Japan
オープンアクセス
Item type Trans(1)
公開日 2004-11-15
タイトル
タイトル 型安全でないCプログラムのポインタ解析
タイトル
言語 en
タイトル Pointer Analysis for Type - unsafe C Programs
言語
言語 jpn
キーワード
主題Scheme Other
主題 通常論文(論文賞受賞)
資源タイプ
資源タイプ識別子 http://purl.org/coar/resource_type/c_6501
資源タイプ journal article
著者所属
日立製作所システム開発研究所
著者所属(英)
en
Systems Development Laboratory, Hitachi, Ltd.
著者名 千代英一郎

× 千代英一郎

千代英一郎

Search repository
著者名(英) Eiichiro, Chishiro

× Eiichiro, Chishiro

en Eiichiro, Chishiro

Search repository
論文抄録
内容記述タイプ Other
内容記述 本論文では,ポインタ型と整数型が相互に変換されるような型安全でないC プログラムのポインタ解析について述べる.キャストや共用体型の使用により生じるこのような変換の結果は処理系依存のため,従来研究では解析の対象外とするか,過度に穏健的な近似を行っている.だが組み込みシステムにみられるような,特定アドレスのメモリ領域が外部デバイスとの入出力に割り当てられている環境では,その領域を参照するためにアドレスを表す整数値からポインタ値への変換が不可欠であり,多くの組み込み用処理系では変換の過程でその値が保存されることを保証している.このような環境において安全で高精度なポインタ解析を行うためには整数値の解析が必要となるが,整数値は多種多様な演算が可能なため,その解析は一般に困難である.本論文では,最初に整数値とポインタ値の間の型変換の意味を形式的に定義し,それに基づき整数値の表しうるメモリ領域の集合を近似的に求める方法について述べる.また,このような型変換の存在のもとで構造体の内部領域を安全に区別する方法についても述べる.解析アルゴリズムは個々の整数値を追跡する代わりに,キャストおよび共用体に着目し,整数値となりうるポインタ値の集合を求めるもので,効率的な実現が可能である.
論文抄録(英)
内容記述タイプ Other
内容記述 We present new pointer analysis for type-unsafe C programs which may contain conversions from an integer type to a pointer type, and vice versa. Since the result of such conversion caused by casts or union types is implementation-defined, it is either not treated or approximated too conservatively in most of previous work. But in the area of embedded systems, it is general that a program interacts with auxiliary devices through the memory area of a certain, system-specific address, which is designated as a pointer-converted integer constant. So many compilers for embedded systems ensure that the representation of the value is preserved through the conversion. In such environment, we need to track integer values in order to perform safe and highly precise pointer analysis, but various integer operations make it difficult to do it. In this paper, we first define formally the semantics of the type conversion between integer values and pointer values, and describe how to approximate the set of memory regions which may be designated by integer values. We also describe how to distinguish the internal region of structure objects under the existence of such conversion. Instead of tracking individual integer values, the algorithm focuses on cast expressions and unions in a program to calculate the set of pointer values which may be treated as integer, and can be implemented simply and efficiently.
書誌レコードID
収録物識別子タイプ NCID
収録物識別子 AA11464814
書誌情報 情報処理学会論文誌プログラミング(PRO)

巻 45, 号 SIG12(PRO23), p. 52-66, 発行日 2004-11-15
ISSN
収録物識別子タイプ ISSN
収録物識別子 1882-7802
出版者
言語 ja
出版者 情報処理学会
戻る
0
views
See details
Views

Versions

Ver.1 2025-01-20 06:29:16.447145
Show All versions

Share

Mendeley Twitter Facebook Print Addthis

Cite as

エクスポート

OAI-PMH
  • OAI-PMH JPCOAR
  • OAI-PMH DublinCore
  • OAI-PMH DDI
Other Formats
  • JSON
  • BIBTEX

Confirm


Powered by WEKO3


Powered by WEKO3