[发明专利]一种基于配置项性能期望的软件性能缺陷检测方法有效

专利信息
申请号: 202010610996.3 申请日: 2020-06-29
公开(公告)号: CN111611177B 公开(公告)日: 2023-06-09
发明(设计)人: 李姗姗;廖湘科;王戟;董威;何浩辰;陈振邦;陈立前;贾周阳;王腾 申请(专利权)人: 中国人民解放军国防科技大学
主分类号: G06F11/36 分类号: G06F11/36;G06F11/34;G06F18/214
代理公司: 湖南企企卫知识产权代理有限公司 43257 代理人: 任合明
地址: 410073 湖*** 国省代码: 湖南;43
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 配置 性能 期望 软件 缺陷 检测 方法
【说明书】:

发明公开了一种基于配置项性能期望的软件性能缺陷检测方法,目的是提供一种有效检测出配置项相关性能缺陷的方法。技术方案为:利用配置项性能期望构建由配置项期望预测模块、测试样例生成模块、性能缺陷检测模块构成的性能缺陷检测系统;对配置项期望预测模块进行训练;读入待检测软件由配置项期望预测模块预测配置项的性能期望,测试样例生成模块根据性能期望和软件测试集生成测试样例,性能缺陷检测模块执行测试样例并检测性能期望和实际性能是否相符,若不相符则输出性能缺陷。采用本发明既能有效检测出软件性能缺陷,又能为软件社区检测出新的性能缺陷,且采用本发明可有效判别无缺陷软件和有缺陷软件的性能差异。

技术领域

本发明涉及大型软件中的性能缺陷检测领域,具体涉及一种基于配置项性能期望的软件性能缺陷检测方法。

背景技术

随着社会的不断进步,软件系统已经在各个领域得到广泛应用,在现代社会中扮演着举足轻重的角色,发挥了重要的作用。随着软件系统的不断发展,人们对软件的可靠性,安全性,性能(软件运行速度)要求越来越高,导致软件规模不断增大,软件复杂度不断提升。例如,Hadoop分布式开源软件的2.8.0版本,源码文件数量超过8000,代码总行数接近千万。同时,软件系统提供更多更加灵活的配置项以使用户根据需求配置软件。例如,Apache httpd软件中共有个1000多个配置项,MySQL中有800多个配置项。且非功能属性的所占的比例日益增加,这些配置项与计算资源(如CPU、内存等)、性能优化策略密切相关。同时,随着软件规模不断增大,提高软件性能是软件演化和维护最重要的任务之一。Xue Han等人在ESEM 2016发表的文章“An Empirical Study on Performance Bugs for HighlyConfigurable Software Systems(高可配置软件系统中的性能缺陷实证研究)”表明:配置项也成为引发软件性能问题的主要原因之一,比例高达59%。在对148家企业的调查中,92%的企业认为提高软件性能是软件发展过程中最重要的任务之一。近年来,软件配置项相关的代码缺陷导致的软件性能问题造成了巨大的商业损失。

针对软件性能问题,现有技术主要采用两类方法对其进行检测。第一类方法,如DuShen等人在ISSTA2015发表的“Automating Performance Bottleneck Detection usingSearch-Based Application Profiling(一种基于搜索和profiling的性能缺陷自动检测方法)”,主要基于profiler等性能瓶颈诊断工具生成使软件运行缓慢的测试用例,并将执行该用例耗时最长的函数作为性能缺陷报告给开发者。虽然此类方法检测性能缺陷的覆盖率较高,但会存在大量误报。原因是测试用例执行缓慢可能并非由于性能缺陷导致,而是因为测试用例本身所需的时间较长。即,该类方法缺乏有效的性能测试预言(Test Oracle:Incomputing,software engineering,and software testing,a test oracle(or justoracle)is a mechanism for determining whether a test has passed or failed.测试预言:在计算机、软件、软件测试领域,测试预言是判断一个测试是否通过测试的标准)。

第二类方法,如Adrian Nistor等人在ICSE 2013发表的“Toddler:DetectingPerformance Problems via Similar Memory-Access Patterns(通过相似的内存读写模式检测性能缺陷)”,通过总结循环结构中的性能缺陷代码模式和变量读取模式,匹配待测软件中的性能缺陷。此类方法基于缺陷代码模式构建测试预言,能够有效减少性能故障的误报。然而,循环结构中的性能缺陷仅占一般性能缺陷的少量比例,因此该类方法局限于检测某种特定类型的故障(如循环结构中的缺陷),且经验证,该类方法仅能检测出9.8%配置项相关的性能故障。

综上,如何构建低误报、高覆盖的性能测试预言,并自动化生成相应的测试样例,以有效、全面地检测软件性能缺陷是本领域技术人员正在探讨的热点问题。

发明内容

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科技大学,未经中国人民解放军国防科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202010610996.3/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top