Abstract
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. Copyright ACM 2006.
| Original language | English |
|---|---|
| Title of host publication | Proceedings of the ACM SIGSOFT Symposium on the Foundations of Software Engineering |
| Pages | 12-22 |
| DOIs | |
| Publication status | Published - 2006 |
| Event | 14th ACM SIGSOFT International Symposium on Foundations of Software Engineering - Portland, OR, United States Duration: 5 Nov 2006 → 11 Nov 2006 |
Conference
| Conference | 14th ACM SIGSOFT International Symposium on Foundations of Software Engineering |
|---|---|
| Place | United States |
| City | Portland, OR |
| Period | 5/11/06 → 11/11/06 |
Research Keywords
- Controlled experiment
- Design patterns
- Refactoring