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...

Celý popis

Uloženo v:
Podrobná bibliografie
Vydáno v:Empirical software engineering : an international journal Ročník 25; číslo 4; s. 2960 - 2996
Hlavní autoři: Morales, Rodrigo, Khomh, Foutse, Antoniol, Giuliano
Médium: Journal Article
Jazyk:angličtina
Vydáno: New York Springer US 01.07.2020
Springer Nature B.V
Témata:
ISSN:1382-3256, 1573-7616
On-line přístup:Získat plný text
Tagy: Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
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
ProQuest Technology Collection (LUT)
ProQuest One
ProQuest Central Korea
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
Advanced Technologies & Aerospace Database
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 Database Suite (ProQuest)
  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.2526345
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/eLvHCXMwnV1LT8MwDLZgcODCeIrBQDlwg6ClaZqWy4QQEwcY04Bpt6r1UmkCOrQWEP-eJGspIECCa5NakR3Hdhz7A9jnAvWhxxj10ECYKSaoPzJVIDjCRPgeBvZCf3Ahu11_OAx6RVFYVr52L1OS9qT-UOzmeS414U4r0E4xlfOwIEwfPROjXw-qVrvSQhOb5nqUa4telMp8T-OzOap8zC9pUWttOvX_rXMFlgvvkpzMtsMqzKl0DeolcgMpFHkd2n3Vu-ofk8vxwxjNZTmxWH0ZmaREr9Fi8JiveZTdZUeaniIvihhfUZFXlbc34LZzdnN6TgsoBYpax3I6imUUuRi7CUeHxRg4ifJwFAVBnKCMmUyEFpPQUookj1yppBJSjyhXhzM6yuGbUEsnqdoCIqIIpQ5zuIPMZb4faI035bEyaXEuVasBrORoiEWfcQN3cR9WHZINh0LNodByKJQNOHj_53HWZePX2c1SUGGhcVlo8oMOdz3mNeCwFEw1_DO17b9N34Elx8rWvNhtQi2fPqldWMTnfJxN9-xOfAOYPNP-
  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/eLvHCXMwpV3PT9swFH5iZYddVn6Kbl3lAzfwVsdJnOxSMVTEAUpUGEK7RMmLI1WwtmuyTfvveTYOEZPgwiWHOLEsf8_P7z37vQ9gXwZISk8IHqKhMNMi4FFhskCwwDKIQoxtQP_6TE0m0c1NnLiAW-WuVTY60SrqYoEmRv7FnP940g9FOFr-4oY1ypyuOgqNN7AuPLL1SZ6T4EdbdFdZkmJTZo9L2ttd0oxLnQtDnxvnaRiTic3V042ptTb_OyC1-85J97Uj3oD3zuJkRw8isglrer4F3YbNgbnFvQ2jqU4upl_Z-eznDE0AnVn-voot5oxGa3l5zNs6q26rz9SfZn81M_ajZv90PdqB7yfjq-NT7ugVONK6q3mRqyzzMfdLiZ7IMfZKHWKRxXFeosqFKgOCLiDkMiUzX2mlA0Ut2icXhzwfuQud-WKu94AFWYaKXB_pofBFFMWkBUzKrCqHUio97IFo5jZFV3vcUGDcpW3VZINHSnikFo9U9eDg8Z_lQ-WNF7_uNyCkbhVWaYtADw4bGNvm53v78HJvH-GdZyXH3NrtQ6de_daf4C3-qWfVagDr38aTZDow10gvB1Yi6Tm9vL4H9d7hlw
linkProvider ProQuest
linkToHtml http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMw1V3dT9RAEJ_wYQIvgArhAHEf9EkWb7tttyUxF4MSCMdJEM291Xa6TS7oHdAq4Z_ib3Rmr7WRRN548LXbTtr9TWdndz5-AK90gGT0lJIhMoWZVYGMcq4CwRyLIAoxdgf6X_tmMIiGw_h0Bu6aWhhOq2xsojPU-QT5jPwtx3887Ycq7F1eSWaN4uhqQ6ExVYtje3tDW7by3dEHwve15x18PN8_lDWrgERSt0rmmUlTHzO_0OipDGOvsCHmaRxnBZpMmSKgNw7ohVOjU99YYwNDI9Ynz54cfk1yZ2He5_xIlyr4uW3yaxwpMrf1k5p8ibpIpy7VC0Nf8matG5NLL83fC2Hr3d4LyLp17mD5f5uhFViqPWrxfvoLPIUZO34Gyw1bhaiN13PondnTT2d74mT0Y4QcIBCOn7AUk7Gg2XG8Q3y1SsuLcpfkWXFjBfvHVtzaqrcKXx7lM9ZgbjwZ23UQQZqioa2d9lD5KopisnJcEmyKrtbGdjugGiwTrHurM8XH96TtCs34J4R_4vBPTAfe_HnmctpZ5MG7txrQk9rKlEmLeAd2GrVph_8tbeNhaS9h4fD8pJ_0jwbHm7DoOa3lDOUtmKuuf9oX8AR_VaPyetvpv4Bvj61OvwFFRj14
linkToPdf http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMw1V1LT9wwEB5RiqpeoC1FXR6tD-2JuqzjJE6Q0KoqXRVBlxUChLiEZOJIq5ZdIAHEX-uv64w3aUSlcuPQa5yMHPvzeOx5fADvdYCk9JSSITKFmVWBjHLOAsEciyAKMXYX-sd7ZjCITk7i4Qz8anJhOKyy0YlOUecT5DvyDfb_eNoPVbhR1GERw-1-7-JSMoMUe1obOo0pRHbt3S0d38qtnW2a6w-e1_96-OWbrBkGJBL0KplnJk19zPxCo6cyjL3ChpincZwVaDJlioB6H1DnU6NT31hjA0Mt1icrn4x_TXKfwFOm7GClMAxO24K_xhEkc4k_qcmuqBN26rS9MPQlH9y6MZn30tzfFFtL9y_nrNvz-gv_82i9gPna0hafp0vjJczY8StYaFgsRK3UFqF3YIf7B5vi--h8hOw4EI63sBSTsaCRcnxE_LRKyx_lJ5Jnxa0VbDdbcWer3ms4epTfWILZ8WRs34AI0hQNHfm0h8pXURST9uNUYVN0tTa22wHVzGuCdc11pv74mbTVohkLCWEhcVhITAfW_3xzMa048uDbqw0Aklr7lEk7-x342ECobf63tOWHpb2DZ4SiZG9nsLsCzz0HYA5cXoXZ6urarsEc3lSj8uqtWwoCzh4bTb8Bwe1GUQ
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=Foutse%2C+Khomh&rft.au=Antoniol+Giuliano&rft.date=2020-07-01&rft.pub=Springer+Nature+B.V&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=HAS_PDF_LINK
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