Institution: |
Slovak University of Technology |
Technologies used: |
R, Ruby, XPW, EDF |
Inputs: |
logs of developers'activity |
Outputs: |
information contexts |
Addressed problem
For many information reduction tasks, such as recommendation or search, some sort of context is required. The context can be described as a set of features that describe user's underlying goal or intent. It has been shown that as expected, the more specific the con-text, the better and more accurately can be the information space reduced.
Description
Man is a creature of habits and those habits propagate to many levels of our existence. Wether it is the regular morning coffee or the online newspaper check as the first thing at the office, our habits shape an important part of our day.
It is clear, that the interests of a person can change in intensity and those changes exhibit some sort of pattern that we can analyze and predict. For example a programmer may be interested in general technical news in the morning and during lunch breaks, and then interested only in solving specific problems that arise from working with the technology used on the project she is currently working on.
In this work we analyze the context reduction by means of finding temporal recurrent patterns in developers' activity, i.e. the activity patterns that occur periodically. This is a known phenomenon in the area of Web browsing, where the type of activities are only few and the task is substantially easier. We research the behavioral patterns in the context of software development, which introduces several challenges and problems that we are trying to address.
- We confirm the hypothesis that the behavioral patterns indeed exist in software development. We use logs of developers' activity and then cluster the data to a set of predefined time ranges where we expect the interests of the programmer will change.
- We propose a method that can detect these patterns, by adapting Time Series Analysis methods. The main difference between patterns on the Web and in Software development is the amount of actions that can occur. While on the Web there are only few of them, such as viewing the Web page or searching on a search engine, the amount of activities is much higher in Software development. A programmer may browse documentation, search the Web, browse code, modify code, compile the code, and many other tasks.