Tweet | |
田中紘都, 柗本真佑, 楠本真二, "JavaのStream APIに対する並び替えリファクタリングの提案," 電子情報通信学会技術研究報告, 119(362), pp. 79-84, 2020年1月. | |
ID | 630 |
分類 | 研究会・全国大会等 |
タグ | |
表題 (title) |
JavaのStream APIに対する並び替えリファクタリングの提案 |
表題 (英文) |
|
著者名 (author) |
田中紘都, 柗本真佑, 楠本真二 |
英文著者名 (author) |
Hiroto Tanaka,Shinsuke Matsumoto,Shinji Kusumoto |
編者名 (editor) |
|
編者名 (英文) |
|
キー (key) |
Hiroto Tanaka,Shinsuke Matsumoto,Shinji Kusumoto |
書籍・会議録表題 (booktitle) |
電子情報通信学会技術研究報告 |
書籍・会議録表題(英文) |
|
巻数 (volume) |
119 |
号数 (number) |
362 |
ページ範囲 (pages) |
79-84 |
組織名 (organization) |
|
出版元 (publisher) |
|
出版元 (英文) |
|
出版社住所 (address) |
|
刊行月 (month) |
1 |
出版年 (year) |
2020 |
採択率 (acceptance) |
|
URL |
|
付加情報 (note) |
|
注釈 (annote) |
|
内容梗概 (abstract) |
JavaのStreamは複数要素に対する処理を実装する記法である.このような複数要素の操作は,プログラム全体の実行時間の大半を占め,さらに頻繁に行われる処理である.そのためStreamにおける処理の流れ,つまりAPIの呼び出し順序はプログラムの性能に影響を与える要因となる.そこで本研究では,プログラム実行速度の向上を目的とした,Stream APIの呼び出し順を並び替えるリファクタリング手法を提案する.提案手法では,Stream APIの性質と依存関係という2つの観点から各APIの組み合わせにおける入れ替え可能性を,APIの性質とステートフルなAPIかどうかの2点から実行速度面で適切なAPIの呼び出し順を体系化する.提案手法の有用性を評価する実験として,実際のプロジェクトにおいて誤用,つまり性能が低下する呼び出し順の事例がどの程度存在するかを調査した.結果として,可換なStream APIの組み合わせを使用している事例のうち,約20%の事例において誤用が存在した.また,本手法を実際のプロジェクトにおける8件の誤用事例に適用し,APIの並び替えによる性能変化を調査することで提案手法の有効性を評価した.実験結果として,いずれの事例においても実行速度の向上が見られ,最大で126msの実行時間が短縮された. |
論文電子ファイル | paper.pdf (application/pdf) [一般閲覧可] |
BiBTeXエントリ |
@inproceedings{id630, title = {JavaのStream APIに対する並び替えリファクタリングの提案}, author = {田中紘都 and 柗本真佑 and 楠本真二}, booktitle = {電子情報通信学会技術研究報告}, volume = {119}, number = {362}, pages = {79-84}, month = {1}, year = {2020}, } |