Tweet | |
J. Yang, K. Hotta, Y. Higo, and S. Kusumoto, "Identifying Cross-Function Side Effects Using Static Analysis," In 電子情報通信学会技術研究報告, 114(23), pp. 25-30, May 2014. | |
ID | 364 |
分類 | 研究会・全国大会等 |
タグ | analysis cross-function effects identifying side static |
表題 (title) |
Identifying Cross-Function Side Effects Using Static Analysis |
表題 (英文) |
|
著者名 (author) |
Jiachen Yang, Keisuke Hotta, Yoshiki Higo, Shinji Kusumoto |
英文著者名 (author) |
Jiachen Yang,Keisuke Hotta,Yoshiki Higo,Shinji Kusumoto |
編者名 (editor) |
|
編者名 (英文) |
|
キー (key) |
Jiachen Yang,Keisuke Hotta,Yoshiki Higo,Shinji Kusumoto |
書籍・会議録表題 (booktitle) |
電子情報通信学会技術研究報告 |
書籍・会議録表題(英文) |
IEICE Technical Report |
巻数 (volume) |
114 |
号数 (number) |
23 |
ページ範囲 (pages) |
25-30 |
組織名 (organization) |
|
出版元 (publisher) |
|
出版元 (英文) |
|
出版社住所 (address) |
|
刊行月 (month) |
5 |
出版年 (year) |
2014 |
採択率 (acceptance) |
|
URL |
|
付加情報 (note) |
|
注釈 (annote) |
|
内容梗概 (abstract) |
Side effects are modifications done to the state of the objects
in Object-Oriented Programming languages such as Java. Side effects can happen across the boundary of the functions, therefore they are important properties that often be neglected by the documentations. In this paper, we studied the side effects of functions by using a static analysis method to automatically infer the state dependencies for the return value and side effects of functions. We also present a set of annotations to document these state dependencies. As a result, the annotations presented in this paper reveals well-defined state interactions between objects. These annotations can be used in further investigations by both programmers and tools. We have implemented the analysis method targeting Java bytecode and tested it on vary-sized open source Java software libraries. From our experimental results, we found that 25-33% of the functions in the evaluated open source Java libraries are pure functions, which indicates that a large percentage of the functions is suitable for high level refactoring. And we present a case study of equals and hashCode functions to show the importance of our method in real world programming tasks. |
論文電子ファイル | purano.pdf (application/pdf) [一般閲覧可] |
BiBTeXエントリ |
@inproceedings{id364, title = {Identifying Cross-Function Side Effects using Static Analysis}, author = {Jiachen Yang and Keisuke Hotta and Yoshiki Higo and Shinji Kusumoto}, booktitle = {電子情報通信学会技術研究報告}, volume = {114}, number = {23}, pages = {25-30}, month = {5}, year = {2014}, } |