% Intro.tex

\section{Introduction}
\label{intro:sec}
A remarkable recent discovery is that \emph{social metrics} (that model the sociology of the programmers working on the code) can be an effective predictor for defect injection and removal~\cite{bird09,bird09a,nach08,Guo2010}. For example, Guo \etal~\cite{Guo2010} demonstrate that  the reputation of the developer who reported a bug relates to the odds that that bug will get fixed. 

A premise of the social metrics research is that code repositories contain more than just static code measures. But, not all code repositories contain detailed knowledge about how developers interact around a code base. Consider, for example, the Helix project~\cite{Helix10a}, which has studied 40+ multi-year large open-source systems under active development. Many developers contributed to those systems but their code repositories  are very weak sources for information regarding a developer's social context.

Nevertheless, we show here that it is possible use static code measures to %infer patterns which 
capture how programmers interact with their code. Specifically,  it is %possible 
feasible
to find what parts of the code 
are most ``active,'' that is, are the focus of much of the shared attention of all developers working  to organize behavior and functionality at suitable system-specific levels~\cite{Vasa10a,vasa:09a,lumpe:10a}. %Further, 
This opens intriguing options for guiding quality assurance processes. 
In particular, we demonstrate that a small set of activity-based static code metrics can serve as a good predictor for defects in object-oriented software.

%we can use ``popularity'' to great effect. Specifically:
%\begin{quote}
%\emph{``Popularity''-based static code metrics are good predictors for defects in object-oriented software.}
%\end{quote}

The rest of this paper is structured as follows. The next section
expands on this notion of ``activity.'' After that, the general
field of defect prediction and inspection optimization is discussed.
We then turn to the experiments showing the value of activity
measures. We demonstrate that in \NSystems open-source Java projects
activity-based defect predictors work within 4\% of a theoretical
upper bound on predictor performance (this is the basis for our
claim that a small set of static metrics %are nearly perfect 
can generate an excellent performance
within the context of inspection optimization).
%such predictors are ``nearly perfect''). 
The validity of our conclusions is then discussed, which will lead into a review
of possible future directions for this work. 

