As the boom of mobile devices,Android mobile apps play an irreplaceable roles in people’s daily life,which have the characteristics of frequent updates involving in many code commits to meet new requirements.Just-in-...As the boom of mobile devices,Android mobile apps play an irreplaceable roles in people’s daily life,which have the characteristics of frequent updates involving in many code commits to meet new requirements.Just-in-Time(JIT)defect prediction aims to identify whether the commit instances will bring defects into the new release of apps and provides immediate feedback to developers,which is more suitable to mobile apps.As the within-app defect prediction needs sufficient historical data to label the commit instances,which is inadequate in practice,one alternative method is to use the cross-project model.In this work,we propose a novel method,called KAL,for cross-project JIT defect prediction task in the context of Android mobile apps.More specifically,KAL first transforms the commit instances into a high-dimensional feature space using kernel-based principal component analysis technique to obtain the representative features.Then,the adversarial learning technique is used to extract the common feature embedding for the model building.We conduct experiments on 14 Android mobile apps and employ four effort-aware indicators for performance evaluation.The results on 182 cross-project pairs demonstrate that our proposed KAL method obtains better performance than 20 comparative methods.展开更多
基金supported by the National Natural Science Foundation of China (Grant No.62072060).
文摘As the boom of mobile devices,Android mobile apps play an irreplaceable roles in people’s daily life,which have the characteristics of frequent updates involving in many code commits to meet new requirements.Just-in-Time(JIT)defect prediction aims to identify whether the commit instances will bring defects into the new release of apps and provides immediate feedback to developers,which is more suitable to mobile apps.As the within-app defect prediction needs sufficient historical data to label the commit instances,which is inadequate in practice,one alternative method is to use the cross-project model.In this work,we propose a novel method,called KAL,for cross-project JIT defect prediction task in the context of Android mobile apps.More specifically,KAL first transforms the commit instances into a high-dimensional feature space using kernel-based principal component analysis technique to obtain the representative features.Then,the adversarial learning technique is used to extract the common feature embedding for the model building.We conduct experiments on 14 Android mobile apps and employ four effort-aware indicators for performance evaluation.The results on 182 cross-project pairs demonstrate that our proposed KAL method obtains better performance than 20 comparative methods.