Abstract. We apply machine-learning techniques to help automate the process of mining the version history of software projects. Analysis of version histories is important in the study of software evolution. One of the associated problems is tracing program elements which have changed or moved as the result of file restructuring. As an initial application, we have developed classifiers to identify one such type of file change, ‘split files’. Our process involves extracting features through syntactic analysis of the original source code, and then training and evaluating classifiers against a set of data assessed by visual inspection. We analysed 266K files from 84 open-source projects, filtering out a set of candidate files for which our clas...
Analyzing historical information can show how a software system evolved into its current state, whic...
The software files, such as the version repositories of errors, stored much of the activity related ...
Ability to predict whether a change in one file may require a change in another can be extremely hel...
This paper introduces a new technique for finding latent software bugs called change classification....
Modern distributed version control systems, such as Git, offer support for branching — the possibili...
Software developers are often faced with modification tasks that involve source which is spread acro...
Traditional algorithms for detecting differences in source code focus on differences between lines. ...
We apply data mining to version histories in order to guide programmers along related changes: “Prog...
Many software projects use Software Configuration Management systems to support their development pr...
The topic of this thesis is the analysis of the evolution of software components. In order to track ...
Software Configuration Management systems are important instruments for supporting development of la...
Many software projects use Software Configuration Management systems to support their development pr...
Version control and bug tracking systems contain large amounts of historical information that can gi...
Aspect mining identifies cross-cutting concerns in a program to help migrating it to an aspect-orien...
While most of the existing class stability assessors just rely on structural information retrieved f...
Analyzing historical information can show how a software system evolved into its current state, whic...
The software files, such as the version repositories of errors, stored much of the activity related ...
Ability to predict whether a change in one file may require a change in another can be extremely hel...
This paper introduces a new technique for finding latent software bugs called change classification....
Modern distributed version control systems, such as Git, offer support for branching — the possibili...
Software developers are often faced with modification tasks that involve source which is spread acro...
Traditional algorithms for detecting differences in source code focus on differences between lines. ...
We apply data mining to version histories in order to guide programmers along related changes: “Prog...
Many software projects use Software Configuration Management systems to support their development pr...
The topic of this thesis is the analysis of the evolution of software components. In order to track ...
Software Configuration Management systems are important instruments for supporting development of la...
Many software projects use Software Configuration Management systems to support their development pr...
Version control and bug tracking systems contain large amounts of historical information that can gi...
Aspect mining identifies cross-cutting concerns in a program to help migrating it to an aspect-orien...
While most of the existing class stability assessors just rely on structural information retrieved f...
Analyzing historical information can show how a software system evolved into its current state, whic...
The software files, such as the version repositories of errors, stored much of the activity related ...
Ability to predict whether a change in one file may require a change in another can be extremely hel...