Program componentization has been proved to be an effective way to increase the speed and cost-effectiveness of reusing, maintaining, and understanding existing software systems. JComp is a componentization framework that supports semi-automatically extracting reusable components from an existing Java system and automatically transforming the existing system into a component-based system. Based on the automated class dominance analysis and domain knowledge, JComp introduces a novel technique to incrementally identify reusable components in a low cost but high precision way. Also, JComp provides a methodology to automate the transformation of existing object-oriented systems into component-based systems.