| 講演抄録/キーワード |
| 講演名 |
2017-03-09 11:50
Javaのメソッド等価性判定とその応用 ○岡野浩三(信州大)・原内 聡(三菱電機)・小形真平(信州大)・関澤俊弦(日大)・小原岳士(信州大) SS2016-65 |
| 抄録 |
(和) |
Java プログラムのクラスにおいてequals メソッドとhashCode メソッドをコード実装者が実装することが,しばしば生じる.その際,これらのメソッドについて幾つかの制約を満たすように記述する必要がある.それらの制約の中にはequals メソッドが等価と判断する2 つのオブジェクトについてはhashCode 値も同じでなくてはいけないというメソッド間にまたがる制約がある.このような制約を静的に検査する方法がすでに著者らの研究グループの先行研究等で提案されているが,以下のような課題点があった.1. メソッドにループ構造があってはいけない.2.
SAT/SMT の制約式に変換するため,変換が自明でない場合はツールの妥当性が担保しにくい.本原稿では上記の課題点を解決する別の手法を提案する.この手法はオープンソースの既存ツールであるSAWのメソッドの等価性判定機能を用いる方法であり,上記の課題を解決できるほか,メソッドの内部アルゴリズムの変更やクラスのフィールドの追加・削除等変更にともなう回帰テストの手間の削減を可能にする利点があることを併せて示す. |
| (英) |
A programmer sometimes implements both of equals method and hashCode method in a class of Java. The programmer should obey the implementation rules for these methods. One of the rules is that two objects that meet equals method results have to have the same hashCode value. Some of studies including our previous work provide static analysis methods for checking the rules. Our previous work has some issues: (1) the target methods should have no loop structures; and (2) it transforms the methods into a set of SAT/SMT constraints, which is not easy to understand its validity. This report provides yet another solution for the issues. The new proposed method uses equivalence checking for methods/functions. The checking function is provided by SAW, a new tool developed as an open source software. We also state that the method is useful to reduce the cost of regression testing for refactoring of the methods and revise of fields of the class. |
| キーワード |
(和) |
記号実行 / 関数等価性判定 / 定理証明 / equals method / hashCode method / / / |
| (英) |
Symbolic Execution / Equivalence Checking / Theorem proover / equals method / hashCode method / / / |
| 文献情報 |
信学技報, vol. 116, no. 512, SS2016-65, pp. 31-36, 2017年3月. |
| 資料番号 |
SS2016-65 |
| 発行日 |
2017-03-02 (SS) |
| ISSN |
Print edition: ISSN 0913-5685 Online edition: ISSN 2432-6380 |
著作権に ついて |
技術研究報告に掲載された論文の著作権は電子情報通信学会に帰属します.(許諾番号:10GA0019/12GB0052/13GB0056/17GB0034/18GB0034) |
| PDFダウンロード |
SS2016-65 |
| 研究会情報 |
| 研究会 |
SS |
| 開催期間 |
2017-03-09 - 2017-03-10 |
| 開催地(和) |
てんぶす那覇 |
| 開催地(英) |
|
| テーマ(和) |
一般 |
| テーマ(英) |
|
| 講演論文情報の詳細 |
| 申込み研究会 |
SS |
| 会議コード |
2017-03-SS |
| 本文の言語 |
日本語 |
| タイトル(和) |
Javaのメソッド等価性判定とその応用 |
| サブタイトル(和) |
|
| タイトル(英) |
Equivalence Checking for Methods in Java and Its Applications |
| サブタイトル(英) |
|
| キーワード(1)(和/英) |
記号実行 / Symbolic Execution |
| キーワード(2)(和/英) |
関数等価性判定 / Equivalence Checking |
| キーワード(3)(和/英) |
定理証明 / Theorem proover |
| キーワード(4)(和/英) |
equals method / equals method |
| キーワード(5)(和/英) |
hashCode method / hashCode method |
| キーワード(6)(和/英) |
/ |
| キーワード(7)(和/英) |
/ |
| キーワード(8)(和/英) |
/ |
| 第1著者 氏名(和/英/ヨミ) |
岡野 浩三 / Kozo Okano / オカノ コウゾウ |
| 第1著者 所属(和/英) |
信州大学 (略称: 信州大)
Shinshu University (略称: Shinshu Univ.) |
| 第2著者 氏名(和/英/ヨミ) |
原内 聡 / Satoshi Harauchi / ハラウチ サトシ |
| 第2著者 所属(和/英) |
三菱電機株式会社 (略称: 三菱電機)
MitsubishElectric Corporation (略称: Mitsubishi Electric Corp.) |
| 第3著者 氏名(和/英/ヨミ) |
小形 真平 / Shinpei Ogata / オガタ シンペイ |
| 第3著者 所属(和/英) |
信州大学 (略称: 信州大)
Shinshu University (略称: Shinshu Univ.) |
| 第4著者 氏名(和/英/ヨミ) |
関澤 俊弦 / Toshifusa Sekizawa / セキザワ トシフサ |
| 第4著者 所属(和/英) |
日本大学 (略称: 日大)
Nihon University (略称: Nihon Univ.) |
| 第5著者 氏名(和/英/ヨミ) |
小原 岳士 / Takeshi Obara / オバラ タケシ |
| 第5著者 所属(和/英) |
信州大学 (略称: 信州大)
Shinshu University (略称: Shinshu Univ.) |
| 第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著者 所属(和/英) |
(略称: )
(略称: ) |
| 第21著者 氏名(和/英/ヨミ) |
/ / |
| 第21著者 所属(和/英) |
(略称: )
(略称: ) |
| 第22著者 氏名(和/英/ヨミ) |
/ / |
| 第22著者 所属(和/英) |
(略称: )
(略称: ) |
| 第23著者 氏名(和/英/ヨミ) |
/ / |
| 第23著者 所属(和/英) |
(略称: )
(略称: ) |
| 第24著者 氏名(和/英/ヨミ) |
/ / |
| 第24著者 所属(和/英) |
(略称: )
(略称: ) |
| 第25著者 氏名(和/英/ヨミ) |
/ / |
| 第25著者 所属(和/英) |
(略称: )
(略称: ) |
| 第26著者 氏名(和/英/ヨミ) |
/ / |
| 第26著者 所属(和/英) |
(略称: )
(略称: ) |
| 第27著者 氏名(和/英/ヨミ) |
/ / |
| 第27著者 所属(和/英) |
(略称: )
(略称: ) |
| 第28著者 氏名(和/英/ヨミ) |
/ / |
| 第28著者 所属(和/英) |
(略称: )
(略称: ) |
| 第29著者 氏名(和/英/ヨミ) |
/ / |
| 第29著者 所属(和/英) |
(略称: )
(略称: ) |
| 第30著者 氏名(和/英/ヨミ) |
/ / |
| 第30著者 所属(和/英) |
(略称: )
(略称: ) |
| 第31著者 氏名(和/英/ヨミ) |
/ / |
| 第31著者 所属(和/英) |
(略称: )
(略称: ) |
| 第32著者 氏名(和/英/ヨミ) |
/ / |
| 第32著者 所属(和/英) |
(略称: )
(略称: ) |
| 第33著者 氏名(和/英/ヨミ) |
/ / |
| 第33著者 所属(和/英) |
(略称: )
(略称: ) |
| 第34著者 氏名(和/英/ヨミ) |
/ / |
| 第34著者 所属(和/英) |
(略称: )
(略称: ) |
| 第35著者 氏名(和/英/ヨミ) |
/ / |
| 第35著者 所属(和/英) |
(略称: )
(略称: ) |
| 第36著者 氏名(和/英/ヨミ) |
/ / |
| 第36著者 所属(和/英) |
(略称: )
(略称: ) |
| 講演者 |
第1著者 |
| 発表日時 |
2017-03-09 11:50:00 |
| 発表時間 |
25分 |
| 申込先研究会 |
SS |
| 資料番号 |
SS2016-65 |
| 巻番号(vol) |
vol.116 |
| 号番号(no) |
no.512 |
| ページ範囲 |
pp.31-36 |
| ページ数 |
6 |
| 発行日 |
2017-03-02 (SS) |