Page 268 - 《软件学报》2024年第6期
P. 268
软件学报 ISSN 1000-9825, CODEN RUXUEW E-mail: jos@iscas.ac.cn
Journal of Software,2024,35(6):2844−2862 [doi: 10.13328/j.cnki.jos.006907] http://www.jos.org.cn
©中国科学院软件研究所版权所有. Tel: +86-10-62562563
*
基于模板匹配的 BPEL 程序故障修复及优化技术
孙昌爱, 吴思懿, 张守峰, 付 安
(北京科技大学 计算机与通信工程学院, 北京 100083)
通信作者: 孙昌爱, E-mail: casun@ustb.edu.cn
摘 要: BPEL (business process execution language) 是一种可执行的 Web 服务组合语言. 与传统程序相比, BPEL 程
序在编程模型、执行方式等方面存在较大差异. 这些新特点使得如何定位并修改测试阶段发现的 BPEL 程序故障
成为挑战, 面向传统软件的故障修复技术难以直接应用于 BPEL 程序. 从变异分析角度出发, 提出一种基于模板匹
配的 BPEL 程序故障修复方法 BPELRepair. 为了克服基于变异分析的故障修复技术计算开销高的缺点, 从补丁生
成、测试用例选择以及终止条件 3 个角度提出多种优化策略. 开发一个 BPEL 故障修复支持工具, 提高故障修复
Key words: program debugging; fault fixing; Web service; service composition; business process execution language (BPEL) program
的自动化程度与效率. 采用经验研究的方式, 评估所提故障修复技术及优化策略的有效性. 实验结果表明, 所提故
障修复方法能够成功修复约 53% 的 BPEL 程序故障; 所提优化策略能够显著降低搜索匹配、补丁程序验证、测试
用例执行与故障修复等方面的开销.
关键词: 程序调试; 故障修复; Web 服务; 服务组合; BPEL 程序
中图法分类号: TP311
中文引用格式: 孙昌爱, 吴思懿, 张守峰, 付安. 基于模板匹配的BPEL程序故障修复及优化技术. 软件学报, 2024, 35(6):
2844–2862. http://www.jos.org.cn/1000-9825/6907.htm
英文引用格式: Sun CA, Wu SY, Zhang SF, Fu A. Template Matching-based Fault Fixing Technique for BPEL Programs and Its
Optimization. Ruan Jian Xue Bao/Journal of Software, 2024, 35(6): 2844–2862 (in Chinese). http://www.jos.org.cn/1000-9825/6907.
htm
Template Matching-based Fault Fixing Technique for BPEL Programs and Its Optimization
SUN Chang-Ai, WU Si-Yi, ZHANG Shou-Feng, FU An
(School of Computer & Communication Engineering, University of Science and Technology Beijing, Beijing 100083, China)
Abstract: 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.
近年来, 面向服务的架构 (service oriented architecture, SOA) 已经成为主流的软件开发范型 [1,2] . Web 服务是
SOA 架构下软件系统的基本组成单元 [3] , 通常由不同的机构或组织完成. BPEL (business process execution
* 基金项目: 国家自然科学基金 (61872039, 62272037); 北京市自然科学基金 (4162040); 航空科学基金 (2016ZD74004)
收稿时间: 2022-09-20; 修改时间: 2022-11-17; 采用时间: 2023-01-19; jos 在线出版时间: 2023-07-05
CNKI 网络首发时间: 2023-07-06