Mining software development history: Approaches and challenges