Item type |
Journal(1) |
公開日 |
2024-09-15 |
タイトル |
|
|
タイトル |
32bitを超えるtime_t型を持つ環境における2038年問題とその検出 |
タイトル |
|
|
言語 |
en |
|
タイトル |
The Year 2038 Problem in Environments with time_t exceeding 32 bits and its Detection Mechanism |
言語 |
|
|
言語 |
jpn |
キーワード |
|
|
主題Scheme |
Other |
|
主題 |
[特集:組込みシステム工学] 2038年問題,ソースコード解析,リスク分析 |
資源タイプ |
|
|
資源タイプ識別子 |
http://purl.org/coar/resource_type/c_6501 |
|
資源タイプ |
journal article |
ID登録 |
|
|
ID登録 |
10.20729/00239257 |
|
ID登録タイプ |
JaLC |
著者所属 |
|
|
|
立命館大学大学院情報理工学研究科 |
著者所属 |
|
|
|
立命館大学情報理工学部 |
著者所属 |
|
|
|
立命館大学情報理工学部 |
著者所属(英) |
|
|
|
en |
|
|
Graduate School of Information Science and Engineering, Ritsumeikan University |
著者所属(英) |
|
|
|
en |
|
|
College of Information Science and Engineering, Ritsumeikan University |
著者所属(英) |
|
|
|
en |
|
|
College of Information Science and Engineering, Ritsumeikan University |
著者名 |
星名, 藍乃介
穐山, 空道
上原, 哲太郎
|
著者名(英) |
Rannosuke, Hoshina
Soramichi, Akiyama
Tetsutaro, Uehara
|
論文抄録 |
|
|
内容記述タイプ |
Other |
|
内容記述 |
UNIX timeで表現されたタイムスタンプ値が32bit符号付き整数型で定義された場合,2038年1月19日3時14分8秒以降の時刻で整数オーバーフローする.この整数オーバーフローはシステムにさまざまな不具合を引き起こす可能性があり,2038年問題と呼ばれる.2038年問題への対応として,64bitなどの32bitを超えるデータ型でタイムスタンプ値を扱う対策が一般に知られている.この対策において,タイムスタンプ値のデータ型は,外部プログラムも含めたデータフローの中で一貫して32bitを超えるよう維持される必要がある.もし,どこか1カ所でも32bit符号付き整数値として扱われると,整数オーバーフローを引き起こす可能性がある.本研究では,このような2038年問題のうち,ファイルシステムからの入出力時およびダウンキャスト時の整数オーバーフローに着目し,C言語プログラムから検出する手法を提案する.また,提案手法の有効性を示すため,検出手法に用いるツールを開発し,C言語OSSを対象に検証を行った.検証の結果,一部のFalse Positiveな検出は見られたものの,我々のツールは874のプロジェクトのうち294のプロジェクトから3,463の該当表現を検出した. |
論文抄録(英) |
|
|
内容記述タイプ |
Other |
|
内容記述 |
When timestamp values expressed in UNIX time are defined as 32-bit signed integers, an integer overflow occurs at times after 3:14:08 on January 19, 2038. This integer overflow may cause various system failures and it is known as the 2038 problem. As a countermeasure against the 2038 problem, it is generally known the method to handle timestamp values with data types that exceed 32 bits, such as 64 bits. In this countermeasure, the data type of the timestamp value must be maintained to consistently exceed 32 bits in the data flow, including external programs. If the timestamp value is represented as a 32-bit signed integer type at even one point in the data flow, it may cause an integer overflow. In this study, we focus on integer overflows in file system I/O and downcast, and we propose a method to detect them from programs written in C. In addition, to demonstrate the effectiveness of the proposed method, we developed a tool used in the detection method and verified it on various OSS developed in C. As a result of the validation, our tool detected 3,463 relevant expressions from 294 projects out of 874 projects, although some false positives were found. |
書誌レコードID |
|
|
収録物識別子タイプ |
NCID |
|
収録物識別子 |
AN00116647 |
書誌情報 |
情報処理学会論文誌
巻 65,
号 9,
p. 1387-1398,
発行日 2024-09-15
|
ISSN |
|
|
収録物識別子タイプ |
ISSN |
|
収録物識別子 |
1882-7764 |
公開者 |
|
|
言語 |
ja |
|
出版者 |
情報処理学会 |