2009 Volume 26 Issue 4 Pages 4_30-4_38
When adding a new feature to software, a large renovation which breaks the existing behavior is often required. Even in popular software project, such a renovation tends to fail halfway through and developers end up backing out their changes. Even worse, renovation failure discourages the developers who propose the plan, and causes a long-term lowering of productivity of the project. We present an analysis of renovation failure in open-source software projects and unveil the causes and measures. To prove that our measures are effective in practice, we have applied them to the rewrite of the cryptographic subsystem (approx. 4500 lines of code) of GNU Emacs, a famous text editor used all over the world.