講演名 2022-07-29
イミュータブルクラスを利用する必要性に関する調査
橋本 周(阪大), 肥後 芳樹(阪大), 楠本 真二(阪大),
PDFダウンロードページ PDFダウンロードページへ
抄録(和) Javaには複数のオブジェクトを格納するためのさまざまなデータ型が用意されている.その中に,HashMapやHashSetのように格納するオブジェクトのハッシュ値を利用するデータ型がある.このようなハッシュ値を利用するデータ型は,オブジェクトを格納する際にそのオブジェクトのハッシュ値をデータ型の内部に記録する.そのため,格納されたオブジェクトに変更が加わりハッシュ値が変化してしまった場合に,変更後のハッシュ値とデータ型に記録されたハッシュ値との間で不整合が生じてしまう.そこで,このようなハッシュ値を用いるデータ型に格納するオブジェクトのクラスにはその内部状態が生成後に変化しないイミュータブルクラスが推奨されている.しかし,イミュータブルクラスの利用により,ハッシュ値との不整合がどの程度防げているのかについてはこれまで明らかにされてこなかった.そこで本研究では,Javaの実プロジェクトにおいてハッシュ値を利用するHashMapとHashSetを対象とした調査を行い,データ型に格納するオブジェクトはイミュータブルクラスにすべきかを明らかにする.HashMapおよびHashSetに格納された対象プロジェクト内で定義されたクラスを利用していたオブジェクトを対象に,そのクラスがイミュータブルであるか否かの調査を行った.調査の結果,イミュータブルクラスはHashMapでは14.8%,HashSetでは9.7%利用されていると明らかになった.また,過去バージョンではミュータブルクラスであったが,不整合のバグが発生したためにイミュータブルに変更された事例はまったく見つからなかった.
抄録(英)
キーワード(和) イミュータビリティ / ハッシュ / Java
キーワード(英)
資料番号 SS2022-11,KBSE2022-21
発行日 2022-07-21 (SS, KBSE)

研究会情報
研究会 SS / IPSJ-SE / KBSE
開催期間 2022/7/28(から3日開催)
開催地(和) 北海道自治労会館(札幌)
開催地(英) Hokkaido-Jichiro-Kaikan (Sapporo)
テーマ(和) ソフトウェア工学全般/知能ソフトウェア工学全般/ソフトウェアサイエンス全般
テーマ(英)
委員長氏名(和) 岡野 浩三(信州大) / 鷲崎 弘宜(早稲田大学) / 猿渡 卓也(NTTデータ)
委員長氏名(英) Kozo Okano(Shinshu Univ.) / 鷲崎 弘宜(早稲田大学) / Takuya Saruwatari(NTT Data)
副委員長氏名(和) 肥後 芳樹(阪大) / / 田辺 良則(鶴見大)
副委員長氏名(英) Yoshiki Higo(Osaka Univ.) / / Yoshinori Tanabe(Tsurumi Univ.)
幹事氏名(和) 小形 真平(信州大) / 林 晋平(東工大) / / 小島 英春(阪工大) / 柏 祐太郎(奈良先端大)
幹事氏名(英) Shinpei Ogata(Shinshu Univ.) / Shinpei Hayashi(Tokyo Inst. of Tech.) / / Hideharu Kojima(Osaka Inst. of Tech.) / Yutaro Kashiwa(NAIST)
幹事補佐氏名(和) ?本 真佑(阪大) / 伊原 彰紀(和歌山大学) / 小川 秀人(日立製作所) / 竹内 広宜(武蔵大学) / 徳本 晋(富士通) / 伏田 享平(NTT株式会社) / 福田 浩章(芝浦工業大学) / 横川 智教(岡山県立大学) / 青木 善貴(BIPROGY) / 堀田 大貴(茨城大)
幹事補佐氏名(英) Shinsuke Matsumoto(Osaka Univ.) / 伊原 彰紀(和歌山大学) / 小川 秀人(日立製作所) / 竹内 広宜(武蔵大学) / 徳本 晋(富士通) / 伏田 享平(NTT株式会社) / 福田 浩章(芝浦工業大学) / 横川 智教(岡山県立大学) / Yoshitaka Aoki(BIPROGY) / Hiroki Horita(Ibaraki Univ.)

講演論文情報詳細
申込み研究会 Technical Committee on Software Science / Special Interest Group on Software Engineering / Technical Committee on Knowledge-Based Software Engineering
本文の言語 JPN-ONLY
タイトル(和) イミュータブルクラスを利用する必要性に関する調査
サブタイトル(和) ハッシュ値を利用するデータ型を対象として
タイトル(英)
サブタイトル(和) *
キーワード(1)(和/英) イミュータビリティ
キーワード(2)(和/英) ハッシュ
キーワード(3)(和/英) Java
第 1 著者 氏名(和/英) 橋本 周 / Shu Hashimoto
第 1 著者 所属(和/英) 大阪大学(略称:阪大)
Osaka University(略称:Osaka Univ.)
第 2 著者 氏名(和/英) 肥後 芳樹 / Yoshiki Higo
第 2 著者 所属(和/英) 大阪大学(略称:阪大)
Osaka University(略称:Osaka Univ.)
第 3 著者 氏名(和/英) 楠本 真二 / Shinji Kusumoto
第 3 著者 所属(和/英) 大阪大学(略称:阪大)
Osaka University(略称:Osaka Univ.)
発表年月日 2022-07-29
資料番号 SS2022-11,KBSE2022-21
巻番号(vol) vol.122
号番号(no) SS-138,KBSE-139
ページ範囲 pp.61-66(SS), pp.61-66(KBSE),
ページ数 6
発行日 2022-07-21 (SS, KBSE)