一句话:提出 BiLO-CPDP,用双层规划自动搜索跨项目缺陷预测中迁移学习器与分类器的最优组合及其超参数。
跨项目缺陷预测(CPDP)通过迁移学习器与分类器结合来借用相似项目数据,但确定合适的组合及其最优超参数十分困难。本文提出 BiLO-CPDP,首次从双层规划视角形式化 CPDP 模型自动发现问题:上层优化负责搜索迁移学习器与分类器的组合,下层嵌套优化负责调整对应超参数。在 20 个项目上,将该工具与 21 种现有 CPDP 技术、单层优化变体及 Auto-Sklearn 进行对比。结果表明,BiLO-CPDP 在 70% 的项目上优于全部 21 种现有技术,并且在所有案例中显著优于 Auto-Sklearn 和单层优化变体;其双层形式化还允许向上层分配更多预算,从而进一步提升性能。
Cross-Project Defect Prediction (CPDP), which borrows data from similar projects by combining a transfer learner with a classifier, have emerged as a promising way to predict software defects when the available data about the target project is insufficient. However, developing such a model is challenge because it is difficult to determine the right combination of transfer learner and classifier along with their optimal hyper-parameter settings. In this paper, we propose a tool, dubbed BiLO-CPDP, which is the first of its kind to formulate the automated CPDP model discovery from the perspective of bi-level programming. In particular, the bi-level programming proceeds the optimization with two nested levels in a hierarchical manner. Specifically, the upper-level optimization routine is designed to search for the right combination of transfer learner and classifier while the nested lower-level optimization routine aims to optimize the corresponding hyper-parameter settings. To evaluate BiLO-CPDP, we conduct experiments on 20 projects to compare it with a total of 21 existing CPDP techniques, along with its single-level optimization variant and Auto-Sklearn, a state-of-the-art automated machine learning tool. Empirical results show that BiLO-CPDP champions better prediction performance than all other 21 existing CPDP techniques on 70% of the projects, while being overwhelmingly superior to Auto-Sklearn and its single-level optimization variant on all cases. Furthermore, the unique bi-level formalization in BiLO-CPDP also permits to allocate more budget to the upper-level, which significantly boosts the performance.