服务化软件的缺陷检测技术研究

来源 :北京大学 | 被引量 : 0次 | 上传用户:gx7411
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
面向服务架构(SOA)为开发与维护日益复杂的企业应用软件提供了有效解决方案。因此,基于SOA的技术得到广泛应用,如何有效地保证基于SOA的服务化软件质量也日益受到重视。但是,企业应用的分布式特性与SOA自身特点,给服务化软件质量保障带来新的挑战。  测试与静态检测是保证软件质量的两种重要方法,由于SOA利用松耦合、自治、可粗粒度复用的服务构造分布式应用,使得服务化软件的测试面临诸多新困难。已有的服务测试研究工作,并不能解决诸如对服务运行平台的可控程度弱、在线测试代价大与风险高等困难。而保证软件质量的静态检测方法可以避免这些问题。因此,采用静态方法检测服务化软件的缺陷具有实际意义。  静态检测服务化软件缺陷的方法,适用于检测预先设定类型的缺陷。已有的工作检测了诸多类型的缺陷。因此,静态方法可以检测不适合或不能通过测试来发现的缺陷,这对于降低测试服务化软件代价,提高服务化软件质量具有重要意义。针对已有的静态检测工作尚未解决的服务化软件的并发缺陷、引用环路与会话缺陷等,本文根据服务化软件的结构特点,探讨静态检测这些缺陷的方法。具体工作概述如下:  1.针对服务化软件并发缺陷,提出一种轻量级静态检测技术。该技术在总结服务化软件中复杂数据依赖关系与控制依赖关系基础上,用消息传播图对服务化软件数据流建模;基于消息传播图与控制依赖关系,用活动依赖关系图对程序中活动时序关系建模;从活动依赖关系图构造可并发运行的活动序列分组集合,以该集合为基础检测服务化软件并发缺陷。  2.针对服务引用环路,提出一种轻量级静态检测技术。该技术通过扩展服务接口描述的信息,提出并实现了预防服务新增引用环路的策略,在此基础上,检测服务集合中服务引用环路。  3.针对服务化软件会话缺陷,提出一种轻量级静态检测技术。在归纳总结服务运行平台消息路由机制、服务化软件通信模式以及消息关联机制等对服务会话影响的基础上,抽象出服务化软件正确会话的必要条件;利用消息端点对服务化软件中接收与发送消息的活动建模,以及用消息端点时序关系图对服务化软件建模,根据消息端点时序关系图生成服务化软件所有可能的消息端点序列,利用正确会话的必要条件来判定每一消息端点序列是否存在会话缺陷。  实验结果表明本文提出的静态检测服务化软件并发缺陷、会话缺陷的方法能有效地检测对应类型的缺陷。此外,本文从理论上论述了所提出的服务引用环路预防与检测方法的正确性。
其他文献
在模糊专家系统,模糊控制,模糊决策支持系统与模糊模式识别等许多智能系统的开发研究中,常常会遇到许多具有模糊性的不确定信息与数据,为了表示和处理这些模糊的信息与数据,Zadeh
学位
随着电子商务的快速发展,网络购物在人们的生活中扮演着越来越重要的角色。然而随着商品的数量越来越多,用户从海量商品中寻找合适和喜爱的商品反而变得越来越困难,因此需要一种
学位
该文结合江苏省高速公路联网慢费系统,讨论了一些流行的ETC技术,并对这些技术 发进行了分析和比较,并介绍了自动收费系统的设计和实现.同时,文中还探讨了人工收费和自动收费
随着云计算、物联网、社交网络和下一代通讯网络等新兴技术的广泛应用,城市信息化速度正在不断加快,智慧城市正在成为全球城市发展的新方向。智慧城市将传统地理意义上的城市区
计算机外存储设备是计算机体系结构中一个重要的组成部分,它以计算机性能的提高起着越来越重要的作用.但当前的外设却存在着速度慢、不抗震动、易损坏等缺陷.该课题研究的项
属性论从神经科学的实验结果、哲学和逻辑学的基本原理出发,以人类认识的心理过程为主线,以先进的数学理论——范畴论为工具,充分利用人工智能、思维科学、认知科学及计算机科学
该文从知识工程的角度出发,对工程智能CAD 系统中的知识库管理系统进行了研究.工程设计问题具有高度智能性和复杂性,无法使用通用的生产方式系统来进行求解,必须要有专门智能
随着互联网(特别是移动互联网)的普及,越来越多的人能够随时随地通过计算设备去方便地浏览和分享各种各样的多媒体数据。用户在面对以主动浏览或被动推送形式所获取的海量多媒体