A Case Study on the Impact of Refactoring on Quality and Productivity in an Agile Team
Balancing Agility and Formalism in Software Engineering
Empirical investigation of refactoring effect on software quality
Information and Software Technology
Recommending Improvements to Web Applications Using Quality-Driven Heuristic Search
WISE '09 Proceedings of the 10th International Conference on Web Information Systems Engineering
A bottom-up approach to understand functional programs
Proceedings of The Fourth International C* Conference on Computer Science and Software Engineering
Hi-index | 0.00 |
Program comprehension is a fundamental requirement for all but the most trivial maintenance activities. Previous research has demonstrated key principles for improving comprehension. Among others, these consist of the introduction of beacons as indexes into knowledge, and the chunking of low-level structures into higher-level abstractions. These principles are naturally reflected in the reverse engineering pattern Refactor to Understand, which uses incremental renaming and extracting of program elements as the means to decipher cryptic code. In this paper, we discuss a controlled experiment to explore differences in program comprehension between the application of Refactor to Understand and the traditional Read to Understand pattern. Our results support added value of Refactor to Understand regarding specific aspects of program comprehension and specific types of source code. These findings illustrate the need for further experiments to provide clear guidelines on the application of refactorings for improving program comprehension.