基础软件性能缺陷检测研究综述  

Survey on Performance Bug Detection in System Software

作  者:何浩辰 李姗姗[2] 贾周阳 姚懿恒 张元良 王戟[2] 廖湘科[2] HE Hao-Chen;LI Shan-Shan;JIA Zhou-Yang;YAO Yi-Heng;ZHANG Yuan-Liang;WANG Ji;LIAO Xiang-Ke(Key Laboratory of Satellite Information Intelligent Processing and Application Research,Beijing 100080;School of Computer Science,National University of Defense Technology,Changsha 410073;School of Integrated Circuits,Tsinghua University,Beijing 100084;Chinese Academy of Sciences,Beijing 100864)

机构地区:[1]卫星信息智能处理与应用技术重点实验室,北京100080 [2]国防科技大学计算机学院,长沙410073 [3]清华大学集成电路学院,北京100084 [4]中国科学院,北京100864

出  处:《计算机学报》2025年第1期210-233,共24页Chinese Journal of Computers

基  金:国家自然科学基金(62272473,62202474);湖南省科技创新计划(2023RC1001)资助。

摘  要:一直以来,软件性能缺陷给企业造成了巨大的经济损失。在性能缺陷流入生产环境之前,及时检测和修复缺陷可以有效预防性能故障,降低经济损失。然而,不同于一般软件缺陷,性能缺陷更加难以检测,具体表现为触发条件更加苛刻、表现症状更加隐蔽、缺陷类型更加多样等方面。当前已有研究从多个方面提出自动化的性能缺陷检测方法,形成了三个流派:一是基于特定模式的性能缺陷检测,首先调研特定类型性能缺陷的特征,然后设计针对性的模式匹配方法检测缺陷;二是基于性能测试的缺陷检测,从对性能缺陷触发条件以及其症状特征的理解出发,一方面提高触发缺陷的概率,另一方面挖掘有效的性能测试预言;三是基于Profiling的传统缺陷检测,首先假设程序执行最慢的代码段可能是性能缺陷,采用各种程序分析技术定位软件性能瓶颈,预测潜在的性能缺陷。本文系统性研究了104篇相关高水平论文,对现有研究工作进行归类和分析,总结了现有研究的不足和面临的挑战,归纳出性能检测实践中的一些通用共识,并对未来的研究趋势进行了展望,总结了7个未来可能的研究方向,对下一步工作具有一定指导意义。As users'requirements for software functionality continue to grow,expectations for software service quality increase,and the external environments for deploying software become more diverse,software systems also face greater challenges.As one of the most notorious of them,software performance bugs have long caused significant economic losses for businesses.Detecting and fixing performance bugs before they make their way into production environments can effectively prevent performance failures and reduce economic losses.However,unlike general software bugs,performance bugs are more challenging to detect.Firstly,unlike general software bugs,the symptoms of performance bugs are more subtle.When a performance bug is triggered,it does not exhibit explicit characteristics(such as logs or crashes)but only manifests as slow performance.Secondly,the conditions required to trigger performance bugs are more strict.They typically involve higher loads,specific environments,or particular configurations.Thirdly,the root causes of software performance bugs are more complex,leading to longer diagnostic times compared to general bugs.Finally,fixing performance bugs is also more challenging.Consequently,to develop automated tools for detecting performance bugs,researchers often need to conduct preliminary feature research and analysis,address various challenges based on their findings,and then design targeted solutions.Current research has proposed automated performance bug detection methods from multiple perspectives,leading to three main approaches.Pattern-based methods:these approaches usually first investigate the characteristics of specific types of performance bugs,and then design targeted pattern-matching methods to detect these bugs.Testing-based methods,which start from understandings of the triggering conditions and symptom characteristics of performance bugs,these methods aim to increase the probability of triggering bugs,while also uncovering effective performance testing oracles.Profiling-based methods:these methods st

关 键 词:基础软件 测试预言 性能分析 软件性能缺陷 软件缺陷检测 

分 类 号:TP311[自动化与计算机技术—计算机软件与理论]

 

参考文献:

正在载入数据...

 

二级参考文献:

正在载入数据...

 

耦合文献:

正在载入数据...

 

引证文献:

正在载入数据...

 

二级引证文献:

正在载入数据...

 

同被引文献:

正在载入数据...

 

相关期刊文献:

正在载入数据...

相关的主题
相关的作者对象
相关的机构对象