Understanding Programmers' Working Context by Mining Interaction Histories