Improving the success rate of applying the extract method refactoring
Author
dc.contributor.author
Sandoval Alcocer, Juan Pablo
Author
dc.contributor.author
Siles Antezana, Alejandra
Author
dc.contributor.author
Santos, Gustavo
Author
dc.contributor.author
Bergel, Alexander
Admission date
dc.date.accessioned
2020-07-22T23:09:51Z
Available date
dc.date.available
2020-07-22T23:09:51Z
Publication date
dc.date.issued
2020
Cita de ítem
dc.identifier.citation
Science of Computer Programming 195(2020)102475
es_ES
Identifier
dc.identifier.other
10.1016/j.scico.2020.102475
Identifier
dc.identifier.uri
https://repositorio.uchile.cl/handle/2250/176083
Abstract
dc.description.abstract
Context: Most modern programming environments support refactorings. Although refactorings are relevant to improve the quality of software source code, they unfortunately suffer
from severe usability issues. In particular, the extract method refactoring, one of the most
prominent refactorings, has a failure rate of 49% when users attempt to use it.
Objective: Our main objective is to improve the success rate of applying the extract method
refactoring.
Methods: First, to understand the cause of refactoring failure, we conducted a partial replication of Vakilian’s ICSE ’14 study about usability issues of refactoring using IntelliJ IDEA.
Second, we designed and implemented TOAD, a tool that proposes alternative text selection
for source code refactoring for the Pharo programming language. Third, we evaluated TOAD
using a controlled experiment against the standard Pharo code refactoring tool. Seven professional software engineers complemented with three undergrad students participated in
our experiments.
Conclusion: The causes we identified of failed extract method refactoring attempts match
Vakilian’s work. TOAD significantly reduces the number of failed attempts to run the extract method refactoring at a lower cognitive load cost.
es_ES
Patrocinador
dc.description.sponsorship
Lam Research
4800054170
4800043946
Comision Nacional de Investigacion Cientifica y Tecnologica (CONICYT)
CONICYT FONDECYT
1200067