基于覆盖率的错误定位(Coverage Based Fault Localization,CBFL)方法旨在通过分析程序执行的结果预测错误信息,是一种行之有效的错误定位方法.然而,CBFL方法中代码覆盖率的独立统计忽略了程序内存在的复杂控制依赖和数据依赖,从而忽视...基于覆盖率的错误定位(Coverage Based Fault Localization,CBFL)方法旨在通过分析程序执行的结果预测错误信息,是一种行之有效的错误定位方法.然而,CBFL方法中代码覆盖率的独立统计忽略了程序内存在的复杂控制依赖和数据依赖,从而忽视了语句间的语义关系,影响错误定位的准确性.该文借助实例重点分析了基于代码覆盖率所得到的错误可疑度与错误代码的表现关系,指出现有CBFL方法的不足是片面地将基于覆盖率的错误可疑度直接作为错误代码判定的依据;提出程序失效规则及基于覆盖向量的覆盖信息分析模型,并在此模型基础之上,指出高可疑代码与错误代码在执行路径上的覆盖一致性,进而提出用以挖掘与高可疑代码相关联的错误代码的频繁集求解方法.以SIR基准程序为实验对象建立的受控实验结果表明,相比之前的研究,文中方法在一定程度上能够改进错误定位结果.展开更多
为了解决当前软件过程重用方法中存在的问题,特别是由于缺乏对软件过程组件及其操作法则的精确定义所带来的重用中的低效率问题,介绍了一种形式化的组件化软件过程建模方法(componentized software process modeling,简称CSPM).CSPM提...为了解决当前软件过程重用方法中存在的问题,特别是由于缺乏对软件过程组件及其操作法则的精确定义所带来的重用中的低效率问题,介绍了一种形式化的组件化软件过程建模方法(componentized software process modeling,简称CSPM).CSPM提供了形式化定义可重用软件过程的机制,并且给出了将过程组件组合成过程模型的一系列操作法则.利用CSPM方法,能够以严格的方式对软件过程组件进行重用,并且有效地避免了传统非形式化建模方法中因歧义而有可能引起的潜在错误.CSPM还可以将对组装后的软件过程模型针对某些特定性质的验证问题转化成对其对应组件的一系列子验证问题,从而通过指数地减少需要搜索的状态空间规模,将原来在某些特定环境下不实用的验证问题简化成验证代价较小的一系列问题.展开更多
文摘基于覆盖率的错误定位(Coverage Based Fault Localization,CBFL)方法旨在通过分析程序执行的结果预测错误信息,是一种行之有效的错误定位方法.然而,CBFL方法中代码覆盖率的独立统计忽略了程序内存在的复杂控制依赖和数据依赖,从而忽视了语句间的语义关系,影响错误定位的准确性.该文借助实例重点分析了基于代码覆盖率所得到的错误可疑度与错误代码的表现关系,指出现有CBFL方法的不足是片面地将基于覆盖率的错误可疑度直接作为错误代码判定的依据;提出程序失效规则及基于覆盖向量的覆盖信息分析模型,并在此模型基础之上,指出高可疑代码与错误代码在执行路径上的覆盖一致性,进而提出用以挖掘与高可疑代码相关联的错误代码的频繁集求解方法.以SIR基准程序为实验对象建立的受控实验结果表明,相比之前的研究,文中方法在一定程度上能够改进错误定位结果.
文摘为了解决当前软件过程重用方法中存在的问题,特别是由于缺乏对软件过程组件及其操作法则的精确定义所带来的重用中的低效率问题,介绍了一种形式化的组件化软件过程建模方法(componentized software process modeling,简称CSPM).CSPM提供了形式化定义可重用软件过程的机制,并且给出了将过程组件组合成过程模型的一系列操作法则.利用CSPM方法,能够以严格的方式对软件过程组件进行重用,并且有效地避免了传统非形式化建模方法中因歧义而有可能引起的潜在错误.CSPM还可以将对组装后的软件过程模型针对某些特定性质的验证问题转化成对其对应组件的一系列子验证问题,从而通过指数地减少需要搜索的状态空间规模,将原来在某些特定环境下不实用的验证问题简化成验证代价较小的一系列问题.