Integrated Approach for Prediction of Failures

So far we have analyzed sets of metrics—complexity metrics, code churn, code coverage, etc.—in isolation. In this section we address how the metrics may be combined to form stronger predictors of failures.

In Figure 23-3 a simple network of engineering working together in different binaries is shown. Similarly, Figure 23-3 shows the code dependencies between various networks. Figure 23-3 shows combining both pieces of information to integrate people, churn (in terms of edits/contributions), and dependencies together into one network.

Socio-technical networks [Bird et al. 2009]

Figure 23-3. Socio-technical networks [Bird et al. 2009]

For Windows Vista we generate such a network integrating the people, churn contribution, and dependency information. Several social-network measures [Bird et al. 2009], detailed next, are computed for the Windows Vista social network (similar to the network in Figure 23-3).

Ego network measures [Borgatti et al. 2002] are based on the neighborhood for any particular node. The node being evaluated is denoted ego, and the neighborhood includes ego, the set of nodes connected to an ego, and the complete set of edges between this set of nodes.


The number of nodes in the ego network


Number of edges in the ego network


Number of possible directed edges in the ego network


Proportion of possible ties that actually are present (Ties/Pairs)

Weak Components ...

Get Making Software now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.