Abstract—We exploit recent advances in analysis of graph topology to better understand software evolution, and to construct predictors that facilitate software development and maintenance. Managing an evolving, collaborative software system is a complex and expensive process, which still cannot ensure software reliability. Emerging techniques in graph mining have revolutionized the modeling of many complex systems and processes. We show how we can use a graph-based characterization of a software system to capture its evolution and facilitate development, by helping us estimate bug severity, prioritize refactoring efforts, and predict defect-prone releases. Our work consists of three main thrusts. First, we construct graphs that capture soft...
A bug report is typically assigned to a single developer who is then responsible for fixing the bug....
A bug report is typically assigned to a single developer who is then responsible for fixing the bug....
A bug report is typically assigned to a single developer who is then responsible for fixing the bug....
We still do not have clear figure about how software systems evolve and how we may control its evolu...
As software continues to evolve, complexity accumulates through various maintenance activities, such...
We present a suite of small tools, implemented as a pipeline of text file manipulating scripts, that...
The increasing complexity of today's software requires the contribution of thousands of developers. ...
Our thesis is that software repositories contain latent information that can be mined to enable quan...
This paper analyzes the influence of evolution activities such as refactoring on software defects. I...
The prediction of software defects was introduced to support development and maintenance activities ...
This paper analyzes the influence of evolution activities such as refactoring on software defects. I...
Software defects prediction was introduced to support development and maintenance activities such as...
We introduced a new approach to describe Java software as graph, where nodes represent a Java file -...
We introduced a new approach to describe Java software as graph, where nodes represent a Java file -...
Dependency graphs are at the heart of software analytics tasks like change impact analysis, test sel...
A bug report is typically assigned to a single developer who is then responsible for fixing the bug....
A bug report is typically assigned to a single developer who is then responsible for fixing the bug....
A bug report is typically assigned to a single developer who is then responsible for fixing the bug....
We still do not have clear figure about how software systems evolve and how we may control its evolu...
As software continues to evolve, complexity accumulates through various maintenance activities, such...
We present a suite of small tools, implemented as a pipeline of text file manipulating scripts, that...
The increasing complexity of today's software requires the contribution of thousands of developers. ...
Our thesis is that software repositories contain latent information that can be mined to enable quan...
This paper analyzes the influence of evolution activities such as refactoring on software defects. I...
The prediction of software defects was introduced to support development and maintenance activities ...
This paper analyzes the influence of evolution activities such as refactoring on software defects. I...
Software defects prediction was introduced to support development and maintenance activities such as...
We introduced a new approach to describe Java software as graph, where nodes represent a Java file -...
We introduced a new approach to describe Java software as graph, where nodes represent a Java file -...
Dependency graphs are at the heart of software analytics tasks like change impact analysis, test sel...
A bug report is typically assigned to a single developer who is then responsible for fixing the bug....
A bug report is typically assigned to a single developer who is then responsible for fixing the bug....
A bug report is typically assigned to a single developer who is then responsible for fixing the bug....