Software developers regularly need to find diverse information to successfullyA�perform their tasks. Some example of software information needs are: “why wasA�this code implemented in this way?”, or “who has expertise in this functionality?”A�Unfortunately, finding such information requires high effort, and it is often foundA�inaccurately, which not only decreases software development productivity, but itA�also decreases software quality. In my research, I follow the insight that many ofA�the questions that developers ask can be answered automatically by analyzing theA�data that they produced in past software development tasks. I will present a seriesA�of techniques that automate the multi-revision, fine-grained analysis of source code history. These techniques provide high accuracy by optimizing codeA�similarity over its modeled history. I will also demonstrate how these techniquesA�help software developers to find relevant information about software developmentA�tasks efficiently and accurately.