BPEL(business process execution language)是一种可执行的Web服务组合语言.与传统程序相比,BPEL程序在编程模型、执行方式等方面存在较大差异.这些新特点使得如何定位并修改测试阶段发现的BPEL程序故障成为挑战,面向传统软件的故障修...BPEL(business process execution language)是一种可执行的Web服务组合语言.与传统程序相比,BPEL程序在编程模型、执行方式等方面存在较大差异.这些新特点使得如何定位并修改测试阶段发现的BPEL程序故障成为挑战,面向传统软件的故障修复技术难以直接应用于BPEL程序.从变异分析角度出发,提出一种基于模板匹配的BPEL程序故障修复方法BPELRepair.为了克服基于变异分析的故障修复技术计算开销高的缺点,从补丁生成、测试用例选择以及终止条件3个角度提出多种优化策略.开发一个BPEL故障修复支持工具,提高故障修复的自动化程度与效率.采用经验研究的方式,评估所提故障修复技术及优化策略的有效性.实验结果表明,所提故障修复方法能够成功修复约53%的BPEL程序故障;所提优化策略能够显著降低搜索匹配、补丁程序验证、测试用例执行与故障修复等方面的开销.展开更多
Program slice has many applications such as program debugging, testing, maintenance, and complexity measurement. A static slice consists of all statements in program P that may effect the value of variable v a...Program slice has many applications such as program debugging, testing, maintenance, and complexity measurement. A static slice consists of all statements in program P that may effect the value of variable v at some point p , and a dynamic slice consists only of statements that influence the value of variable occurrence for specific program inputs. In this paper, we concern the problem of dynamic slicing of object oriented programs which, to our knowledge, has not been addressed in the literatures. To solve this problem, we present the dynamic object oriented dependence graph (DODG)which is an arc classified digraph to explicitly represent various dynamic dependence between statement instances for a particular execution of an object oriented program. Based on the DODG, we present a two phase backward algorithm for computing a dynamic slice of an object oriented program.展开更多
The development of the information technology has brought threats to human society when it has influenced seriously the global politics, economics and military etc. But among the security of information system, buffer...The development of the information technology has brought threats to human society when it has influenced seriously the global politics, economics and military etc. But among the security of information system, buffer overrun vulnerability is undoubtedly one of the most important and common vulnerabilities. This paper describes a new technology, named program slicing, to detect the buffer overflow leak in security-critical C code. First, we use slicing technology to analyze the variables which may be with vulnerability and extract the expressions which will bring memory overflow. Secondly, we utilize debug technology to get the size of memory applied by the variable and the size of memory used for these code segments (the slicing result) further. Therefore we can judge whether it will overflow according to the analysis above. According to the unique excellence of program slicing performing in the large-scale program’s debugging, the method to detect buffer overrun vulnerability described in this paper will reduce the workload greatly and locate the code sentences affected by corresponding variable set quickly, particularly including the potential vulnerability caused by parameter dependence among the subroutines.展开更多
文摘BPEL(business process execution language)是一种可执行的Web服务组合语言.与传统程序相比,BPEL程序在编程模型、执行方式等方面存在较大差异.这些新特点使得如何定位并修改测试阶段发现的BPEL程序故障成为挑战,面向传统软件的故障修复技术难以直接应用于BPEL程序.从变异分析角度出发,提出一种基于模板匹配的BPEL程序故障修复方法BPELRepair.为了克服基于变异分析的故障修复技术计算开销高的缺点,从补丁生成、测试用例选择以及终止条件3个角度提出多种优化策略.开发一个BPEL故障修复支持工具,提高故障修复的自动化程度与效率.采用经验研究的方式,评估所提故障修复技术及优化策略的有效性.实验结果表明,所提故障修复方法能够成功修复约53%的BPEL程序故障;所提优化策略能够显著降低搜索匹配、补丁程序验证、测试用例执行与故障修复等方面的开销.
文摘Program slice has many applications such as program debugging, testing, maintenance, and complexity measurement. A static slice consists of all statements in program P that may effect the value of variable v at some point p , and a dynamic slice consists only of statements that influence the value of variable occurrence for specific program inputs. In this paper, we concern the problem of dynamic slicing of object oriented programs which, to our knowledge, has not been addressed in the literatures. To solve this problem, we present the dynamic object oriented dependence graph (DODG)which is an arc classified digraph to explicitly represent various dynamic dependence between statement instances for a particular execution of an object oriented program. Based on the DODG, we present a two phase backward algorithm for computing a dynamic slice of an object oriented program.
文摘The development of the information technology has brought threats to human society when it has influenced seriously the global politics, economics and military etc. But among the security of information system, buffer overrun vulnerability is undoubtedly one of the most important and common vulnerabilities. This paper describes a new technology, named program slicing, to detect the buffer overflow leak in security-critical C code. First, we use slicing technology to analyze the variables which may be with vulnerability and extract the expressions which will bring memory overflow. Secondly, we utilize debug technology to get the size of memory applied by the variable and the size of memory used for these code segments (the slicing result) further. Therefore we can judge whether it will overflow according to the analysis above. According to the unique excellence of program slicing performing in the large-scale program’s debugging, the method to detect buffer overrun vulnerability described in this paper will reduce the workload greatly and locate the code sentences affected by corresponding variable set quickly, particularly including the potential vulnerability caused by parameter dependence among the subroutines.