2019 IEEE/ACM 3rd International Workshop on Refactoring (IWoR)最新文献

筛选
英文 中文
GodExpo: An Automated God Structure Detection Tool for Golang GodExpo: Golang的神结构自动检测工具
2019 IEEE/ACM 3rd International Workshop on Refactoring (IWoR) Pub Date : 2019-05-28 DOI: 10.1109/IWoR.2019.00016
Rafed Muhammad Yasir, Moumita Asad, A. Galib, Kishan Kumar Ganguly, Md. Saeed Siddik
{"title":"GodExpo: An Automated God Structure Detection Tool for Golang","authors":"Rafed Muhammad Yasir, Moumita Asad, A. Galib, Kishan Kumar Ganguly, Md. Saeed Siddik","doi":"10.1109/IWoR.2019.00016","DOIUrl":"https://doi.org/10.1109/IWoR.2019.00016","url":null,"abstract":"God Class is a class that threatens maintainability and understandability of code by performing most of the work alone. Various tools exist that can detect God Class of Java or C++ programs, however, there is no existing tool for detecting God Class(Structure) in Golang. Although Golang is not an object-oriented language, it offers structures which are similar to classes in OOP as they can contain fields and methods. Unlike OOP, methods of a structure can be defined on any file in the package of Golang. This paper presents a tool entitled GodExpo to detect God Structures in Golang programs by calculating metrics namely Weighted Method Count, Tight Class Cohesion, and Access to Foreign Data. In addition, GodExpo can provide version wise result to observe the evolution of God structures. To evaluate GodExpo, an experiment has been conducted on several versions of two open source Golang projects and the tool successfully found God structures in all versions of those projects.","PeriodicalId":393051,"journal":{"name":"2019 IEEE/ACM 3rd International Workshop on Refactoring (IWoR)","volume":"19 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133521249","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 4
Toward Proactive Refactoring: An Exploratory Study on Decaying Modules 面向主动重构:衰落模块的探索性研究
2019 IEEE/ACM 3rd International Workshop on Refactoring (IWoR) Pub Date : 2019-05-28 DOI: 10.1109/IWoR.2019.00015
Natthawute Sae-Lim, Shinpei Hayashi, M. Saeki
{"title":"Toward Proactive Refactoring: An Exploratory Study on Decaying Modules","authors":"Natthawute Sae-Lim, Shinpei Hayashi, M. Saeki","doi":"10.1109/IWoR.2019.00015","DOIUrl":"https://doi.org/10.1109/IWoR.2019.00015","url":null,"abstract":"Source code quality is often measured using code smell, which is an indicator of design flaw or problem in the source code. Code smells can be detected using tools such as static analyzer that detects code smells based on source code metrics. Further, developers perform refactoring activities based on the result of such detection tools to improve source code quality. However, such approach can be considered as reactive refactoring, i.e., developers react to code smells after they occur. This means that developers first suffer the effects of low quality source code (e.g., low readability and understandability) before they start solving code smells. In this study, we focus on proactive refactoring, i.e., refactoring source code before it becomes smelly. This approach would allow developers to maintain source code quality without having to suffer the impact of code smells. To support the proactive refactoring process, we propose a technique to detect decaying modules, which are non-smelly modules that are about to become smelly. We present empirical studies on open source projects with the aim of studying the characteristics of decaying modules. Additionally, to facilitate developers in the refactoring planning process, we perform a study on using a machine learning technique to predict decaying modules and report a factor that contributes most to the performance of the model under consideration.","PeriodicalId":393051,"journal":{"name":"2019 IEEE/ACM 3rd International Workshop on Refactoring (IWoR)","volume":"48 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132436286","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 5
Are Monitoring Crosscutting Concerns Really Refactorable into Aspects? An Empirical Study 监视横切关注点真的可以重构成方面吗?实证研究
2019 IEEE/ACM 3rd International Workshop on Refactoring (IWoR) Pub Date : 2019-05-28 DOI: 10.1109/IWoR.2019.00018
G. Cojocar, A. Guran
{"title":"Are Monitoring Crosscutting Concerns Really Refactorable into Aspects? An Empirical Study","authors":"G. Cojocar, A. Guran","doi":"10.1109/IWoR.2019.00018","DOIUrl":"https://doi.org/10.1109/IWoR.2019.00018","url":null,"abstract":"Monitoring concerns' implementation crosscuts a software's system core concerns' implementation, leading to difficult to maintain and understand source code. Other paradigms have been proposed for crosscutting concerns implementation that should improve the understandability and maintainability of the software system. However, can we easily refactor monitoring concerns implementation in order to implement them using these paradigms? How will the new implementation affect the software system's source code? In this paper we present our study of monitoring concerns implementation in Java-based software systems, from the point of view of refactoring into aspects. We discuss the challenges that have to be overcome and how will the refactoring impact important characteristics of the overall system.","PeriodicalId":393051,"journal":{"name":"2019 IEEE/ACM 3rd International Workshop on Refactoring (IWoR)","volume":"118 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127961189","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Proactive Clone Recommendation System for Extract Method Refactoring 用于提取方法重构的主动克隆推荐系统
2019 IEEE/ACM 3rd International Workshop on Refactoring (IWoR) Pub Date : 2019-05-28 DOI: 10.1109/IWoR.2019.00020
Norihiro Yoshida, Seiya Numata, Eunjong Choi, Katsuro Inoue
{"title":"Proactive Clone Recommendation System for Extract Method Refactoring","authors":"Norihiro Yoshida, Seiya Numata, Eunjong Choi, Katsuro Inoue","doi":"10.1109/IWoR.2019.00020","DOIUrl":"https://doi.org/10.1109/IWoR.2019.00020","url":null,"abstract":"Extract Method refactoring is commonly used for merging code clones into a single new method. In this position paper, we propose a proactive clone recommendation system for \"Extract Method\" refactoring. The proposed system that has been implemented as Eclipse plug-in monitors code modifications on the fly. Once the proposed system detects an \"Extract Method\" refactoring instance based on the analysis of code modifications, it recommends code clones of the refactored code as refactoring candidates. The preliminary user study shows that the users are able to refactor a greater number of clones in less time compared to a code clone analysis environment GemX.","PeriodicalId":393051,"journal":{"name":"2019 IEEE/ACM 3rd International Workshop on Refactoring (IWoR)","volume":"2016 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130748455","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 7
Evaluation of Move Method Refactorings Recommendation Algorithms: Are We Doing It Right? 移动方法重构推荐算法的评价:我们做得对吗?
2019 IEEE/ACM 3rd International Workshop on Refactoring (IWoR) Pub Date : 2019-05-28 DOI: 10.1109/IWoR.2019.00012
Evgenii Novozhilov, Ivan Veselov, Mikhail Pravilov, T. Bryksin
{"title":"Evaluation of Move Method Refactorings Recommendation Algorithms: Are We Doing It Right?","authors":"Evgenii Novozhilov, Ivan Veselov, Mikhail Pravilov, T. Bryksin","doi":"10.1109/IWoR.2019.00012","DOIUrl":"https://doi.org/10.1109/IWoR.2019.00012","url":null,"abstract":"Previous studies introduced various techniques for detecting Move Method refactoring opportunities. However, different authors have different evaluations, which leads to the fact that results reported by different papers do not correlate with each other and it is almost impossible to understand which algorithm works better in practice. In this paper, we provide an overview of existing evaluation approaches for Move Method refactoring recommendation algorithms, as well as discuss their advantages and disadvantages. We propose a tool that can be used for generating large synthetic datasets suitable for both algorithms evaluation and building complex machine learning models for Move Method refactoring recommendation.","PeriodicalId":393051,"journal":{"name":"2019 IEEE/ACM 3rd International Workshop on Refactoring (IWoR)","volume":"37 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128343029","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 3
ToLambda--Automatic Path to Serverless Architectures ToLambda——通往无服务器架构的自动路径
2019 IEEE/ACM 3rd International Workshop on Refactoring (IWoR) Pub Date : 2019-05-28 DOI: 10.1109/IWoR.2019.00008
Alex Kaplunovich
{"title":"ToLambda--Automatic Path to Serverless Architectures","authors":"Alex Kaplunovich","doi":"10.1109/IWoR.2019.00008","DOIUrl":"https://doi.org/10.1109/IWoR.2019.00008","url":null,"abstract":"Serverless architectures are becoming computing standard and best practice. It is inevitable that more and more software systems will embrace the trend. Our tool toLambda provides automatic conversion of Java monolith application code into AWS Lambda Node.js microservices. During the refactoring, we provide assorted useful transformations of the original code and generate all the necessary artifacts to deploy the generated functions to the Cloud. In this paper we will describe the challenges we have faced including parsing, transformation, performance and testing. We will also underline the advantages of serverless compared to other architectures. Our approach will help to migrate systems to serverless microservices easier and faster.","PeriodicalId":393051,"journal":{"name":"2019 IEEE/ACM 3rd International Workshop on Refactoring (IWoR)","volume":"90 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124633833","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 6
On the Alternatives for Composing Batch Refactoring 关于组合批重构的备选方案
2019 IEEE/ACM 3rd International Workshop on Refactoring (IWoR) Pub Date : 2019-05-28 DOI: 10.1109/IWoR.2019.00009
Eduardo Fernandes, Anderson G. Uchôa, Ana Carla Bibiano, Alessandro F. Garcia
{"title":"On the Alternatives for Composing Batch Refactoring","authors":"Eduardo Fernandes, Anderson G. Uchôa, Ana Carla Bibiano, Alessandro F. Garcia","doi":"10.1109/IWoR.2019.00009","DOIUrl":"https://doi.org/10.1109/IWoR.2019.00009","url":null,"abstract":"Code refactoring is often performed for improving code structures through code transformations. Many transformations, e.g., extracting or moving a method, are applied for at least partially removing code smells. Each code smell is a symptom of a poor code structure that makes hard to read and change the program. Developers often compose two or more interrelated transformations in conjunction (batch refactoring) rather than applying a single transformation. For instance, developers often compose method extractions with method motions to better organize the features realized by classes. We have recently observed cases of batch refactoring performed along with code review in open source projects. We then noticed that composing batches capable of fully removing code smells is quite challenging. Especially, it requires carefully discussing on how two or more transformations complement one another and what to expect from the batch effect on code smell. This position aims to reason about multiple alternatives to support developers on composing their batches. These alternatives should make it easier to compose batches that remove code smells. For this purpose, we exemplify the role of semi-automated tools in gradually recommending transformations, thereby guiding the batch composition in each alternative.","PeriodicalId":393051,"journal":{"name":"2019 IEEE/ACM 3rd International Workshop on Refactoring (IWoR)","volume":"24 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114626268","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 10
Refactoring-Aware Code Review: A Systematic Mapping Study 重构感知代码审查:系统映射研究
2019 IEEE/ACM 3rd International Workshop on Refactoring (IWoR) Pub Date : 2019-05-28 DOI: 10.1109/IWoR.2019.00019
Flavia Coelho, T. Massoni, Everton L. G. Alves
{"title":"Refactoring-Aware Code Review: A Systematic Mapping Study","authors":"Flavia Coelho, T. Massoni, Everton L. G. Alves","doi":"10.1109/IWoR.2019.00019","DOIUrl":"https://doi.org/10.1109/IWoR.2019.00019","url":null,"abstract":"Modern Code Review (MCR) demands enhancements in the way change logs are presented to reviewers. Their task benefits from higher-level descriptions about the intention behind commits; for instance, evolution tasks, such as refactorings, could be more effectively reviewed in the presence of the intended transformation – better if automatically detected by MCR tool support. This paper presents a systematic literature mapping (combining results from search strings, snowballing and a two-phase classification scheme) on refactoring-aware solutions to support MCR. We could observe that, since 2015, interest in tools and techniques for automatic detection of refactorings has been steadily growing. Most publications refer to new development methods or carry out characterisation studies. As a consequence of this overview, we point out a few potential research topics for the next years. In special, detection of multiple refactoring types in a mixed change log (in which refactorings are combined with other kinds of changes), or the need for case studies or experiments in applying refactoring detection in MCR, on distinct application domains and development environments.","PeriodicalId":393051,"journal":{"name":"2019 IEEE/ACM 3rd International Workshop on Refactoring (IWoR)","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131293686","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 10
Message from the IWOR 2019 Workshop Chairs 2019年IWOR研讨会主席致辞
2019 IEEE/ACM 3rd International Workshop on Refactoring (IWoR) Pub Date : 2019-05-01 DOI: 10.1109/iwor.2019.00005
{"title":"Message from the IWOR 2019 Workshop Chairs","authors":"","doi":"10.1109/iwor.2019.00005","DOIUrl":"https://doi.org/10.1109/iwor.2019.00005","url":null,"abstract":"","PeriodicalId":393051,"journal":{"name":"2019 IEEE/ACM 3rd International Workshop on Refactoring (IWoR)","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125308028","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
ROTOR: A Tool for Renaming Values in OCaml's Module System 一个在OCaml的模块系统中重命名值的工具
2019 IEEE/ACM 3rd International Workshop on Refactoring (IWoR) Pub Date : 2019-05-01 DOI: 10.1109/IWoR.2019.00013
R. Rowe, Hugo Férée, S. Thompson, Scott Owens
{"title":"ROTOR: A Tool for Renaming Values in OCaml's Module System","authors":"R. Rowe, Hugo Férée, S. Thompson, Scott Owens","doi":"10.1109/IWoR.2019.00013","DOIUrl":"https://doi.org/10.1109/IWoR.2019.00013","url":null,"abstract":"The functional programming paradigm presents its own unique challenges to refactoring. For the OCaml language in particular, the expressiveness of its module system makes this a highly non-trivial task and there is currently no automated support for large-scale refactoring in the OCaml language. We present ROTOR, a tool for automatically renaming top-level value definitions in OCaml's module system. To compute the effect of renaming, ROTOR relies on a novel concept which we call a value extension. This is a collection of related declarations in a program that must all be renamed at once. In practice, this leads to a notion of dependency: renaming a function 'foo' in module A (mutually) depends on renaming function 'foo' in module B etc. We describe important aspects of ROTOR's design, implementation, and evaluation on two large codebases: Jane Street's core library and its dependencies, and the OCaml compiler itself. In these real-world settings we find that some cases involve a surprisingly complex network of dependencies, and that the use of the PPX preprocessor system presents significant challenges.","PeriodicalId":393051,"journal":{"name":"2019 IEEE/ACM 3rd International Workshop on Refactoring (IWoR)","volume":"32 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125394396","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 2
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
相关产品
×
本文献相关产品
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信