摘要

针对跨项目软件缺陷预测中大量不相关的跨项目数据损害了缺陷预测模型性能的问题,提出了一种基于SSDBSCAN(semi-suppervised density-based clustering)的跨项目缺陷预测数据筛选方法——SSDBSCAN filter.首先,SSDBSCAN filter结合少量带类标号的本项目历史数据、跨项目历史数据和大量不带类标号的本项目数据;然后,利用SSDBSCAN算法对这些数据进行聚类发现子簇;最后,收集子簇中的跨项目数据,不属于任何簇的跨项目数据被作为噪声数据而丢弃.实验使用15个公开的PROMISE数据集,3种分类器和4种性能度量指标.实验结果表明,相比于目前已有的Burak filter和DBSCAN filter方法,SSDBSCAN filter在提高了预测率的同时降低了误报率,且G-measure与AUC度量值更佳.