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 条
  • [11] Friedrich G, Fugini MG, Mussi E, Pernici B, Tagni G., Exception handling for repair in service-based processes, IEEE Trans. on Software Engineering, 36, 2, pp. 198-215, (2010)
  • [12] Papadakis M, Le Traon Y., Using mutants to locate “unknown” faults, Proc. of the 5th Int’l Conf. on Software Testing, Verification and Validation, pp. 691-700, (2012)
  • [13] DeMillo RA, Lipton RJ, Sayward FG., Hints on test data selection: Help for the practicing programmer, Computer, 11, 4, pp. 34-41, (1978)
  • [14] Jia Y, Harman M., An analysis and survey of the development of mutation testing, IEEE Trans. on Software Engineering, 37, 5, pp. 649-678, (2011)
  • [15] Papadakis M, Le Traon Y., Effective fault localization via mutation analysis: A selective mutation approach, Proc. of the 29th Annual ACM Symp. on Applied Computing, pp. 1293-1300, (2014)
  • [16] Estero-Botaro A, Palomo-Lozano F, Medina-Bulo I, Dominguez-Jimenez JJ, Garcia-Dominguez A., Quality metrics for mutation testing with applications to WS-BPEL compositions, Software Testing, Verification and Reliability, 25, 5–7, pp. 536-571, (2015)
  • [17] Debroy V, Wong WE., Using mutation to automatically suggest fixes for faulty programs, Proc. of the 3rd Int’l Conf. on Software Testing, Verification and Validation, pp. 65-74, (2010)
  • [18] Zheng CY., A predicate switching based approach to locating faults of BPEL programs and supporting tool, (2015)
  • [19] Sun CA, Wang Z, Pan L., Optimized mutation testing techniques for WS-BPEL programs, Journal of Computer Research and Development, 56, 4, pp. 895-905, (2019)
  • [20] Le XBD, Lo D, Le Goues C., History driven program repair, Proc. of the 23rd Int’l Conf. on Software Analysis, Evolution, and Reengineering, pp. 213-224, (2016)