Mining recurrent activities: Fourier analysis of change events

Within the field of software repository mining, it is common practice to extract change-events from source control systems and then abstract these events to allow for different analyses. One approach is to apply time-series analysis by aggregating these events into signals. Time-series analysis requires that researchers specify a period of study; usually “natural” periods such as days, months, and years are chosen. As yet there has been no research to validate that these assumptions are reasonable. We address this by applying Fourier analysis to discover the “natural” periodicities of software development. Fourier analysis can detect and determine the periodicity of repeating events. Fourier transforms represent signals as linear combinations of sine-waves that suggest how much activity occurs at certain frequencies. If behaviors of different frequencies are mixed into one signal, they can be separated. Thus Fourier transforms can help us identify significant development process sub-signals within software projects.

[1]  Giuliano Antoniol,et al.  Linear predictive coding and cepstrum coefficients for mining time variant information from software repositories , 2005, MSR.

[2]  Michael W. Godfrey,et al.  Release Pattern Discovery via Partitioning: Methodology and Case Study , 2007, Fourth International Workshop on Mining Software Repositories (MSR'07:ICSE Workshops 2007).

[3]  Andreas Zeller,et al.  When do changes induce fixes? , 2005, ACM SIGSOFT Softw. Eng. Notes.

[4]  Jesús M. González-Barahona,et al.  Forecasting the Number of Changes in Eclipse Using Time Series Analysis , 2007, Fourth International Workshop on Mining Software Repositories (MSR'07:ICSE Workshops 2007).