Filters








1,660 Hits in 7.5 sec

Recommending refactorings based on team co-maintenance patterns

Gabriele Bavota, Sebastiano Panichella, Nikolaos Tsantalis, Massimiliano Di Penta, Rocco Oliveto, Gerardo Canfora
2014 Proceedings of the 29th ACM/IEEE international conference on Automated software engineering - ASE '14  
In this paper we claim that an additional source of information for identifying refactoring opportunities, sometimes orthogonal to the ones mentioned above, is team development activity.  ...  /method/package-to adjust the design according to the teams' activity patterns.  ...  Nikolaos Tsantalis is partially funded by NSERC. Any opinions, findings, and conclusions expressed herein are the authors' and do not necessarily reflect those of the sponsors.  ... 
doi:10.1145/2642937.2642948 dblp:conf/kbse/BavotaPTPOC14 fatcat:uwlrfoonqvbw5e6ugoomwhn5g4

AntiCopyPaster: Extracting Code Duplicates As Soon As They Are Introduced in the IDE [article]

Eman Abdullah AlOmar, Anton Ivanov, Zarina Kurbatova, Yaroslav Golubev, Mohamed Wiem Mkaouer, Ali Ouni, Timofey Bryksin, Le Nguyen, Amit Kini, Aditya Thakur
2022 arXiv   pre-print
We developed a plugin for IntelliJ IDEA called AntiCopyPaster, which tracks the pasting of code fragments inside the IDE and suggests the appropriate Extract Method refactoring to combat the propagation  ...  Our experimental study on a large dataset of 18,942 code fragments mined from 13 Apache projects shows that AntiCopyPaster correctly recommends Extract Method refactorings with an F-score of 0.82.  ...  Refactoring Detection. To extract the entire refactoring history of each project, we used RefactoringMiner v2.0, 4 a widely-used refactoring detection tool introduced by Tsantalis et al. [21] .  ... 
arXiv:2112.15230v2 fatcat:wrdt5cnivbaejgh5sj5esb2tta

Why we refactor? confessions of GitHub contributors

Danilo Silva, Nikolaos Tsantalis, Marco Tulio Valente
2016 Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering - FSE 2016  
Extract Method is the most versatile refactoring operation serving 11 different purposes.  ...  Finally, we found evidence that the IDE used by the developers affects the adoption of automated refactoring tools.  ...  We gratefully thank the 222 developers who participated in our study.  ... 
doi:10.1145/2950290.2950305 dblp:conf/sigsoft/SilvaTV16 fatcat:gctc3yxu2jayfgo7y2lrozw7hi

An Initial Study on Refactoring Tactics

Hui Liu, Yuan Gao, Zhendong Niu
2012 2012 IEEE 36th Annual Computer Software and Applications Conference  
To answer these questions, we analyze refactoring histories collected by Eclipse Usage Data Collector (UDC). The data are collected from 753,367 engineers worldwide.  ...  We also find that some kinds of refactorings, e.g., Introduce Parameter, are more likely than others to be performed as root canal refactorings.  ...  [27] list and discuss four methods for refactoring identification: Mining the commit log, analyzing code histories, observing programmers, and mining refactoring tools.  ... 
doi:10.1109/compsac.2012.31 dblp:conf/compsac/LiuGN12 fatcat:kgh5kmqmync3hglwirb5qlusc4

Do Design Metrics Capture Developers Perception of Quality? An Empirical Study on Self-Affirmed Refactoring Activities

Eman AlOmar, Mohamed Wiem Mkaouer, Ali Ouni, Marouane Kessentini
2019 Zenodo  
Method. We extract a large corpus of design-related refactoring activities that are applied and documented by developers during their daily changes from 3,795 curated open source Java projects.  ...  Several studies attempted to detect refactoring activities through mining software repositories allowing to collect, analyze and get actionable data-driven insights about refactoring practices within software  ...  ACKNOWLEDGMENT We sincerely thank the authors of the refactoring mining tools that we have used in this study, for providing their tools open source and for allowing the community to benefit from them.  ... 
doi:10.5281/zenodo.3304796 fatcat:fcpimz3ivfab7h72hswyjurypa

Do Design Metrics Capture Developers Perception of Quality? An Empirical Study on Self-Affirmed Refactoring Activities [article]

Eman Abdullah AlOmar, Mohamed Wiem Mkaouer, Ali Ouni, Marouane Kessentini
2019 arXiv   pre-print
Method. We extract a large corpus of design-related refactoring activities that are applied and documented by developers during their daily changes from 3,795 curated open source Java projects.  ...  Several studies attempted to detect refactoring activities through mining software repositories allowing to collect, analyze and get actionable data-driven insights about refactoring practices within software  ...  ACKNOWLEDGMENT We sincerely thank the authors of the refactoring mining tools that we have used in this study, for providing their tools open source and for allowing the community to benefit from them.  ... 
arXiv:1907.04797v1 fatcat:ruan3lfawfhijkgamaqs7d2x6y

Supporting Refactoring Activities Using Histories of Program Modification

S. HAYASHI
2006 IEICE transactions on information and systems  
We consider that the histories of program modifications reflect developers' intentions, and focusing on them allows us to provide suitable refactoring guides.  ...  It selects refactoring operations by matching between a sequence of program modifications and modification patterns.  ...  In the offline approach, all or selected fragments of code are analyzed in order to find opportunities of all or selected refactorings when the developer wants to.  ... 
doi:10.1093/ietisy/e89-d.4.1403 fatcat:ha5slzzrjba4nlggocdexcko5u

Why Developers Refactor Source Code

Jevgenija Pantiuchina, Fiorella Zampetti, Simone Scalabrino, Valentina Piantadosi, Rocco Oliveto, Gabriele Bavota, Massimiliano Di Penta
2020 ACM Transactions on Software Engineering and Methodology  
Refactoring aims at improving code non-functional attributes without modifying its external behavior. Previous studies investigated the motivations behind refactoring by surveying developers.  ...  First, we mine 287,813 refactoring operations performed in the history of 150 systems.  ...  From a quantitative point of view, we mine the change history of 150 Java repositories hosted on GitHub to extract 287,813 refactoring operations of 25 different types performed by developers through the  ... 
doi:10.1145/3408302 fatcat:d2drsh423rbqfdhif33jybmfuq

Does Automated Refactoring Obviate Systematic Editing?

Lisa Hua, Miryung Kim, Kathryn S. McKinley
2015 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering  
RASE (1) extracts common code guided by a systematic edit; (2) creates new types and methods as needed; (3) parameterizes differences in types, methods, variables, and expressions; and (4) inserts return  ...  We find that scoping refactoring based on systematic edits (58%), rather than the entire method (33%), increases the applicability of automated clone removal.  ...  This work was supported in part by the National Science Foundation under grants CCF-1149391, CCF-1117902, SHF-0910818, CCF-1018271, CCF-0811524, CNS-1239498, and a Google Faculty Award.  ... 
doi:10.1109/icse.2015.58 dblp:conf/icse/HuaKM15 fatcat:2xfetl6xkvdjjhcy2ydkuhmv3i

Improving multi-objective code-smells correction using development history

Ali Ouni, Marouane Kessentini, Houari Sahraoui, Katsuro Inoue, Mohamed Salah Hamdi
2015 Journal of Systems and Software  
We propose a multi-objective optimization-based approach to find good refactoring sequences that (1) minimize the number of code-smells, and (2) maximize the use of development history while (3) preserving  ...  Still, development history is not widely explored in the context of automated software refactoring.  ...  Acknowledgements This work is partially supported by Japan Society for the Promotion of Science, Grant-in-Aid for Scientific Research (S) (No. 25220003), and also by Osaka University Program for Promoting  ... 
doi:10.1016/j.jss.2015.03.040 fatcat:itujkbxyb5dmdop7efnxt7bove

An Exploratory Study on the Relationship between Changes and Refactoring

Fabio Palomba, Andy Zaidman, Rocco Oliveto, Andrea De Lucia
2017 2017 IEEE/ACM 25th International Conference on Program Comprehension (ICPC)  
However, these findings have been derived by surveying developers, and therefore no software repository study has been carried out to corroborate the achieved findings.  ...  in the requirements rather than driven by software quality.  ...  To this aim, she applied an extract method refactoring in order to extract from the method handleInput (i.e., the method in charge of analyzing the input of the project) the part related to the management  ... 
doi:10.1109/icpc.2017.38 dblp:conf/iwpc/PalombaZOL17 fatcat:zp5m5on5u5bb5busbh5j5e7zxu

Investigating the evolution of code smells in object-oriented systems

Alexander Chatzigeorgiou, Anastasios Manakos
2013 Innovations in Systems and Software Engineering  
In contrast to previous studies that investigate the application of refactorings in the history of a software project, we attempt to analyze the evolution from the point of view of the problems themselves  ...  This paper, taking advantage of recent advances and tools in the identification of non-trivial code smells, explores the presence and evolution of such problems by analyzing past versions of code.  ...  Acknowledgments This work has been partially funded by the Research Committee of the University of Macedonia, Greece.  ... 
doi:10.1007/s11334-013-0205-z fatcat:mq4bbr2rzrcjbd57ww22poroam

Investigating the Evolution of Bad Smells in Object-Oriented Code

Alexander Chatzigeorgiou, Anastasios Manakos
2010 2010 Seventh International Conference on the Quality of Information and Communications Technology  
In contrast to previous studies that investigate the application of refactorings in the history of a software project, we attempt to study the subject from the point of view of the problems themselves  ...  This paper, taking advantage of recent advances and tools in the identification of non-trivial bad smells, explores the presence and evolution of such problems by analyzing past versions of code.  ...  JDeodorant identifies Long Method bad smells and in particular detects refactoring opportunities which a) extract the complete computation of a given variable into a new method [25] and, b) extract the  ... 
doi:10.1109/quatic.2010.16 dblp:conf/quatic/ChatzigeorgiouM10 fatcat:26bvcbfjwbcsxnendbzkjpdqou

An empirical investigation into the impact of refactoring on regression testing

Napol Rachatasumrit, Miryung Kim
2012 2012 28th IEEE International Conference on Software Maintenance (ICSM)  
The results on three open source projects, JMeter, XMLSecurity, and ANT, show that only 22% of refactored methods and fields are tested by existing regression tests.  ...  This paper investigates the impact of refactoring edits on regression tests using the version history of Java open source projects: (1) Are there adequate regression tests for refactoring in practice?  ...  ACKNOWLEDGMENT We thank Lingming Zhang for his help with running FaultTracer and analyzing its results.  ... 
doi:10.1109/icsm.2012.6405293 dblp:conf/icsm/RachatasumritK12 fatcat:sbtiwjinr5fa3gzsl7zc2l45fe

Automatic Clone Recommendation for Refactoring Based on the Present and the Past [article]

Ruru Yue, Zhe Gao, Na Meng, Yingfei Xiong, Xiaoyin Wang, J. David Morgenthaler
2018 arXiv   pre-print
This paper introduces CREC, a learning-based approach that recommends clones by extracting features from the current status and past history of software projects.  ...  To help developers refactor code and improve software quality, various tools were built to recommend clone-removal refactorings based on the past and the present information, such as the cohesion degree  ...  Our intuition is that by extracting as many features as possible to reflect the present status and history of programs, we can capture the factors that may affect developers' refactoring decisions, and  ... 
arXiv:1807.11184v1 fatcat:7fhxgtm6fbfj7bqm42vg2ubimq
« Previous Showing results 1 — 15 out of 1,660 results