Data-driven techniques for identifying and automatically repaying technical debt