RePOR: Mimicking humans on refactoring tasks. Are we there yet?
Refactoring is a maintenance activity that aims to improve design quality while preserving the behavior of a system. Several (semi)automated approaches have been proposed to support developers in this maintenance activity, based on the correction of anti-patterns, which are “poor” solutions to recur...
Saved in:
| Published in: | Empirical software engineering : an international journal Vol. 25; no. 4; pp. 2960 - 2996 |
|---|---|
| Main Authors: | , , |
| Format: | Journal Article |
| Language: | English |
| Published: |
New York
Springer US
01.07.2020
Springer Nature B.V |
| Subjects: | |
| ISSN: | 1382-3256, 1573-7616 |
| Online Access: | Get full text |
| Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
| Abstract | Refactoring is a maintenance activity that aims to improve design quality while preserving the behavior of a system. Several (semi)automated approaches have been proposed to support developers in this maintenance activity, based on the correction of anti-patterns, which are “poor” solutions to recurring design problems. However, little quantitative evidence exists about the impact of automatically refactored code on program comprehension, and in which context automated refactoring can be as effective as manual refactoring. Leveraging RePOR, an automated refactoring approach based on partial order reduction techniques, we performed an empirical study to investigate whether automated refactoring code structure affects the understandability of systems during comprehension tasks. (1) We surveyed 80 developers, asking them to identify from a set of 20 refactoring changes if they were generated by developers or by a tool, and to rate the refactoring changes according to their design quality; (2) we asked 30 developers to complete code comprehension tasks on 10 systems that were refactored by either a freelancer or an automated refactoring tool. To make comparison fair, for a subset of refactoring actions that introduce new code entities, only synthetic identifiers were presented to practitioners. We measured developers’ performance using the NASA task load index for their effort, the time that they spent performing the tasks, and their percentages of correct answers. Our findings, despite current technology limitations, show that it is reasonable to expect a refactoring tools to match developer code. Indeed, results show that for 3 out of the 5 anti-pattern types studied, developers could not recognize the origin of the refactoring (i.e., whether it was performed by a human or an automatic tool). We also observed that developers do not prefer human refactorings over automated refactorings, except when refactoring Blob classes; and that there is no statistically significant difference between the impact on code understandability of human refactorings and automated refactorings. We conclude that automated refactorings can be as effective as manual refactorings. However, for complex anti-patterns types like the Blob, the perceived quality achieved by developers is slightly higher. |
|---|---|
| AbstractList | Refactoring is a maintenance activity that aims to improve design quality while preserving the behavior of a system. Several (semi)automated approaches have been proposed to support developers in this maintenance activity, based on the correction of anti-patterns, which are “poor” solutions to recurring design problems. However, little quantitative evidence exists about the impact of automatically refactored code on program comprehension, and in which context automated refactoring can be as effective as manual refactoring. Leveraging RePOR, an automated refactoring approach based on partial order reduction techniques, we performed an empirical study to investigate whether automated refactoring code structure affects the understandability of systems during comprehension tasks. (1) We surveyed 80 developers, asking them to identify from a set of 20 refactoring changes if they were generated by developers or by a tool, and to rate the refactoring changes according to their design quality; (2) we asked 30 developers to complete code comprehension tasks on 10 systems that were refactored by either a freelancer or an automated refactoring tool. To make comparison fair, for a subset of refactoring actions that introduce new code entities, only synthetic identifiers were presented to practitioners. We measured developers’ performance using the NASA task load index for their effort, the time that they spent performing the tasks, and their percentages of correct answers. Our findings, despite current technology limitations, show that it is reasonable to expect a refactoring tools to match developer code. Indeed, results show that for 3 out of the 5 anti-pattern types studied, developers could not recognize the origin of the refactoring (i.e., whether it was performed by a human or an automatic tool). We also observed that developers do not prefer human refactorings over automated refactorings, except when refactoring Blob classes; and that there is no statistically significant difference between the impact on code understandability of human refactorings and automated refactorings. We conclude that automated refactorings can be as effective as manual refactorings. However, for complex anti-patterns types like the Blob, the perceived quality achieved by developers is slightly higher. |
| Author | Khomh, Foutse Morales, Rodrigo Antoniol, Giuliano |
| Author_xml | – sequence: 1 givenname: Rodrigo orcidid: 0000-0002-1350-0560 surname: Morales fullname: Morales, Rodrigo email: rodrigomorales2@acm.org organization: Department of Computer Science and Software Engineering, Concordia University – sequence: 2 givenname: Foutse surname: Khomh fullname: Khomh, Foutse organization: Département de génie informatique et génie logiciel, École Polytechnique de Montréal – sequence: 3 givenname: Giuliano surname: Antoniol fullname: Antoniol, Giuliano organization: Département de génie informatique et génie logiciel, École Polytechnique de Montréal |
| BookMark | eNp9kMtKAzEUhoNUsK2-gKsB16m5p-OmlOINKpWi65BJz9jpZaYmKdK3N3UEwUVX53Dyf8nJ10OduqkBoWtKBpQQfRsoUUpgwggm-ZAprM9Ql0rNsVZUdVLPhwxzJtUF6oWwIoTkWsguGs3hdTa_y16qbeXWVf2RLfdbW4esqTMPpXWx8cdptGEdBtnYQ_YFWVxCag4QR5fovLSbAFe_tY_eH-7fJk94Ont8noyn2HGaR7wotLXCFaLkjtHC5awE5RY2z4vS6YLqUgKVciGY1dwKDRqkTicgtOQkV7yPbtp7d7753EOIZtXsfZ2eNExQzrhI_0wp1qacb0JI-5udr7bWHwwl5ijKtKJMEmV-RBmdoOE_yFXRxqqpo7fV5jTKWzTsjpbA_211gvoGvkh-JQ |
| CitedBy_id | crossref_primary_10_1016_j_jss_2024_112059 crossref_primary_10_1007_s11704_022_2313_0 crossref_primary_10_1007_s10664_024_10517_w |
| Cites_doi | 10.1109/TSE.2008.26 10.1109/TSE.2009.50 10.1109/CSMR.2012.15 10.1109/ICSM.2002.1167822 10.1109/TSE.2011.41 10.1016/j.jss.2016.05.042 10.1109/ICSM.2004.1357820 10.1016/j.jss.2015.03.040 10.1016/S0164-1212(03)00240-1 10.1145/3196321.3196362 10.1145/152388.152389 10.1007/978-1-4020-6710-5_3 10.1109/ICSM.2015.7332494 10.1109/ICSE.2012.6227211 10.1201/9781420036268 10.1007/978-3-642-39038-8_23 10.1007/978-3-642-29044-2 10.1109/ICSM.2006.52 10.1109/ICSE.2009.5070510 10.1145/2685612 10.4324/9781315806730 10.1016/j.jss.2018.07.076 10.1109/ICSE.2012.6227190 10.1145/3196321.3196334 10.1109/CSMR.2011.24 10.1109/TSE.2004.1265817 10.1109/ICSE.1994.296790 10.1109/MS.2008.123 10.1007/978-3-540-85279-7_20 10.1109/SANER.2016.23 10.1109/TSE.2014.2318734 10.1109/ICSME.2014.32 |
| ContentType | Journal Article |
| Copyright | Springer Science+Business Media, LLC, part of Springer Nature 2020 Springer Science+Business Media, LLC, part of Springer Nature 2020. |
| Copyright_xml | – notice: Springer Science+Business Media, LLC, part of Springer Nature 2020 – notice: Springer Science+Business Media, LLC, part of Springer Nature 2020. |
| DBID | AAYXX CITATION 7SC 8FD 8FE 8FG ABJCF AFKRA ARAPS BENPR BGLVJ CCPQU DWQXO HCIFZ JQ2 L6V L7M L~C L~D M7S P5Z P62 PHGZM PHGZT PKEHL PQEST PQGLB PQQKQ PQUKI PRINS PTHSS S0W |
| DOI | 10.1007/s10664-020-09826-7 |
| DatabaseName | CrossRef Computer and Information Systems Abstracts Technology Research Database ProQuest SciTech Collection ProQuest Technology Collection Materials Science & Engineering Collection ProQuest Central UK/Ireland Advanced Technologies & Computer Science Collection ProQuest Central Technology Collection ProQuest One Community College ProQuest Central SciTech Premium Collection ProQuest Computer Science Collection ProQuest Engineering Collection Advanced Technologies Database with Aerospace Computer and Information Systems Abstracts Academic Computer and Information Systems Abstracts Professional Engineering Database ProQuest advanced technologies & aerospace journals ProQuest Advanced Technologies & Aerospace Collection ProQuest Central Premium ProQuest One Academic (New) ProQuest One Academic Middle East (New) ProQuest One Academic Eastern Edition (DO NOT USE) ProQuest One Applied & Life Sciences ProQuest One Academic (retired) ProQuest One Academic UKI Edition ProQuest Central China Engineering collection DELNET Engineering & Technology Collection |
| DatabaseTitle | CrossRef Technology Collection Technology Research Database Computer and Information Systems Abstracts – Academic ProQuest One Academic Middle East (New) ProQuest Advanced Technologies & Aerospace Collection ProQuest Computer Science Collection Computer and Information Systems Abstracts SciTech Premium Collection ProQuest One Community College ProQuest Central China ProQuest Central ProQuest One Applied & Life Sciences ProQuest Engineering Collection ProQuest Central Korea ProQuest Central (New) Advanced Technologies Database with Aerospace Engineering Collection Advanced Technologies & Aerospace Collection Engineering Database ProQuest One Academic Eastern Edition ProQuest Technology Collection ProQuest SciTech Collection Computer and Information Systems Abstracts Professional Advanced Technologies & Aerospace Database ProQuest One Academic UKI Edition ProQuest DELNET Engineering and Technology Collection Materials Science & Engineering Collection ProQuest One Academic ProQuest One Academic (New) |
| DatabaseTitleList | Technology Collection |
| Database_xml | – sequence: 1 dbid: BENPR name: ProQuest Central url: https://www.proquest.com/central sourceTypes: Aggregation Database |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Computer Science |
| EISSN | 1573-7616 |
| EndPage | 2996 |
| ExternalDocumentID | 10_1007_s10664_020_09826_7 |
| GroupedDBID | -4Z -59 -5G -BR -EM -Y2 -~C .86 .DC .VR 06D 0R~ 0VY 199 1N0 1SB 2.D 203 28- 29G 2J2 2JN 2JY 2KG 2LR 2P1 2VQ 2~H 30V 4.4 406 408 409 40D 40E 5GY 5QI 5VS 67Z 6NX 78A 8FE 8FG 8TC 8UJ 95- 95. 95~ 96X AABHQ AACDK AAHNG AAIAL AAJBT AAJKR AANZL AAOBN AARHV AARTL AASML AATNV AATVU AAUYE AAWCG AAYIU AAYOK AAYQN AAYTO AAYZH ABAKF ABBBX ABBXA ABDZT ABECU ABFTD ABFTV ABHLI ABHQN ABJCF ABJNI ABJOX ABKCH ABKTR ABMNI ABMQK ABNWP ABQBU ABQSL ABSXP ABTEG ABTHY ABTKH ABTMW ABULA ABWNU ABXPI ACAOD ACBXY ACDTI ACGFS ACHSB ACHXU ACIWK ACKNC ACMDZ ACMLO ACOKC ACOMO ACPIV ACSNA ACZOJ ADHHG ADHIR ADIMF ADINQ ADKNI ADKPE ADRFC ADTPH ADURQ ADYFF ADZKW AEBTG AEFIE AEFQL AEGAL AEGNC AEJHL AEJRE AEKMD AEMSY AENEX AEOHA AEPYU AESKC AETLH AEVLU AEXYK AFBBN AFEXP AFGCZ AFKRA AFLOW AFQWF AFWTZ AFZKB AGAYW AGDGC AGGDS AGJBK AGMZJ AGQEE AGQMX AGRTI AGWIL AGWZB AGYKE AHAVH AHBYD AHKAY AHSBF AHYZX AIAKS AIGIU AIIXL AILAN AITGF AJBLW AJRNO AJZVZ ALMA_UNASSIGNED_HOLDINGS ALWAN AMKLP AMXSW AMYLF AMYQR AOCGG ARAPS ARMRJ ASPBG AVWKF AXYYD AYJHY AZFZN B-. BA0 BBWZM BDATZ BENPR BGLVJ BGNMA BSONS CAG CCPQU COF CS3 CSCUP DDRTE DL5 DNIVK DPUIP DU5 EBLON EBS EIOEI EJD ESBYG FEDTE FERAY FFXSO FIGPU FINBP FNLPD FRRFC FSGXE FWDCC GGCAI GGRSB GJIRD GNWQR GQ6 GQ7 GQ8 GXS H13 HCIFZ HF~ HG5 HG6 HMJXF HQYDN HRMNR HVGLF HZ~ I09 IHE IJ- IKXTQ ITM IWAJR IXC IZIGR IZQ I~X I~Z J-C J0Z JBSCW JCJTX JZLTJ KDC KOV KOW L6V LAK LLZTM M4Y M7S MA- N2Q NB0 NDZJH NPVJJ NQJWS NU0 O9- O93 O9G O9I O9J OAM P19 P62 P9O PF0 PT4 PT5 PTHSS Q2X QOK QOS R4E R89 R9I RHV RNI RNS ROL RPX RSV RZC RZE RZK S0W S16 S1Z S26 S27 S28 S3B SAP SCJ SCLPG SCO SDH SDM SHX SISQX SJYHP SNE SNPRN SNX SOHCF SOJ SPISZ SRMVM SSLCW STPWE SZN T13 T16 TSG TSK TSV TUC U2A UG4 UOJIU UTJUX UZXMN VC2 VFIZW W23 W48 WK8 YLTOR Z45 Z7R Z7S Z7V Z7X Z7Z Z81 Z83 Z86 Z88 Z8M Z8N Z8P Z8R Z8T Z8U Z8W Z92 ZMTXR ~EX AAPKM AAYXX ABBRH ABDBE ABFSG ABRTQ ACSTC ADHKG AEZWR AFDZB AFFHD AFHIU AFOHR AGQPQ AHPBZ AHWEU AIXLP ATHPR AYFIA CITATION PHGZM PHGZT PQGLB 7SC 8FD DWQXO JQ2 L7M L~C L~D PKEHL PQEST PQQKQ PQUKI PRINS |
| ID | FETCH-LOGICAL-c319t-db7aa4cb4f3c21bc92fe6cda99bfc7b17f5e155d42a73a47e7e57fc7e47530963 |
| IEDL.DBID | P5Z |
| ISICitedReferencesCount | 3 |
| ISICitedReferencesURI | http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000539338800001&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| ISSN | 1382-3256 |
| IngestDate | Tue Dec 02 15:53:32 EST 2025 Tue Nov 18 22:38:14 EST 2025 Sat Nov 29 05:37:44 EST 2025 Fri Feb 21 02:35:48 EST 2025 |
| IsPeerReviewed | true |
| IsScholarly | true |
| Issue | 4 |
| Keywords | Program Comprehension Anti-patterns Software maintenance Empirical software engineering studies Refactoring |
| Language | English |
| LinkModel | DirectLink |
| MergedId | FETCHMERGED-LOGICAL-c319t-db7aa4cb4f3c21bc92fe6cda99bfc7b17f5e155d42a73a47e7e57fc7e47530963 |
| Notes | ObjectType-Article-1 SourceType-Scholarly Journals-1 ObjectType-Feature-2 content type line 14 |
| ORCID | 0000-0002-1350-0560 |
| PQID | 2413234616 |
| PQPubID | 326341 |
| PageCount | 37 |
| ParticipantIDs | proquest_journals_2413234616 crossref_primary_10_1007_s10664_020_09826_7 crossref_citationtrail_10_1007_s10664_020_09826_7 springer_journals_10_1007_s10664_020_09826_7 |
| PublicationCentury | 2000 |
| PublicationDate | 2020-07-01 |
| PublicationDateYYYYMMDD | 2020-07-01 |
| PublicationDate_xml | – month: 07 year: 2020 text: 2020-07-01 day: 01 |
| PublicationDecade | 2020 |
| PublicationPlace | New York |
| PublicationPlace_xml | – name: New York – name: Dordrecht |
| PublicationSubtitle | An International Journal |
| PublicationTitle | Empirical software engineering : an international journal |
| PublicationTitleAbbrev | Empir Software Eng |
| PublicationYear | 2020 |
| Publisher | Springer US Springer Nature B.V |
| Publisher_xml | – name: Springer US – name: Springer Nature B.V |
| References | FraserGArcuriAA large scale evaluation of automated unit test generation using evosuiteACM Trans Softw Eng Methodol (TOSEM)2014242810.1145/2685612 Kataoka Y, Imai T, Andou H, Fukaya T (2002) A quantitative evaluation of maintainability enhancement by refactoring. In: 2002. Proceedings. International conference on Software maintenance. IEEE, pp 576–585 Opdyke WF (1992) Refactoring object-oriented frameworks. Ph.D. thesis., University of Illinois at Urbana-Champaign Szőke G, Nagy C, Hegedűs P, Ferenc R, Gyimőthy T (2015) Do automatic refactorings improve maintainability? an industrial case study. In: 2015 IEEE International conference on software maintenance and evolution (ICSME), pp 429–438. https://doi.org/10.1109/ICSM.2015.7332494 MohaNGueheneucYGDuchienLLe MeurADecor: A method for the specification and detection of code and design smellsIEEE Trans Softw Eng2010361203610.1109/TSE.2009.50 Arima R, Higo Y, Kusomoto S (2018) Toward refactoring evaluation with code naturalness. In: Proceedings of the 26th International Conference on Program Comprehension, ICPC ’18. IEEE Press. https://doi.org/10.1145/3196321.3196362 Hassan AE (2009) Predicting faults using the complexity of code changes. In: 2009 IEEE 31St international conference on software engineering, pp 78–88. https://doi.org/10.1109/ICSE.2009.5070510 SharekDA useable, online nasa-tlx tool. In: Proceedings of the Human Factors and Ergonomics Society Annual Meeting, vol 552011SageSAGE Publications13751379 Xing Z, Stroulia E (2006) Refactoring practice: How it is and how it should be supported-an eclipse case study. In: 2006. ICSM’06. 22nd IEEE international conference on Software maintenance. IEEE, pp 458–468 Palomba F, Bavota G, Penta MD, Oliveto R, Lucia AD (2014) Do they really smell bad? a study on developers’ perception of bad code smells. In: 2014 IEEE int’l conference on Software maintenance and evolution (ICSME). IEEE, pp 101–110 GriswoldWGNotkinDAutomated assistance for program restructuringACM Trans Softw Eng Methodol (TOSEM)19932322826910.1145/152388.152389 Le Goues C, Dewey-Vogt M, Forrest S, Weimer W (2012) A systematic study of automated program repair: Fixing 55 out of 105 bugs for $8 each. In: 2012 34th international conference on Software engineering (ICSE). IEEE, pp 3–13 MensTTourwéTA survey of software refactoringIEEE Trans Software Engineering200430212613910.1109/TSE.2004.1265817 Beck K, Andres C (2004) Extreme programming explained: Embrace change, 2nd edon. Addison-Wesley Professional Abbes M, Khomh F, Gueheneuc YG, Antoniol G (2011) An empirical study of the impact of two antipatterns, blob and spaghetti code, on program comprehension. In: 2011 15th european conf. on Software maintenance and reengineering (CSMR), pp 181–190 Moser R, Abrahamsson P, Pedrycz W, Sillitti A, Succi G (2008) A case study on the impact of refactoring on quality and productivity in an agile team. In: Balancing agility and formalism in software engineering. Springer, pp 252–266 Bois BD, Demeyer S, Verelst J, Mens T, Temmerman M (2006) Does god class decomposition affect comprehensibility?. In: IASTED Conf. on software engineering Fowler M (1999) Refactoring: improving the design of existing code. Pearson Education, India Moghadam IH, Cinneide MO (2012) Automated refactoring using design differencing. In: Software Maintenance and Reengineering (CSMR), 16th European Conference on, Proceedings of the European Conference on Software Maintenance and Reengineering, CSMR. IEEE Computer Society, pp 43–52. https://doi.org/10.1109/CSMR.2012.15 Marinescu R (2004) Detection strategies: Metrics-based rules for detecting design flaws. In: IEEE Int’l conference on software maintenance, ICSM. IEEE Computer Society, pp 350–359 Morales R, Sabane A, Musavi P, Khomh F, Chicano F, Antoniol G (2016) Finding the best compromise between design quality and testing effort during refactoring. In: 2016 IEEE 23Rd international conference on software analysis, evolution, and reengineering (SANER), vol 1, pp 24–35 Wohlin C, Runeson P, Höst M, Ohlsson MC, Regnell B, Wesslén A (2012) Experimentation in software engineering. Springer Science & Business Media Cliff N (2014) Ordinal methods for behavioral data analysis. Psychology Press OuniAKessentiniMSahraouiHInoueKHamdiMSImproving multi-objective code-smells correction using development historyJ Syst Softw20151050183910.1016/j.jss.2015.03.040 Turing AM (2009) Computing machinery and intelligence. In: Parsing the turing test. Springer, pp 23–65 SillitoJMurphyGCDe VolderKAsking and answering questions during a programming change taskIEEE Trans Softw Eng200834443445110.1109/TSE.2008.26 MoralesRSohZKhomhFAntoniolGChicanoFOn the use of developers’ context for automatic refactoring of software anti-patternsJ Syst Softw201712823625110.1016/j.jss.2016.05.042 Parnas DL (1994) Software aging. In: ICSE ’94: Proc. Of the 16th int’l conference on software engineering. IEEE Computer Society Press, pp 279–287 Negara S, Chen N, Vakilian M, Johnson RE, Dig D (2013) A comparative study of manual and automated refactorings. In: Castagna G (ed) ECOOP 2013 – Object-oriented programming. Springer, Berlin, pp 552–576 Romano J, Kromrey JD, Coraggio J, Skowronek J, Devine L (2006) Exploring methods for evaluating group differences on the nsse and other surveys: Are the t-test and cohen’sd indices the most appropriate choices. In: Annual meeting of the southern association for institutional research Hu X, Li G, Xia X, Lo D, Jin Z (2018) Deep code comment generation. In: Proceedings of the 26th Conference on Program Comprehension. ACM, pp 200–210 SengOStammelJBurkhartDSearch-based determination of refactorings for improving the class structure of object-oriented systemsGECCO 2006: Genetic Evol Comput Conf20061 & 219091916 Sheskin DJ (2003) Handbook of parametric and nonparametric statistical procedures. CRC Press Murphy-HillEBlackARefactoring tools: Fitness for purposeIEEE Softw2008255384410.1109/MS.2008.123 Morales R, Khomh F, Antoniol G (2019) Repor: Mimiking humans on refactoring tasks. replication website. https://moar82.github.io/emserefturing Brown WJ, Malveau RC, Brown WH, Mccormick III HW, Mowbray TJ (1998) Anti Patterns: Refactoring Software, Architectures, and Projects in Crisis, 1st edn. Wiley, New York DeligiannisIStamelosIAngelisLRoumeliotisMShepperdMA controlled experiment investigation of an object-oriented design heuristic for maintainabilityJ Syst Softw200472212914310.1016/S0164-1212(03)00240-1https://doi.org/10.1016/S0164-1212(03)00240-1 Murphy-HillEParninCBlackAPHow we refactor, and how we know itIEEE Trans Softw Eng201238151810.1109/TSE.2011.41https://doi.org/10.1109/TSE.2011.41 Vakilian M, Chen N, Negara S, Rajkumar BA, Bailey BP, Johnson RE (2012) Use, disuse, and misuse of automated refactorings. In: 2012 34th international conference on Software engineering (ICSE). IEEE, pp 233–243 KimMZimmermannTNagappanNAn empirical study of refactoringchallenges and benefits at microsoftIEEE Trans Softw Eng201440763364910.1109/TSE.2014.2318734https://doi.org/10.1109/TSE.2014.2318734 Morales R, Chicano F, Khomh F, Antoniol G (2018) Efficient refactoring scheduling based on partial order reduction. Journal of Systems and Software. https://doi.org/10.1016/j.jss.2018.07.076 WG Griswold (9826_CR10) 1993; 2 9826_CR18 cr-split#-9826_CR27.2 9826_CR16 9826_CR38 cr-split#-9826_CR27.1 9826_CR39 I Deligiannis (9826_CR7) 2004; 72 M Kim (9826_CR14) 2014; 40 T Mens (9826_CR17) 2004; 30 9826_CR15 9826_CR37 9826_CR12 9826_CR13 9826_CR35 9826_CR32 G Fraser (9826_CR9) 2014; 24 9826_CR11 N Moha (9826_CR19) 2010; 36 9826_CR30 9826_CR31 A Ouni (9826_CR29) 2015; 105 E Murphy-Hill (9826_CR26) 2012; 38 D Sharek (9826_CR34) 2011 R Morales (9826_CR21) 2017; 128 9826_CR28 E Murphy-Hill (9826_CR25) 2008; 25 O Seng (9826_CR33) 2006; 1 & 2 9826_CR2 9826_CR1 9826_CR40 J Sillito (9826_CR36) 2008; 34 9826_CR8 9826_CR23 9826_CR24 9826_CR6 9826_CR5 9826_CR22 9826_CR4 9826_CR41 9826_CR3 9826_CR20 |
| References_xml | – reference: Beck K, Andres C (2004) Extreme programming explained: Embrace change, 2nd edon. Addison-Wesley Professional – reference: Romano J, Kromrey JD, Coraggio J, Skowronek J, Devine L (2006) Exploring methods for evaluating group differences on the nsse and other surveys: Are the t-test and cohen’sd indices the most appropriate choices. In: Annual meeting of the southern association for institutional research – reference: Opdyke WF (1992) Refactoring object-oriented frameworks. Ph.D. thesis., University of Illinois at Urbana-Champaign – reference: Brown WJ, Malveau RC, Brown WH, Mccormick III HW, Mowbray TJ (1998) Anti Patterns: Refactoring Software, Architectures, and Projects in Crisis, 1st edn. Wiley, New York – reference: Hassan AE (2009) Predicting faults using the complexity of code changes. In: 2009 IEEE 31St international conference on software engineering, pp 78–88. https://doi.org/10.1109/ICSE.2009.5070510 – reference: Le Goues C, Dewey-Vogt M, Forrest S, Weimer W (2012) A systematic study of automated program repair: Fixing 55 out of 105 bugs for $8 each. In: 2012 34th international conference on Software engineering (ICSE). IEEE, pp 3–13 – reference: MoralesRSohZKhomhFAntoniolGChicanoFOn the use of developers’ context for automatic refactoring of software anti-patternsJ Syst Softw201712823625110.1016/j.jss.2016.05.042 – reference: Wohlin C, Runeson P, Höst M, Ohlsson MC, Regnell B, Wesslén A (2012) Experimentation in software engineering. Springer Science & Business Media – reference: Vakilian M, Chen N, Negara S, Rajkumar BA, Bailey BP, Johnson RE (2012) Use, disuse, and misuse of automated refactorings. In: 2012 34th international conference on Software engineering (ICSE). IEEE, pp 233–243 – reference: OuniAKessentiniMSahraouiHInoueKHamdiMSImproving multi-objective code-smells correction using development historyJ Syst Softw20151050183910.1016/j.jss.2015.03.040 – reference: Arima R, Higo Y, Kusomoto S (2018) Toward refactoring evaluation with code naturalness. In: Proceedings of the 26th International Conference on Program Comprehension, ICPC ’18. IEEE Press. https://doi.org/10.1145/3196321.3196362 – reference: Hu X, Li G, Xia X, Lo D, Jin Z (2018) Deep code comment generation. In: Proceedings of the 26th Conference on Program Comprehension. ACM, pp 200–210 – reference: Murphy-HillEParninCBlackAPHow we refactor, and how we know itIEEE Trans Softw Eng201238151810.1109/TSE.2011.41https://doi.org/10.1109/TSE.2011.41 – reference: Sheskin DJ (2003) Handbook of parametric and nonparametric statistical procedures. CRC Press – reference: Moser R, Abrahamsson P, Pedrycz W, Sillitti A, Succi G (2008) A case study on the impact of refactoring on quality and productivity in an agile team. In: Balancing agility and formalism in software engineering. Springer, pp 252–266 – reference: Negara S, Chen N, Vakilian M, Johnson RE, Dig D (2013) A comparative study of manual and automated refactorings. In: Castagna G (ed) ECOOP 2013 – Object-oriented programming. Springer, Berlin, pp 552–576 – reference: Turing AM (2009) Computing machinery and intelligence. In: Parsing the turing test. Springer, pp 23–65 – reference: SengOStammelJBurkhartDSearch-based determination of refactorings for improving the class structure of object-oriented systemsGECCO 2006: Genetic Evol Comput Conf20061 & 219091916 – reference: Bois BD, Demeyer S, Verelst J, Mens T, Temmerman M (2006) Does god class decomposition affect comprehensibility?. In: IASTED Conf. on software engineering – reference: FraserGArcuriAA large scale evaluation of automated unit test generation using evosuiteACM Trans Softw Eng Methodol (TOSEM)2014242810.1145/2685612 – reference: Morales R, Sabane A, Musavi P, Khomh F, Chicano F, Antoniol G (2016) Finding the best compromise between design quality and testing effort during refactoring. In: 2016 IEEE 23Rd international conference on software analysis, evolution, and reengineering (SANER), vol 1, pp 24–35 – reference: Palomba F, Bavota G, Penta MD, Oliveto R, Lucia AD (2014) Do they really smell bad? a study on developers’ perception of bad code smells. In: 2014 IEEE int’l conference on Software maintenance and evolution (ICSME). IEEE, pp 101–110 – reference: Parnas DL (1994) Software aging. In: ICSE ’94: Proc. Of the 16th int’l conference on software engineering. IEEE Computer Society Press, pp 279–287 – reference: DeligiannisIStamelosIAngelisLRoumeliotisMShepperdMA controlled experiment investigation of an object-oriented design heuristic for maintainabilityJ Syst Softw200472212914310.1016/S0164-1212(03)00240-1https://doi.org/10.1016/S0164-1212(03)00240-1 – reference: Fowler M (1999) Refactoring: improving the design of existing code. Pearson Education, India – reference: Kataoka Y, Imai T, Andou H, Fukaya T (2002) A quantitative evaluation of maintainability enhancement by refactoring. In: 2002. Proceedings. International conference on Software maintenance. IEEE, pp 576–585 – reference: Marinescu R (2004) Detection strategies: Metrics-based rules for detecting design flaws. In: IEEE Int’l conference on software maintenance, ICSM. IEEE Computer Society, pp 350–359 – reference: MensTTourwéTA survey of software refactoringIEEE Trans Software Engineering200430212613910.1109/TSE.2004.1265817 – reference: SillitoJMurphyGCDe VolderKAsking and answering questions during a programming change taskIEEE Trans Softw Eng200834443445110.1109/TSE.2008.26 – reference: Morales R, Chicano F, Khomh F, Antoniol G (2018) Efficient refactoring scheduling based on partial order reduction. Journal of Systems and Software. https://doi.org/10.1016/j.jss.2018.07.076 – reference: Cliff N (2014) Ordinal methods for behavioral data analysis. Psychology Press – reference: Szőke G, Nagy C, Hegedűs P, Ferenc R, Gyimőthy T (2015) Do automatic refactorings improve maintainability? an industrial case study. In: 2015 IEEE International conference on software maintenance and evolution (ICSME), pp 429–438. https://doi.org/10.1109/ICSM.2015.7332494 – reference: Moghadam IH, Cinneide MO (2012) Automated refactoring using design differencing. In: Software Maintenance and Reengineering (CSMR), 16th European Conference on, Proceedings of the European Conference on Software Maintenance and Reengineering, CSMR. IEEE Computer Society, pp 43–52. https://doi.org/10.1109/CSMR.2012.15 – reference: Xing Z, Stroulia E (2006) Refactoring practice: How it is and how it should be supported-an eclipse case study. In: 2006. ICSM’06. 22nd IEEE international conference on Software maintenance. IEEE, pp 458–468 – reference: SharekDA useable, online nasa-tlx tool. In: Proceedings of the Human Factors and Ergonomics Society Annual Meeting, vol 552011SageSAGE Publications13751379 – reference: Abbes M, Khomh F, Gueheneuc YG, Antoniol G (2011) An empirical study of the impact of two antipatterns, blob and spaghetti code, on program comprehension. In: 2011 15th european conf. on Software maintenance and reengineering (CSMR), pp 181–190 – reference: GriswoldWGNotkinDAutomated assistance for program restructuringACM Trans Softw Eng Methodol (TOSEM)19932322826910.1145/152388.152389 – reference: Murphy-HillEBlackARefactoring tools: Fitness for purposeIEEE Softw2008255384410.1109/MS.2008.123 – reference: KimMZimmermannTNagappanNAn empirical study of refactoringchallenges and benefits at microsoftIEEE Trans Softw Eng201440763364910.1109/TSE.2014.2318734https://doi.org/10.1109/TSE.2014.2318734 – reference: Morales R, Khomh F, Antoniol G (2019) Repor: Mimiking humans on refactoring tasks. replication website. https://moar82.github.io/emserefturing/ – reference: MohaNGueheneucYGDuchienLLe MeurADecor: A method for the specification and detection of code and design smellsIEEE Trans Softw Eng2010361203610.1109/TSE.2009.50 – ident: 9826_CR4 – volume: 34 start-page: 434 issue: 4 year: 2008 ident: 9826_CR36 publication-title: IEEE Trans Softw Eng doi: 10.1109/TSE.2008.26 – volume: 36 start-page: 20 issue: 1 year: 2010 ident: 9826_CR19 publication-title: IEEE Trans Softw Eng doi: 10.1109/TSE.2009.50 – ident: 9826_CR8 – ident: 9826_CR18 doi: 10.1109/CSMR.2012.15 – ident: 9826_CR13 doi: 10.1109/ICSM.2002.1167822 – volume: 38 start-page: 5 issue: 1 year: 2012 ident: 9826_CR26 publication-title: IEEE Trans Softw Eng doi: 10.1109/TSE.2011.41 – ident: 9826_CR32 – volume: 128 start-page: 236 year: 2017 ident: 9826_CR21 publication-title: J Syst Softw doi: 10.1016/j.jss.2016.05.042 – ident: 9826_CR16 doi: 10.1109/ICSM.2004.1357820 – ident: 9826_CR23 – volume: 105 start-page: 18 issue: 0 year: 2015 ident: 9826_CR29 publication-title: J Syst Softw doi: 10.1016/j.jss.2015.03.040 – volume: 72 start-page: 129 issue: 2 year: 2004 ident: 9826_CR7 publication-title: J Syst Softw doi: 10.1016/S0164-1212(03)00240-1 – ident: #cr-split#-9826_CR27.2 – ident: 9826_CR2 doi: 10.1145/3196321.3196362 – volume: 2 start-page: 228 issue: 3 year: 1993 ident: 9826_CR10 publication-title: ACM Trans Softw Eng Methodol (TOSEM) doi: 10.1145/152388.152389 – ident: 9826_CR38 doi: 10.1007/978-1-4020-6710-5_3 – ident: 9826_CR37 doi: 10.1109/ICSM.2015.7332494 – ident: 9826_CR15 doi: 10.1109/ICSE.2012.6227211 – volume: 1 & 2 start-page: 1909 year: 2006 ident: 9826_CR33 publication-title: GECCO 2006: Genetic Evol Comput Conf – ident: 9826_CR3 – ident: 9826_CR35 doi: 10.1201/9781420036268 – ident: 9826_CR5 – ident: #cr-split#-9826_CR27.1 doi: 10.1007/978-3-642-39038-8_23 – ident: 9826_CR40 doi: 10.1007/978-3-642-29044-2 – ident: 9826_CR41 doi: 10.1109/ICSM.2006.52 – ident: 9826_CR11 doi: 10.1109/ICSE.2009.5070510 – volume: 24 start-page: 8 issue: 2 year: 2014 ident: 9826_CR9 publication-title: ACM Trans Softw Eng Methodol (TOSEM) doi: 10.1145/2685612 – ident: 9826_CR6 doi: 10.4324/9781315806730 – ident: 9826_CR22 doi: 10.1016/j.jss.2018.07.076 – ident: 9826_CR39 doi: 10.1109/ICSE.2012.6227190 – ident: 9826_CR12 doi: 10.1145/3196321.3196334 – ident: 9826_CR1 doi: 10.1109/CSMR.2011.24 – volume: 30 start-page: 126 issue: 2 year: 2004 ident: 9826_CR17 publication-title: IEEE Trans Software Engineering doi: 10.1109/TSE.2004.1265817 – ident: 9826_CR31 doi: 10.1109/ICSE.1994.296790 – volume: 25 start-page: 38 issue: 5 year: 2008 ident: 9826_CR25 publication-title: IEEE Softw doi: 10.1109/MS.2008.123 – ident: 9826_CR24 doi: 10.1007/978-3-540-85279-7_20 – ident: 9826_CR20 doi: 10.1109/SANER.2016.23 – start-page: 1375 volume-title: A useable, online nasa-tlx tool. In: Proceedings of the Human Factors and Ergonomics Society Annual Meeting, vol 55 year: 2011 ident: 9826_CR34 – ident: 9826_CR28 – volume: 40 start-page: 633 issue: 7 year: 2014 ident: 9826_CR14 publication-title: IEEE Trans Softw Eng doi: 10.1109/TSE.2014.2318734 – ident: 9826_CR30 doi: 10.1109/ICSME.2014.32 |
| SSID | ssj0009745 |
| Score | 2.2525356 |
| Snippet | Refactoring is a maintenance activity that aims to improve design quality while preserving the behavior of a system. Several (semi)automated approaches have... |
| SourceID | proquest crossref springer |
| SourceType | Aggregation Database Enrichment Source Index Database Publisher |
| StartPage | 2960 |
| SubjectTerms | Automation Compilers Computer Science Human performance Interpreters Maintenance Programming Languages Software Engineering/Programming and Operating Systems Taskload |
| SummonAdditionalLinks | – databaseName: SpringerLINK Contemporary 1997-Present dbid: RSV link: http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwnV1LT8MwDLZgcODCeIrBQDlwgyDyaLNymRBi4sKYxkPcqiRNpQno0FpA_HuSrKWAAAmujWtFdlzbdewPYDdgCSNKh1iogGIeKIIlZwrrSCVSMsVSmniwCdHvd25vo0HZFJZXt92rkqT_Un9odgtDjl26cxjZoBiLWZgL3Bw9l6Nf3tSjdoWHJnbD9TCzHr1slfmex2d3VMeYX8qi3tv0mv_b5xIsltElOp4eh2WYMdkKNCvkBlQa8ip0h2ZwMTxC56OHkXY_y5HH6svROEN2jx6Dxz0tZH6XH1h-Br0Y5GJFg15N0V2D697p1ckZLqEUsLY2VuBECSm5VjxlmlrdRDQ1oU5kFKlUC0VEGhgbWSScSsEkF0aYQNgVw206Y7Mctg6NbJyZDUBK2aCHMaptZmbJuWQdaSIi01CQVBLZAlJJNNblnHEHd3Ef1xOSnYRiK6HYSygWLdh7f-dxOmXjV-p2pai4tLg8dvVBynhIwhbsV4qpl3_mtvk38i1YoF637sZuGxrF5Mlsw7x-Lkb5ZMefxDeUBNX3 priority: 102 providerName: Springer Nature |
| Title | RePOR: Mimicking humans on refactoring tasks. Are we there yet? |
| URI | https://link.springer.com/article/10.1007/s10664-020-09826-7 https://www.proquest.com/docview/2413234616 |
| Volume | 25 |
| WOSCitedRecordID | wos000539338800001&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| journalDatabaseRights | – providerCode: PRVAVX databaseName: SpringerLINK Contemporary 1997-Present customDbUrl: eissn: 1573-7616 dateEnd: 99991231 omitProxy: false ssIdentifier: ssj0009745 issn: 1382-3256 databaseCode: RSV dateStart: 19970101 isFulltext: true titleUrlDefault: https://link.springer.com/search?facet-content-type=%22Journal%22 providerName: Springer Nature |
| link | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwpV1NT9wwEB1R4NBL-WirboGVD9yKaf2RmPSyKtUiLmyj0CLEJbIdR1oVspSkrfj3jL1Oo1YqFy45xI5l5Y3tNx57HsB-IirBjE2pMgmnMjGMaikMtZmptBZG1LwKYhNqNju6vMzyuOHWxmOV_ZwYJupqYf0e-Xsf_-FCpiyd3P6gXjXKR1ejhMYzWGMcuT7ac55cDUl3VRAp9mn2qMC1PV6aiVfn0lRS7zx9yJBiU_X3wjSwzX8CpGHdOdl4ao834UVknOTT0kS2YMU127DRqzmQOLhfwqRw-ZfiIzmb38yt30AnQb-vJYuGYG-DLo9_2-n2e3uI7Tny2xHPHx25d93kFXw7mX79fEqjvAK1OO46WhmltbRG1sJyxCvjtUttpbPM1FYZpurEIduoJNdKaKmcconCEifRxUHPR7yG1WbRuDdAjEEiJAS36K1hdanFkXYZ03WqWK2ZHgHr_21pY-5xL4FxXQ5Zkz0eJeJRBjxKNYJ3f765XWbeeLT2bg9CGUdhWw4IjOCgh3Eo_n9rbx9vbQee82A5_tTuLqx2dz_dHqzbX928vRvD2vF0lhdjf4z0fBwsEp_F-cUDDjnjkA |
| linkProvider | ProQuest |
| linkToHtml | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMw1V1bb9MwFD4qBQleVjaY6NYNP2xPYFhsJ16Qpgrtola9MJUi7S3YjiNVG-1oMqb9KX4jx25CBBJ72wOvsXOU-Jwcf865fAB7IU95oE1EpQ4ZFaEOqBJcUxPrVCmuecZSTzYhx-PDi4v4vAE_q1oYl1ZZ-UTvqNOFcf_I37v4D-MiCqLu9XfqWKNcdLWi0FiZxcDe3eKRLT_qn6B-9xk7O50e92jJKkANmltBUy2VEkaLjBuGjxmzzEYmVXGsMyN1ILPQ4iabCqYkV0JaaUOJI1YgskfAz1HuI3gsXH6kTxX8XDf5lZ4U2bX1oxyxRFmkU5bqRZGg7rB2ECOkp_LPjbBGt38FZP0-d9b631boOayViJp8XH0C69Cw8w1oVWwVpHReL6A7seefJh_IaPZtZlyAgHh-wpws5gRXx_MOuauFyi_zdyjPkltLHD625M4W3Zfw5UFeYxOa88XcvgKiNQI9zpnB0yhOF4ofKhsHKotkkKlAtSGodJmYsre6o_i4Suqu0E7_Ceo_8fpPZBve_L7netVZ5N7ZnUrpSell8qTWeBveVmZTD_9b2tb90l7D0950NEyG_fFgG54xb7UuQ7kDzWJ5Y3fgiflRzPLlrrd_Al8f2px-AfgkP3E |
| linkToPdf | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMw1V1Bb9MwFH4qG0JcNmBM69aBD3ACs8V24gZpqqaNiqpQqgqkiUtmO45UAe3WZJv61_h1e3aTRZtEbz1wjZ2nxP78_NnPfh_Am5CnPNAmolKHjIpQB1QJrqmJdaoU1zxjqRebkINB--wsHjbgb3UXxh2rrHyid9Tp1Lg98gMX_2FcREF0kJXHIoan3c7FJXUKUi7SWslpLCDSt_MbXL7lR71T7Ou3jHU_fT_5TEuFAWoQegVNtVRKGC0ybhh-cswyG5lUxbHOjNSBzEKLE24qmJJcCWmlDSWWWIEsH8k_R7uPYN1JdjinMAx_1gl_pRdIdin-KEdeUV7YKa_tRZGgbuF2GCO9p_L-pFgz3QfBWT_ndTf_59Z6Bhsl0ybHi6HxHBp28gI2KxULUjq1LeiM7PDb6CP5Ov4zNi5wQLxuYU6mE4It5fWI3NNC5b_yD2jPkhtLHG-2ZG6Lzkv4sZLf2Ia1yXRid4BojQSQc2ZwlYrVheJtZeNAZYiHTAWqCUHVr4kpc6476Y_fSZ0t2mEhQSwkHguJbMK7u3cuFhlHltZuVQBISu-TJ3XvN-F9BaG6-N_Wdpdbew1PEEXJl96gvwdPmQewO7jcgrVidmX34bG5Lsb57JUfCgTOV42mW4uhSEo |
| openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=RePOR%3A+Mimicking+humans+on+refactoring+tasks.+Are+we+there+yet%3F&rft.jtitle=Empirical+software+engineering+%3A+an+international+journal&rft.au=Morales%2C+Rodrigo&rft.au=Khomh%2C+Foutse&rft.au=Antoniol%2C+Giuliano&rft.date=2020-07-01&rft.issn=1382-3256&rft.eissn=1573-7616&rft.volume=25&rft.issue=4&rft.spage=2960&rft.epage=2996&rft_id=info:doi/10.1007%2Fs10664-020-09826-7&rft.externalDBID=n%2Fa&rft.externalDocID=10_1007_s10664_020_09826_7 |
| thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=1382-3256&client=summon |
| thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=1382-3256&client=summon |
| thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=1382-3256&client=summon |