Studies have shown that software developers spend more than half of their time on program comprehension: trying to understand a given piece of code that was most likely written by someone else, in order to develop and maintain the functionality of the encompassing software system. Current research has primarily focused on assisting the developer trying to build up her understanding of the code. In this project, we shift the focus to the developer who is using his Integrated Development Environment (IDE) for writing, modifying, or reading the code. In particular, we seek ways that support this developer to share the understanding thus obtained with the rest of the team. To achieve this we propose five steps. 1. We conduct an empirical study (using grounded theory) on the way developers currently communicate knowledge about their understanding of programming artifacts. 2. We investigate how new light-weight micro-blogging facilities can be integrated into an IDE, including support for version-independent code fragment referencing capabilities. 3. We explore how the interaction context (the history of editing and navigation actions) can be used to automatically enrich micro-blogging messages issued by developers. 4. We develop recommender systems which automatically suggest relevant code elements, co-developers, work items, etc., taking micro-blogging messages into account. 5. We analyze the use of the proposed micro-blogging techniques in longitudinal studies in which a number of teams use the approach for a period of several months, resulting in an enriched theory of program understanding exchange among developers.
