The correctness of software systems is vital for their effective operation. It makes discovering and fixing software bugs an important development task. The increasing use of Artificial Intelligence (AI) techniques in Software Engineering led to the development of a number of techniques that can assist software developers in identifying potential bugs in code. In this paper, we present a comprehensible comparison and analysis of the efficacy of two AI-based approaches, namely single AI models and ensemble AI models, for predicting the probability of a Java class being buggy. We used two open-source Apache Commons Project's Java components for training and evaluating the models. Our experimental findings indicate that the ensemble of AI models can outperform the results of applying individual AI models. We also offer insight into the factors that contribute to the enhanced performance of the ensemble AI model. The presented results demonstrate the potential of using ensemble AI models to enhance bug prediction results, which could ultimately result in more reliable software systems.
翻译:软件系统的正确性对其有效运行至关重要,这使得发现和修复软件缺陷成为一项重要的开发任务。人工智能技术在软件工程中的广泛应用催生了多种能够协助软件开发人员识别代码中潜在缺陷的技术。本文对两种基于人工智能的方法,即单一人工智能模型与集成人工智能模型,在预测Java类存在缺陷概率方面的有效性进行了清晰易懂的比较与分析。我们使用两个开源的Apache Commons项目的Java组件来训练和评估模型。实验结果表明,人工智能模型的集成能够超越单个人工智能模型的应用效果。我们还深入分析了促成集成人工智能模型性能提升的相关因素。所呈现的结果展示了利用集成人工智能模型改进缺陷预测结果的潜力,这最终有助于构建更可靠的软件系统。