基于横切关注点的程序缺陷探查工具的设计与实现

来源 :北京大学 | 被引量 : 0次 | 上传用户:pailfj
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
近年来,计算机软件规模迅速扩张,软件功能日渐复杂,给开发健壮的软件系统带来困难。尤其在大型软件开发中,容易引入程序缺陷与错误。自动或半自动的程序缺陷探查工具,为开发者提供在软件系统中定位潜在程序缺陷的功能,有助于大型软件的健壮性提升。 一种近期流行的程序缺陷探查方法是对各种程序特征进行抽取,总结出相应的规则,将不符合规则的实现部分作为可能的程序缺陷。大型软件系统中的程序缺陷,多发生在横切关注点(cross-cuttingConcern)的实现之中(如:内存分配回收、参数检查、同步、系统功能配置)。对实现横切关注点的代码部分进行分析,总结出其实现模式,通过对与实现模式不一致的反常横切关注点实现的定位,可以发现程序中与横切关注点实现有关的代码中存在的可能缺陷。 本文提出一种基于横切关注点的程序缺陷探查方法。采用基于变量操作序列的定位技术,在变量的细粒度上,找出实现横切关注点的源代码部分。按照所包含的横切关注点的特征,对包含类似横切关注点的函数实现进行分区。在每个分区中根据横切关注点的实现模式定位反常的横切关注点实现,使用基于经验的方法进行筛选以得出本工具所推荐的缺陷候选。在此基础上,用户可以根据具体的领域知识对缺陷候选进行验证,以确定缺陷列表。 本文在Eclipse平台上实现了缺陷探查工具原型,并在Linux2.6.21版源代码上进行了实验。实验结果表明,基于横切关注点的程序缺陷探查方法切实可行。
其他文献
博客是一种基于RSS技术的信息交互平台,目前发展极为迅速。博客作者常常就感兴趣的话题发表文章、做出评论,对感兴趣的其他作者添加为好友,这些特征行为构成了潜在的博客社区。
稀疏数据是指包含大量空值的数据,具有维度高、稀疏、模式易变等特点。稀疏数据在实际应用中的大量出现给现代的RDBMS带来了巨大的挑战。在各类海量数据管理系统中,如何设计稀
强化学习是与传统的监督学习完全不同的学习框架。在强化学习中,agent感知环境的状态并采取相应的动作,同时得到环境的奖赏反馈。agent无需假设任何有关环境的先验知识,而是通过
软件体系结构作为高层的设计蓝图,在软件系统开发的过程中,其主要角色包括:支持开发人员之间的交流、直接支持系统开发、支持软件复用等。目前存在的问题是软件体系结构设计不断
如今,软件在人们的社会生活中占据越来越重要的地位,软件的正确性也受到人们越来越多的重视。特别是随着敏捷开发、开源软件等快速迭代开发模式的出现,人们对软件的安全可信提出
随着现代软件工程和开发技术的发展,SOA技术以其灵活高效的优势赢得了普遍的支持,并已经在分布式计算方面形成了一场革命。而另一方面人们逐渐进入了Web2.0时代,AJAX技术成为Web
为了实现磁共振快速成像,一种可行的方法是减少K空间数据的采集量。然而,基于欠采样K空间数据进行磁共振图像重建的问题是一个病态的反问题。由于压缩感知理论的出现,基于稀疏性
在本体构建和应用过程中,知识表示的正确性、表达性,以及是否可被共享和复用,将直接影响到对本体的正确应用。本体评价作为把握上述问题的必要手段之一,目前已经得到越来越多的研
随着数据挖掘技术的日益发展,数据隐私和信息安全逐渐引起人们的关注。如何保护私有信息或敏感信息在挖掘过程中不被泄露,已经成为数据挖掘研究中的一个很有意义的研究课题。
大数据时代,分布式文件系统存储服务面临巨大的压力与挑战,元数据管理技术是新型分布式文件系统实现可扩展性的关键因素,近年来受到了工业界和学术界的普遍关注。相比于数据,元数