Identifying and assessing the impact of refactoring by mining version repositories