| It is usually expensive and difficult to find and fix faulty modules before the release of a software system. To alleviate this problem, a common way is to use fault-proneness prediction models to identify the most fault-prone modules. Currently, researchers mainly employ two types of metrics to build fault-proneness prediction models:code metrics (such as code size and complexity metrics) and process metrics (such as the number of developers and the number of history changes). Many studies have shown that process metrics are more effective and powerful than code metrics for fault-proneness prediction. The reason is that many process metrics take into account developer activities while code metrics do not. Indeed, the importance of developer activities on software quality has been well recognized by software engineering community. Recently, it has been found that process metrics incorporating developer experience (defined as the percentage of the code a developer contribute during the developing process) exhibit a good ability to predict fault-proneness. However, developer quality, which we strongly believe should have a great influence on software quality, is surprisingly ignored. In this paper, we first quantify the quality of a developer via the percentage of history bug-introduce commits over all his/her commits during the development process. Then, we leverage developer quality information to develop eight file quality metrics for quantifying file quality. Finally, we empirically study the usefulness of these eight file quality metrics for fault-proneness prediction. Based on eight open source software systems, our experiment results show that:(1) these developer-quality-based process quality metrics capture additional information compared with existing process metrics;(2) most of the proposed file quality metrics have a significant association with fault-proneness in an expected direction; and (3) the proposed file quality metrics can in general substantially improve the effectiveness of fault-proneness prediction models when together used with existing process metrics. These results suggest that developer quality has a strong influence on software quality and should be taken into account when predicting software fault-proneness. |