Web services are becoming increasingly popular technologies for modern organizations to improve their cooperation and collaboration through building new software systems by composing pre-built services. Such services are typically composed and executed through BPEL (Business Process Execution Language) processes. Like any other software artifact, such processes are frequently changed to add new or modify existing functionalities or adapt to environmental changes. However, poorly planned changes may introduce BPEL process design defects known as anti-patterns or defects. The presence of defects often leads to a regression in software quality. In this paper, we introduce an automated approach to predict the presence of defects in BPEL code using Multi-Objective Genetic Programming (MOGP). Our approach consists of learning from real-world instances of each service-based business process defect (i.e., anti-pattern) type to infer prediction rules based on the combinations of process metrics and their associated threshold values. We evaluate our approach based on a dataset of 178 real-world business processes that belong to various application domains, and a variety of BPEL process defect types such as data flow and portability defects. The statistical analysis of the achieved results shows the effectiveness of our approach in identifying defects compared with state-of-the-art techniques with a median accuracy of 91%.
Read full abstract