Work experience versus refactoring to design patterns: a controlled experiment
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations …, 2006•dl.acm.org
Program refactoring using design patterns is an attractive approach for facilitating
anticipated changes. Its benefit depends on at least two factors, namely the effort involved in
the refactoring and how effective it is. For example, the benefit would be small if too much
effort is required to translate a program correctly into a refactorized form, and whether such a
form could effectively guide maintainers to complete anticipated changes is unknown. A
metric of effectiveness is the maintainers' performance, which can be affected by their work …
anticipated changes. Its benefit depends on at least two factors, namely the effort involved in
the refactoring and how effective it is. For example, the benefit would be small if too much
effort is required to translate a program correctly into a refactorized form, and whether such a
form could effectively guide maintainers to complete anticipated changes is unknown. A
metric of effectiveness is the maintainers' performance, which can be affected by their work …
Program refactoring using design patterns is an attractive approach for facilitating anticipated changes. Its benefit depends on at least two factors, namely the effort involved in the refactoring and how effective it is. For example, the benefit would be small if too much effort is required to translate a program correctly into a refactorized form, and whether such a form could effectively guide maintainers to complete anticipated changes is unknown. A metric of effectiveness is the maintainers' performance, which can be affected by their work experience, in realizing the changes. Hence, an interesting question arises. Is program refactoring to introduce additional patterns beneficial regardless of the work experience of the maintainers? In this paper, we report a controlled experiment on maintaining JHotDraw, an open source system deployed with multiple patterns. We compared maintainers with and without work experience. Our empirical results show that, to complete a maintenance task of perfective nature, the time spent even by the inexperienced maintainers on a refactorized version is much shorter than that of the experienced subjects on the original version. Moreover, the quality of their delivered programs, in terms of correctness, is found to be comparable.
ACM Digital Library
Showing the best result for this search. See all results