講演抄録/キーワード |
講演名 |
2022-07-29 13:50
イミュータブルクラスを利用する必要性に関する調査 ~ ハッシュ値を利用するデータ型を対象として ~ ○橋本 周・肥後芳樹・楠本真二(阪大) SS2022-11 KBSE2022-21 |
抄録 |
(和) |
Javaには複数のオブジェクトを格納するためのさまざまなデータ型が用意されている.その中に,HashMapやHashSetのように格納するオブジェクトのハッシュ値を利用するデータ型がある.このようなハッシュ値を利用するデータ型は,オブジェクトを格納する際にそのオブジェクトのハッシュ値をデータ型の内部に記録する.そのため,格納されたオブジェクトに変更が加わりハッシュ値が変化してしまった場合に,変更後のハッシュ値とデータ型に記録されたハッシュ値との間で不整合が生じてしまう.そこで,このようなハッシュ値を用いるデータ型に格納するオブジェクトのクラスにはその内部状態が生成後に変化しないイミュータブルクラスが推奨されている.しかし,イミュータブルクラスの利用により,ハッシュ値との不整合がどの程度防げているのかについてはこれまで明らかにされてこなかった.そこで本研究では,Javaの実プロジェクトにおいてハッシュ値を利用するHashMapとHashSetを対象とした調査を行い,データ型に格納するオブジェクトはイミュータブルクラスにすべきかを明らかにする.HashMapおよびHashSetに格納された対象プロジェクト内で定義されたクラスを利用していたオブジェクトを対象に,そのクラスがイミュータブルであるか否かの調査を行った.調査の結果,イミュータブルクラスはHashMapでは14.8%,HashSetでは9.7%利用されていると明らかになった.また,過去バージョンではミュータブルクラスであったが,不整合のバグが発生したためにイミュータブルに変更された事例はまったく見つからなかった. |
(英) |
|
キーワード |
(和) |
イミュータビリティ / ハッシュ / Java / / / / / |
(英) |
/ / / / / / / |
文献情報 |
信学技報, vol. 122, no. 138, SS2022-11, pp. 61-66, 2022年7月. |
資料番号 |
SS2022-11 |
発行日 |
2022-07-21 (SS, KBSE) |
ISSN |
Online edition: ISSN 2432-6380 |
著作権に ついて |
技術研究報告に掲載された論文の著作権は電子情報通信学会に帰属します.(許諾番号:10GA0019/12GB0052/13GB0056/17GB0034/18GB0034) |
PDFダウンロード |
SS2022-11 KBSE2022-21 |
研究会情報 |
研究会 |
SS IPSJ-SE KBSE |
開催期間 |
2022-07-28 - 2022-07-30 |
開催地(和) |
北海道自治労会館(札幌) |
開催地(英) |
Hokkaido-Jichiro-Kaikan (Sapporo) |
テーマ(和) |
ソフトウェア工学全般/知能ソフトウェア工学全般/ソフトウェアサイエンス全般 |
テーマ(英) |
|
講演論文情報の詳細 |
申込み研究会 |
SS |
会議コード |
2022-07-SS-SE-KBSE |
本文の言語 |
日本語(英語タイトルなし) |
タイトル(和) |
イミュータブルクラスを利用する必要性に関する調査 |
サブタイトル(和) |
ハッシュ値を利用するデータ型を対象として |
タイトル(英) |
|
サブタイトル(英) |
|
キーワード(1)(和/英) |
イミュータビリティ / |
キーワード(2)(和/英) |
ハッシュ / |
キーワード(3)(和/英) |
Java / |
キーワード(4)(和/英) |
/ |
キーワード(5)(和/英) |
/ |
キーワード(6)(和/英) |
/ |
キーワード(7)(和/英) |
/ |
キーワード(8)(和/英) |
/ |
第1著者 氏名(和/英/ヨミ) |
橋本 周 / / ハシモト シュウ |
第1著者 所属(和/英) |
大阪大学 (略称: 阪大)
(略称: ) |
第2著者 氏名(和/英/ヨミ) |
肥後 芳樹 / / ヒゴ ヨシキ |
第2著者 所属(和/英) |
大阪大学 (略称: 阪大)
(略称: ) |
第3著者 氏名(和/英/ヨミ) |
楠本 真二 / / クスモト シンジ |
第3著者 所属(和/英) |
大阪大学 (略称: 阪大)
(略称: ) |
第4著者 氏名(和/英/ヨミ) |
/ / |
第4著者 所属(和/英) |
(略称: )
(略称: ) |
第5著者 氏名(和/英/ヨミ) |
/ / |
第5著者 所属(和/英) |
(略称: )
(略称: ) |
第6著者 氏名(和/英/ヨミ) |
/ / |
第6著者 所属(和/英) |
(略称: )
(略称: ) |
第7著者 氏名(和/英/ヨミ) |
/ / |
第7著者 所属(和/英) |
(略称: )
(略称: ) |
第8著者 氏名(和/英/ヨミ) |
/ / |
第8著者 所属(和/英) |
(略称: )
(略称: ) |
第9著者 氏名(和/英/ヨミ) |
/ / |
第9著者 所属(和/英) |
(略称: )
(略称: ) |
第10著者 氏名(和/英/ヨミ) |
/ / |
第10著者 所属(和/英) |
(略称: )
(略称: ) |
第11著者 氏名(和/英/ヨミ) |
/ / |
第11著者 所属(和/英) |
(略称: )
(略称: ) |
第12著者 氏名(和/英/ヨミ) |
/ / |
第12著者 所属(和/英) |
(略称: )
(略称: ) |
第13著者 氏名(和/英/ヨミ) |
/ / |
第13著者 所属(和/英) |
(略称: )
(略称: ) |
第14著者 氏名(和/英/ヨミ) |
/ / |
第14著者 所属(和/英) |
(略称: )
(略称: ) |
第15著者 氏名(和/英/ヨミ) |
/ / |
第15著者 所属(和/英) |
(略称: )
(略称: ) |
第16著者 氏名(和/英/ヨミ) |
/ / |
第16著者 所属(和/英) |
(略称: )
(略称: ) |
第17著者 氏名(和/英/ヨミ) |
/ / |
第17著者 所属(和/英) |
(略称: )
(略称: ) |
第18著者 氏名(和/英/ヨミ) |
/ / |
第18著者 所属(和/英) |
(略称: )
(略称: ) |
第19著者 氏名(和/英/ヨミ) |
/ / |
第19著者 所属(和/英) |
(略称: )
(略称: ) |
第20著者 氏名(和/英/ヨミ) |
/ / |
第20著者 所属(和/英) |
(略称: )
(略称: ) |
講演者 |
第1著者 |
発表日時 |
2022-07-29 13:50:00 |
発表時間 |
25分 |
申込先研究会 |
SS |
資料番号 |
SS2022-11, KBSE2022-21 |
巻番号(vol) |
vol.122 |
号番号(no) |
no.138(SS), no.139(KBSE) |
ページ範囲 |
pp.61-66 |
ページ数 |
6 |
発行日 |
2022-07-21 (SS, KBSE) |
|