Template Matching-based Fault Fixing Technique for BPEL Programs and Its Optimization

被引:0
|
作者
Sun C.-A. [1 ]
Wu S.-Y. [1 ]
Zhang S.-F. [1 ]
Fu A. [1 ]
机构
[1] School of Computer & Communication Engineering, University of Science and Technology Beijing, Beijing
来源
Ruan Jian Xue Bao/Journal of Software | 2024年 / 35卷 / 06期
关键词
business process execution language (BPEL) program; fault fixing; program debugging; service composition; Web service;
D O I
10.13328/j.cnki.jos.006907
中图分类号
学科分类号
摘要
Business process execution language (BPEL) is an executable web service composition language. Compared with traditional programs, BPEL programs are significantly different in terms of programming models and execution modes. These new features make it challenging to locate and fix faults of BPEL programs detected during the testing process. In addition, fault fixing techniques developed for traditional software cannot be used for BPEL programs directly. This study proposes a fault fixing technique for BPEL programs based on template matching, namely BPELRepair from the perspective of mutation analysis. In order to overcome the high computational overhead of the mutation analysis-based fault fixing technique, a set of optimization strategies are proposed from three perspectives, namely patch generation, test case selection, and termination condition. A supporting tool is developed to improve the automation and efficiency of fault fixing for BPEL programs. An empirical study is used to evaluate the effectiveness of the proposed fault fixing technique and optimization strategies. The experimental results show that the proposed technique can successfully fix about 53% of faults of BPEL programs, and the proposed optimization strategies can significantly reduce the overhead in terms of search matching, patch program verification, test case execution, and fault fixing. © 2024 Chinese Academy of Sciences. All rights reserved.
引用
收藏
页码:2844 / 2862
页数:18
相关论文
共 29 条
  • [1] Goeb A, Lochmann K., A software quality model for SOA, Proc. of the 8th Int’l Workshop on Software Quality, pp. 18-25, (2011)
  • [2] What is SOA?, (2021)
  • [3] Wright G., BPEL (business process execution language), (2022)
  • [4] Wang XH, Zhao FY., Research summary for the key technology of software fault localization, Software Guide, 16, 7, pp. 205-209, (2017)
  • [5] Boubeta-Puig J, Medina-Bulo I, Garcia-Dominguez A., Analogies and differences between mutation operators for WS-BPEL 2.0 and other languages, Proc. of the 4th Int’l Conf. on Software Testing, Verification and Validation Workshops, pp. 398-407, (2011)
  • [6] Sun CA, Zhai YM, Shang Y, Zhang ZY., BPELDebugger: An effective BPEL-specific fault localization framework, Information and Software Technology, 55, 12, pp. 2140-2153, (2013)
  • [7] Sun CA, Ran YF, Zheng CY, Liu H, Towey D, Zhang XY., Fault localisation for WS-BPEL programs based on predicate switching and program slicing, Journal of Systems and Software, 135, pp. 191-204, (2018)
  • [8] Sun CA, Zhang SF, Zhu WZ., Mutation based fault localization technique for BPEL programs, Computer Science, 48, 1, pp. 301-307, (2021)
  • [9] Subramanian S, Thiran P, Narendra NC, Mostefaoui GK, Maamar Z., On the enhancement of BPEL engines for self-healing composite Web services, Proc. of the 2008 Int’l Symp. on Applications and the Internet, pp. 33-39, (2008)
  • [10] Modafferi S, Mussi E, Pernici B., SH-BPEL: A self-healing plug-in for Ws-BPEL engines, Proc. of the 1st Workshop on Middleware for Service Oriented Computing (MW4SOC 2006), pp. 48-53, (2006)