| Modern integrated development environment (IDE) provides programmers with a variety of tools for supporting software development, including code editing, code browsing and understanding, task management, version control management, debugging and testing, etc. The process programmers use IDE to complete task is usually accompanied by a complex series of actions and behavior. On the other hand, programmers hope the IDE could provide more intelligent auxiliary support in their process of handling more complicated software system with dramatically growth in scale and complexity, such as recommendations on context-aware software resources (e.g.:API, help information, etc.) or problem-solving strategies.A solution to these problems is to monitor and record the behavior produced by programmers in their development process. These behavior data will not only provide valuable information for improving the quality and efficiency of the software artifacts but also will lay a solid foundation for intelligent recommendations based on the result of behaviors analysis in the IDE. Therefore, this thesis articulate a methodology of monitoring and analyzing programmers’ behaviors in the IDE. Firstly, it defines the domain model of the behavioral surveillance mechanism which provides the theoretical base for monitoring and recording the actions and context. Then it will process the raw action and context data and transform them into the behavioral surveillance information which could be used for further behavioral analysis and data mining. Based on the method proposed, this article implements an Eclipse plug-in which takes full advantages of rich scalability, easily extension and strong monitoring mechanism of Eclipse platform, allowing the programmer to instantaneously and precisely monitor their behavior, pre-process these data in a non-intrusive background thread, transform them with a unified format and save them to database.Furthermore, this paper designs a typical case to validate the effectiveness and ease-of-use of the plug-in. This case first extend the plug-in to allow programmers to define task, capture behavior tracks of the task and then conduct thorough analysis and mining on the data. The research result shows that the methodology and the plug-in can effectively monitor and capture the programmers’ behaviors. Moreover, the result of analysis and data mining can further reveal useful information related to the quality and efficiency of software development. |