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
   263   264   265   266   267   268   269   270   271   272   273