错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

NLP-Based Test Co-evolution Prediction for IoT Application Maintenance

  • Yuyong Liu,
  • Zhifei Chen

摘要

The increasing deployment of the Internet of Things (IoT) leads to the diversified development of IoT-based applications. However, due to the fast updates and the growing scale of IoT applications, IoT developers mainly focus on the production code but overlook the co-evolution of the corresponding test code. To facilitate the maintenance of IoT applications, this paper proposes an NLP-based approach to predict whether the test code needs to be co-changed when its production code is updated. We collected data from the most popular projects on GitHub (top 1,000 with the highest stars). Three neural encoders were employed to capture semantic features of commit messages, production code changes, and related test code. We then generated our training samples, in which the features of each sample consist of < Commit Message, Production Code Change, Test Unit Code >. Finally, a neural network model was built by learning the correlations among these features to determine the possibility of test co-evolution. We evaluated the effectiveness of our NLP-based approach on 15 widely used Python projects in the IoT domain. The evaluation result shows that the prediction accuracy of our model achieves 93%, highlighting the practical significance of our approach in the maintenance of IoT applications.