CN116483598A - 通过lstm的ai缺陷修复定位 - Google Patents

通过lstm的ai缺陷修复定位 Download PDF

Info

Publication number
CN116483598A
CN116483598A CN202210039340.XA CN202210039340A CN116483598A CN 116483598 A CN116483598 A CN 116483598A CN 202210039340 A CN202210039340 A CN 202210039340A CN 116483598 A CN116483598 A CN 116483598A
Authority
CN
China
Prior art keywords
test
related fault
defect repair
machine learning
repair system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210039340.XA
Other languages
English (en)
Inventor
倪嘉呈
盛荣
单轲
陈梦欢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dell Products LP
Original Assignee
Dell Products LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dell Products LP filed Critical Dell Products LP
Priority to CN202210039340.XA priority Critical patent/CN116483598A/zh
Priority to US18/095,035 priority patent/US20230222049A1/en
Publication of CN116483598A publication Critical patent/CN116483598A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • G06N3/0442Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本公开的实施例涉及通过LSTM的AI缺陷修复定位。本文中提供用于缺陷修复系统的方法、系统和非暂态处理器可读存储介质。示例方法包括使用自动测试工具对系统执行至少一个测试。所述缺陷修复系统使用由所述自动测试工具产生的测试数据预测在所述执行期间发生的测试相关故障的至少一个特性。所述缺陷修复系统使用由所述自动测试工具产生的所述测试数据预测所述测试相关故障的至少一个源。

Description

通过LSTM的AI缺陷修复定位
技术领域
本技术领域通常涉及分析测试相关故障,并且更具体地涉及预测信息处理系统中的测试相关故障的原因。
背景技术
自动测试工具产生数千个测试结果数据点,这些数据点包含关键信息,以标识由自动测试工具产生的测试相关故障产生的根本原因。因此,有效标识测试相关故障的根本原因对于软件项目的成功至关重要。
发明内容
说明性实施例提供用于实施存储系统中的缺陷修复系统的技术。例如,说明性实施例使用自动测试工具对系统执行至少一个测试。缺陷修复系统使用由自动测试工具产生的测试数据预测在执行期间发生的测试相关故障的至少一个特性。缺陷修复系统使用由自动测试工具产生的测试数据预测测试相关故障的至少一个源。这些和其他说明性实施例包括但不限于装置、系统、方法和处理器可读存储介质。
附图说明
图1示出了说明性实施例中的包括缺陷修复系统的信息处理系统。
图2示出了说明性实施例中的机器学习模型的示例。
图3示出了说明性实施例中的用于缺陷修复系统的机器学习系统当中的示例交互的流程图。
图4示出了说明性实施例中的用于缺陷修复系统的过程的流程图。
图5和图6示出了处理平台的示例,该处理平台可以用于实施缺陷修复系统实施例的至少部分。
具体实施方式
将在本文中参考示例性计算机网络和相关联计算机、服务器、网络设备或其他类型的处理设备来描述说明性实施例。然而,将了解,这些和其他实施例不限于与所示特定说明性网络和设备配置一起使用。因此,如本文中使用的术语“计算机网络”意图广泛地解释以涵盖例如包括多个联网处理设备的任何系统。
下文描述一种用于实施缺陷修复系统的技术,该技术可以用于提供通过使用自动测试工具对系统执行至少一个测试的测试相关故障的原因的标识等。缺陷修复系统使用由自动测试工具产生的测试数据预测在执行期间发生的测试相关故障的至少一个特性。缺陷修复系统使用由自动测试工具产生的测试数据预测测试相关故障的至少一个源。
用于标识测试相关故障的根本原因的常规技术依赖测试结果的静态审查技术。依赖静态审查技术的常规技术为耗时的、主观的并且低效的。
相比而言,在根据如本文中所描述的当前技术的至少一些实施方式中,测试相关故障的源是通过使用自动测试工具对系统执行至少一个测试来预测。缺陷修复系统使用由自动测试工具产生的测试数据预测在执行期间发生的测试相关故障的至少一个特性。缺陷修复系统使用由自动测试工具产生的测试数据预测测试相关故障的至少一个源。
因此,当前技术的目标是提供一种用于提供缺陷修复系统的方法和系统,其能够标识隐藏在指示测试相关故障的特性和根本原因的测试结果中的模式和/或特征。另一目标是创建分类过程以标识测试相关故障的根本原因。另一目标是创建机器学习系统,该机器学习系统能够预测测试相关故障的根本原因。另一目标是关于测试相关故障的所学习特性和根本原因训练机器学习系统。另一目标是使所训练机器学习系统与自动测试工具集成以促进测试相关故障的根本原因的标识。另一目标是改善定位、跟踪和解决测试相关故障的效率。另一目标是减少手动执行此标识的工程师的工作量。
在根据本文中所描述的当前技术的至少一些实施方式中,缺陷修复系统的使用能够提供以下优势中的一种或多种:预测测试相关故障的源以及提供比人力更高效的缺陷修复系统。
相比常规技术,在根据如本文中所描述的当前技术的至少一些实施方式中,测试相关故障的源/原因的标识和预测通过使用自动测试工具对系统执行至少一个测试来优化。缺陷修复系统使用由自动测试工具产生的测试数据预测在执行期间发生的测试相关故障的至少一个特性。缺陷修复系统使用由自动测试工具产生的测试数据预测测试相关故障的至少一个源。
在当前技术的示例实施例中,系统环境机器学习系统确定测试相关故障并非由环境因素引起,并且缺陷修复系统将测试相关故障提供给产品/测试机器学习系统。
在当前技术的示例实施例中,产品/测试机器学习系统确定测试相关故障是由产品代码引起,并且缺陷修复系统将测试相关故障提供给补救机器学习系统。
在当前技术的示例实施例中,补救机器学习系统确定测试相关故障应被修复,并且缺陷修复系统将测试相关故障提供给源代码机器学习系统。
在当前技术的示例实施例中,产品/测试机器学习系统确定测试相关故障是由测试代码引起,并且缺陷修复系统将测试相关故障提供给测试脚本机器学习系统。
在当前技术的示例实施例中,测试脚本机器学习系统预测引起测试相关故障的测试脚本中的地点。
在当前技术的示例实施例中,源代码机器学习系统预测引起测试相关故障的源代码中的地点。
在当前技术的示例实施例中,系统环境机器学习系统在自动测试工具产生的测试数据上训练,以预测测试相关故障是否是由环境因素引起还是由系统引起。
在当前技术的示例实施例中,产品/测试机器学习系统在自动测试工具产生的测试数据上训练,以预测测试相关故障是否是由产品代码引起还是由测试代码引起。
在当前技术的示例实施例中,补救机器学习系统在自动测试工具产生的测试数据上训练,以预测是否补救测试相关故障。
在当前技术的示例实施例中,测试脚本机器学习系统在自动测试工具产生的测试数据上训练,以预测引起测试相关故障的测试脚本。
在当前技术的示例实施例中,源代码机器学习系统在自动测试工具产生的测试数据上训练,以预测在引起测试相关故障的源代码中的地点。
在当前技术的示例实施例中,测试相关故障的至少一个源为引起测试相关故障的源代码中的地点。
在当前技术的示例实施例中,测试相关故障的至少一个源为引起测试相关故障的测试脚本中的地点。
在当前技术的示例实施例中,通过缺陷修复系统预测测试相关故障的至少一个特性以及通过缺陷修复系统预测测试相关故障的至少一个源由至少一个长期-短期存储器神经网络执行。
在当前技术的示例实施例中,由自动测试工具产生的测试数据包括以下至少一项:标准输出、标准误差和堆栈跟踪。
图1示出根据说明性实施例配置的计算机网络(本文中也称为信息处理系统)100。计算机网络100包括缺陷修复系统105、至少一个测试系统102、至少一个自动测试工具103和机器学习模型101。自动测试工具103可以为例如Jira、Bugzilla等。缺陷修复系统105、至少一个测试系统102、至少一个自动测试工具103和机器学习模型101耦接到网络104,其中假设此实施例中的网络104表示较大计算机网络100的子网络或其他相关部分。因此,元件100和104均在本文中被称为“网络”的示例,但在图1实施例的上下文中假设后者为前者的组件。与网络104耦接的是可以驻留在存储系统上的缺陷修复系统105。此存储系统能够包括任何多种不同类型的存储装置,包括网络附接存储装置(NAS)、存储区域网络(SAN)、直接附接存储装置(DAS)和分布式DAS以及这些和其他存储类型的组合,包括软件定义的存储装置。机器学习模型101使用测试相关故障和测试执行数据的历史记录来训练。预处理是在测试相关故障和测试执行数据的历史记录上执行,并且机器学习模型是用此数据来训练。在示例实施例中,例如由测试工程师开发的正则表达式用于从所执行测试的系统输出提取关键信息。所提取信息可以接着用作向机器学习系统中的至少一个机器学习系统的输入。缺陷修复系统105、至少一个测试系统102、至少一个自动测试工具103和机器学习模型101中的每一项可以包括例如服务器和/或一个或多个服务器系统的部分以及诸如移动电话、笔记本计算机、平板计算机、台式计算机等设备或其他类型的计算设备。此类设备为更通常在本文中称为“处理设备”的示例。这些处理设备中的一些处理设备也通常在本文中称为“计算机”。
在一些实施例中,缺陷修复系统105、至少一个测试系统102、至少一个自动测试工具103和机器学习模型101包括与特定公司、组织或其他企业相关联的相应计算机。另外,计算机网络100的至少部分还可以在本文中统称为包括“企业网络”。如将由本领域的技术人员所了解的,涉及处理设备和网络的广泛多种不同类型和布置的许多其他操作场景为可能的。
此外,将了解的是,此上下文和本文中其他处的术语“用户”意图广泛地解释为涵盖例如人类、硬件、软件或固件实体以及此类实体的各种组合。
假设网络104包括全球计算机网络(诸如因特网)的部分,而其他类型的网络能够为计算机网络100的部分,包括广域网(WAN)、局域网(LAN)、卫星网络、电话或有线网络、蜂窝网络,诸如Wi-Fi或WiMAX网络等无线网络或这些和其他类型的网络的各个部分或组合。在其一些实施例中,计算机网络100包括多个不同类型网络的组合,每个包括被配置为使用因特网协议(IP)或其他相关通信协议通信的处理设备。
与缺陷修复系统105相关联的还有一个或多个输入-输出设备,其说明性地包括以任何组合的键盘、显示器或其他类型的输入-输出设备。此类输入-输出设备能够用于例如支持缺陷修复系统105的一个或多个用户接口,以及支持缺陷修复系统105与未明确示出的其他相关系统和设备之间的通信。例如,可以为用户提供仪表板以查看缺陷修复系统105的执行进度。一个或多个输入-输出设备还可以与一个或多个测试系统102相关联。
另外,假设使用至少一个处理设备来实施图1实施例中的缺陷修复系统105。每个此处理设备通常包括至少一个处理器和相关联的存储器,并且实施用于控制缺陷修复系统105的某些特征的一个或多个功能模块。
更具体地,此实施例中的缺陷修复系统105可以包括耦接到存储器和网络接口的处理器。
处理器说明性地包括微处理器、微控制器、特殊应用集成电路(ASIC)、场可编程门阵列(FPGA)或其他类型的处理电路装置以及此类电路装置元件的部分或组合。
存储器说明性地包括以任何组合的随机存取存储器(RAM)、只读存储器(ROM)或其他类型的存储器。存储器和本文中公开的其他存储器可以被视为更通常称为存储可执行计算机程序代码或其他类型的软件程序的“处理器可读存储介质”的示例。
一个或多个实施例包括制品,诸如计算机可读存储介质。制品的示例包括但不限于诸如存储磁盘、存储阵列等存储设备或含有存储器的集成电路以及广泛多种其他类型的计算机程序产品。如本文中使用的术语“制品”应被理解为不包括暂时传播信号。本文中对“磁盘”的这些和其他参考意图通常指代包括固态硬盘(SSD)的存储设备,并且因此不应被视为以使磁性介质旋转的任何方式限制。
网络接口允许缺陷修复系统105经由网络104与缺陷修复系统105、至少一个测试系统102、至少一个自动测试工具103和机器学习模型101通信,并且说明性地包括一个或多个常规收发器。
缺陷修复系统105可以至少部分地以软件形式实施,该软件存储在存储器中且由处理器执行,并且可以驻留在任何处理设备中。缺陷修复系统105可以为单独插件,该单独插件可以包括在处理设备内。
将理解,用于涉及计算机网络100的缺陷修复系统105、至少一个测试系统102、至少一个自动测试工具103和机器学习模型101的缺陷修复系统105的图1中所示的元件的特定集合仅借助于说明性示例呈现,并且在其他实施例中,可以使用额外或备选元件。因此,另一实施例包括额外或备选系统、设备和其他网络实体以及模块和其他组件的不同布置。例如,在至少一个实施例中,缺陷修复系统105中的一个或多个能够在相同处理平台上和/或为相同处理平台的部分。
将参考例如图4的流程图更详细地描述计算机网络100中的缺陷修复系统105的示例性过程。
现参考图2,此图示出了说明性实施例中的机器学习模型201的示例。机器学习模型101由系统环境机器学习系统210、产品/测试机器学习系统215、补救机器学习系统220、源代码机器学习系统225和测试脚本机器学习系统230组成。在示例实施例中,机器学习模型210与至少一个自动测试工具103整合,以促进将在图4中更详细解释的缺陷分类过程。
在示例实施例中,系统环境机器学习系统210为从自动测试工具103中的历史测试数据训练的二进制分类模型,以分类测试相关故障是否是由环境因素引起还是由测试系统102引起。
在示例实施例中,产品/测试机器学习系统215为从自动测试工具103中的历史测试数据训练的二进制分类模型,以分类测试相关故障是否由是测试工具引起还是由测试系统102引起。
在示例实施例中,补救机器学习系统220为从自动测试工具103中的历史测试数据训练的二进制分类模型,以分类测试相关故障是否应立即修复或修复是否能够被置于保持状态。
在示例实施例中,源代码机器学习系统225为从自动测试工具103中的历史测试数据训练的多类分类模型,以确定哪个源代码文件引起测试相关故障。
在示例实施例中,测试脚本机器学习系统230为从自动测试工具103中的历史测试数据训练的多类分类模型,以确定哪个测试脚本引起测试相关故障。
现参考图3,此图示出了说明性实施例中的用于缺陷修复系统的机器学习系统当中的示例交互的流程图。在示例实施例中,在301处,来自自动测试工具103的输出用作向所训练系统环境机器学习系统210的输入。在302处,系统环境机器学习系统210将测试相关故障分类为两个类别;由环境因素引起的测试相关故障,以及并非由环境因素引起的测试相关故障。在303处,如果测试相关故障是由环境因素引起(诸如实验室问题、网络断开、存储节点电源关闭等),那么在304处,决定重新开始测试。如果测试相关故障并非由环境因素引起,那么在305处,缺陷修复系统105调用产品/测试机器学习系统215。在306处,产品/测试机器学习系统215将测试相关故障分类为由测试代码引起的测试相关故障或由产品代码引起的测试相关故障。如果产品/测试机器学习系统215确定测试相关故障由测试代码引起,那么在307处,缺陷修复系统105调用测试脚本机器学习系统230,且在308处,测试脚本机器学习系统230预测测试脚本文件内的测试相关故障的地点。如果产品/测试机器学习系统215确定测试相关故障由产品代码引起,那么在309处,缺陷修复系统105调用补救机器学习系统220,且在310处,补救机器学习系统220确定测试相关故障是否应被修复。如果补救机器学习系统220确定测试相关故障不应被修复或不应立即被修复,那么在311处,缺陷修复系统105保持测试相关故障处于保持状态。如果补救机器学习系统220确定测试相关故障应被修复,那么在312处,那么缺陷修复系统105调用源代码机器学习系统225。在313处,源代码机器学习系统225预测源代码内的测试相关故障的地点。
图4为说明性实施例中的用于执行缺陷修复系统205的过程的流程图。将理解,此特定过程仅为示例,并且额外或备选过程能够在其他实施例中执行。
在400处,使用自动测试工具103对测试系统102执行至少一个测试。可以对若干不同测试系统102执行测试用例,和/或可以对测试系统102执行若干测试用例。测试用例的执行结果可以为由自动测试工具103产生的测试数据。测试数据可以包括测试相关故障,例如具有在执行测试用例期间产生的误差信息的缺陷。在示例实施例中,由自动测试工具103产生的测试数据包括标准输出、标准误差和堆栈跟踪中的至少一个。在示例实施例中,由自动测试工具103记录的数据可以包括两个级别;缺陷级别和测试执行级别。测试相关故障在自动测试工具103中记录,并且可以具有由工程师指出和/或由自动测试工具103产生(例如从运行日志提取)的缺陷描述。在示例实施例中,针对每次测试执行,标准输出、标准误差和堆栈跟踪可以用于补充测试相关故障中的信息。
在示例实施例中,训练机器学习模型101以标识指示测试相关故障的特性和根本原因的测试结果中的模式和/或特征。在示例实施例中,机器学习模型101在至少一个自动测试工具103记录的历史数据上训练。在示例实施例中,来自多个源(例如多个测试系统102)的测试数据组合并链接在一起。例如,历史数据使用提取、转换和加载(ETL)任务来提取,并且可预测标签根据用于机器学习模型训练的商业标记来定义。换句话说,历史数据从至少一个自动测试工具103提取。缺陷特征被联接,并且商业标记映射到训练数据集标签。例如:
针对缺陷特性,定义机器学习任务。
缺陷类型–所报告缺陷由测试系统102(产品代码)或测试脚本(测试代码)引起。测试系统102的特征分支的缺陷也被归纳为产品代码。
解决-所报告缺陷应被修复或忽略(即不修复)。在示例实施例中,此为通过工程师标记的主观标记,并且可以受一些因素(诸如缺陷优先、发布计划、最近工作量等)影响。
实验室问题-所报告缺陷由环境因素(实验室问题)引起,诸如:实验室问题、网络断开、存储节点电源关闭或非(非实验室问题)。
下文示出将商业标记映射到用于缺陷类型分析的可预测标签的示例:
原始商业标记提供所报告缺陷的细致分类。在示例实施例中,组合一些标记以简化机器学习任务并证实组合保持足够信息以向前移动到下一步骤。
在示例实施例中,使用此信息训练机器学习模型101以得到评估结果。在示例实施例中,在训练集和测试集上获得评估结果。在测试集上分析机器学习模型101的所得缺陷类型分析预测结果。在示例实施例中,基于所使用的每个自动测试工具103确定用于实际使用的截断点。
在示例实施例中,如果所得缺陷类型分析预测确定测试相关故障的原因为源代码(或产品代码),那么核心转储文件。在一些示例中,包括缺陷描述、标准输出、标准误差和堆栈跟踪的缺陷特征可以提供足够信息以找到测试相关故障的根本原因。在另一示例中,可以使用调试器工具来分析核心转储文件以提取额外特征信息。根据此信息,构建机器学习模型101来预测应改变哪个源代码文件以修复测试相关故障。例如,从核心转储文件提取的信息与缺陷特征组合以构建多标签分类器模式,从而预测应修复的可能源文件。优化的机器学习模型101接着与测试系统102整合,以预测测试相关故障的根本原因。
在示例实施例中,缺陷修复系统105使用例如如上文描述训练的优化的机器学习模型101来执行缺陷分类预测过程。在缺陷分类预测过程的第一阶段,缺陷修复系统105执行缺陷类型分析。在示例实施例中,缺陷类型分析预测测试相关故障的至少一个特性。在示例实施例中,可以存在确定测试相关故障的分类问题的二进制分类器。例如,假如修复测试相关故障,则为由测试脚本或源代码引起的测试相关故障和/或由动态环境因素引起的测试相关故障。
在缺陷分类预测过程的第二阶段,缺陷修复系统105预测测试相关故障的根本原因,例如找出测试脚本和/或源代码中的测试相关故障的源。例如,如果第一阶段预测测试相关故障的根本原因为产品代码,那么缺陷修复系统105移动到第二阶段、根本原因分析阶段,并且使用机器学习模型中的一个(在此情况下是源代码机器学习系统225)来预测源代码文件,该源代码文件应被修改以修复测试相关故障(或“缺陷”)。在示例实施例中,由于可以在若干相关源代码文件中找到测试相关故障的根本原因,因此构建多标签分类器。因此,在示例实施例中,缺陷修复系统105可以将测试相关故障的根本原因缩减为若干可能文件(即测试脚本和/或源代码文件)。在示例实施例中,缺陷修复系统105将商业标记和缺陷修复结果映射为标签,并且构建监控的机器学习模型以促进缺陷分类预测过程。
在402处,缺陷修复系统105使用由自动测试工具103产生的测试数据预测在执行期间发生的测试相关故障的至少一个特性。在示例实施例中,系统环境机器学习系统210确定测试相关故障并非由环境因素引起。在示例实施例中,系统环境机器学习系统210是在自动测试工具103产生的测试数据上训练,以预测测试相关故障是否是由环境因素引起还是系统引起。缺陷修复系统105接着将测试相关故障提供给产品/测试机器学习系统215。在示例实施例中,产品/测试机器学习系统215在自动测试工具103产生的测试数据上训练,以预测测试相关故障是否是由产品代码引起还是测试代码引起。
在示例实施例中,产品/测试机器学习系统215确定测试相关故障是由产品代码引起。缺陷修复系统105接着将测试相关故障提供给补救机器学习系统220。在示例实施例中,补救机器学习系统220是在自动测试工具103产生的测试数据上训练,以预测是否补救测试相关故障。
在示例实施例中,产品/测试机器学习系统215确定测试相关故障是由测试代码引起。缺陷修复系统105接着将测试相关故障提供给测试脚本机器学习系统230。在示例实施例中,测试脚本机器学习系统230在自动测试工具103产生的测试数据上训练,以预测引起测试相关故障的测试脚本。
在404处,缺陷修复系统105使用由自动测试工具103产生的测试数据预测测试相关故障的至少一个源。在示例实施例中,测试相关故障的至少一个源为引起测试相关故障的测试脚本中的地点。在示例实施例中,测试脚本机器学习系统230预测引起测试相关故障的测试脚本的地点。在示例实施例中,测试相关故障的至少一个源为引起测试相关故障源代码中的地点。在示例实施例中,源代码机器学习系统225预测引起测试相关故障的源代码中的地点。在示例实施例中,源代码机器学习系统225在自动测试工具103产生的测试数据上训练,以预测引起测试相关故障的源代码中的地点。
在示例实施例中,通过缺陷修复系统预测测试相关故障的至少一个特性以及通过缺陷修复系统预测测试相关故障的至少一个源由至少一个长期-短期存储器(LSTM)神经网络执行。由于在时间序列中的重要事件之间可能存在未知持续时间的延迟,因此LSTM网络非常适于基于时间序列数据来分类、处理和进行预测。
因此,特定处理操作和结合图4的流程图描述的其他功能性仅借助于说明性示例来呈现,并且不应被解释为以任何方式限制本公开的范围。例如,过程步骤的排序可以在其他实施例中发生变化,或某些步骤可以同时执行而非按顺序执行。
上述说明性实施例提供相对于常规方式的显著优势。例如,一些实施例被配置为显著地改进测试相关故障的根本原因的标识。这些和其他实施例能够有效地提高相对于常规方式的测试相关故障标识。例如,本文中公开的实施例提供一种缺陷修复系统,该缺陷修复系统能够标识隐藏在指示测试相关故障的特性和根本原因的测试结果中的模式和/或特征。本文中公开的实施例产生分类过程以标识测试相关故障的根本原因。本文中公开的实施例产生机器学习系统,该机器学习系统能够预测测试相关故障的根本原因。本文中公开的实施例关于测试相关故障的所学习特性和根本原因训练机器学习系统。本文中公开的实施例使所训练机器学习系统与自动测试工具整合以促进测试相关故障的根本原因的标识。本文中公开的实施例提高定位、跟踪和解决测试相关故障的效率。本文中公开的实施例减少手动执行此标识的工程师的工作量。本文中公开的实施例提供一种缺陷修复系统,该缺陷修复系统容易地关于测试系统和自动测试工具缩放。
将了解,上文中和本文中其他处描述的特定优势与特定说明性实施例相关联,并且不需要存在于其他实施例中。此外,如图式中说明和上文描述的特定类型的信息处理系统特征和功能性仅为示例性的,并且可以在其他实施例中使用若干其他布置。
如先前所提及,信息处理系统100的至少部分能够使用一个或多个处理平台来实施。给定此处理平台包括至少一个处理设备,该处理设备包括耦接到存储器的处理器。在一些实施例中,处理器和存储器包括相应处理器和使用一个或多个基础物理机提供的虚拟机或容器的存储器元件。如本文中使用的术语“处理设备”意图广泛解释为涵盖物理处理器、存储器和其他设备组件的广泛多种不同布置以及此类组件的虚拟实例。例如,在一些实施例中,“处理设备”能够包括一个或多个虚拟处理器或经一个或多个虚拟处理器执行。处理设备能够因此为物理的或虚拟的,并且能够经一个或多个物理或虚拟处理器执行。还应注意,给定虚拟设备能够映射到物理设备的部分。
用于实施信息处理系统的至少部分的处理平台的一些说明性实施例包括云基础设施,该云基础设施包括使用在物理基础架构上运行的虚拟机监控程序实施的虚拟机。云基础设施还包括在虚拟机监控程序的控制下在虚拟机的相应一个虚拟机上运行的应用程序集合。使用多个虚拟机监控程序也为可能的,每个虚拟机监控程序使用至少一个基础物理机提供一组虚拟机。由一个或多个虚拟机监控程序提供的不同组虚拟机可以用于配置系统的各种组件的不同实例。
这些和其他类型的云基础设施能够用于提供本文中还被称为多租户环境的环境。一个或多个系统组件或其部分被说明性地实施以供此多租户环境的租户使用。
如先前所提及,如本文中公开的云基础设施能够包括基于云端的系统。此类系统中提供的虚拟机能够用于实施说明性实施例中的计算机系统的至少部分。
在一些实施例中,云基础设施额外地或备选地包括使用容器主机设备实施的多个容器。例如,如本文中详述,云基础设施的给定容器说明性地包括Docker容器或其他类型的Linux容器(LXC)。容器在多租户环境中的虚拟机上运行,而其他布置为可能的。容器被用于在信息处理系统100内实施多种不同类型的功能性。例如,容器能够用于实施提供基于云端的系统的计算和/或存储服务的相应处理设备。再次,容器可以与其他虚拟化基础设施(诸如使用虚拟机监控程序实施的虚拟机)结合使用。
现将参考图5和图6更详细地描述处理平台的说明性实施例。尽管在信息处理系统100的上下文中描述,但在其他实施例中,这些平台还可以用于实施其他信息处理系统的至少部分。
图5示出了包括云基础设施500的示例处理平台。云基础设施500包括物理和虚拟处理资源的组合,该物理和虚拟处理资源被用于实施信息处理系统100的至少部分。云基础设施500包括使用虚拟化基础设施504实施的多个虚拟机(VM)和/或容器集502-1、502-2、…、502-L。虚拟化基础设施504在物理基础设施505上运行,并且说明性地包括一个或多个虚拟机监控程序和/或操作系统级虚拟化基础设施。操作系统级虚拟化基础设施说明性地包括Linux操作系统或其他类型操作系统的内核控制组。
云基础设施500还包括在虚拟化基础设施504的控制下在VM/容器集502-1、502-2、…、502-L中的相应一者上运行的应用程序510-1、510-2、…、510-L的集合。VM/容器集502包括相应VM、一个或多个容器的相应集合或在VM中运行的一个或多个容器的相应集合。在图5实施例的一些实施方式中,VM/容器集502包括使用虚拟化基础设施504实施的相应VM,该虚拟化基础设施504包括至少一个虚拟机监控程序。
虚拟机监控程序平台可以用于在虚拟化基础设施504内实施虚拟机监控程序,其中虚拟机监控程序平台具有相关联的虚拟基础设施管理系统。基础物理机包括一个或多个分布式处理平台,该分布式处理平台包括一个或多个存储系统。
在图5实施例的其他实施方式中,VM/容器集502包括使用虚拟化基础设施504实施的相应容器,该虚拟化基础设施504提供操作系统级虚拟化功能性,诸如用于在裸金属主机上运行的Docker容器或在VM上运行的Docker容器的支撑。使用操作系统的相应内核控制组来说明性地实施容器。
如根据上文显而易见,信息处理系统100的一个或多个处理模块或其他组件可以分别在计算机、服务器、存储设备或其他处理平台元件上运行。给定此元件被视为更通常在本文中称为“处理设备”的示例。图5中所示的云基础设施500可以表示一个处理平台的至少部分。此处理平台的另一示例为图6中所示的处理平台600。
此实施例中的处理平台600包括信息处理系统100的部分,并且包括经由网络604彼此通信的表示为602-1、602-2、602-3…602-K的多个处理设备。
网络604包括任何类型的网络,借助于示例包括全球计算机网络,诸如因特网、WAN、LAN、卫星网络、电话或有线网络、蜂窝网络、诸如Wi-Fi或WiMAX网络等无线网络或这些和其他类型网络的各个部分或组合。
处理平台600中的处理设备602-1包括耦接到存储器612的处理器610。
处理器610包括微处理器、微控制器、特殊应用集成电路(ASIC)、场可编程门阵列(FPGA)或其他类型的处理电路装置以及此类电路装置元件的部分或组合。
存储器612包括以任何组合的随机存取存储器(RAM)、只读存储器(ROM)或其他类型的存储器。存储器612和本文中公开的其他存储器应被视为更通常称为存储一个或多个软件程序的可执行程序代码的“处理器可读存储介质”的说明性示例。
包括此处理器可读存储介质的制品被视为说明性实施例。给定此制品包括例如存储阵列、存储磁盘或含有RAM、ROM或其他电子存储器的集成电路,或广泛多种其他类型计算机程序产品中的任何制品。如本文中使用的术语“制品”应被理解为不包括暂时传播信号。能够使用包括处理器可读存储介质的许多其他类型的计算机程序产品。
处理设备602-1中还包括网络接口电路装置614,该网络接口电路装置614用于使处理设备与网络604和其他系统组件对接,并且可以包括常规收发器。
假设处理平台600的其他处理设备602以与针对图式中的处理设备602-1所示的方式类似的方式配置。
再次,图式中所示的特定处理平台600仅借助于示例呈现,并且信息处理系统100可以包括额外或备选处理平台以及以任何组合的许多不同处理平台,其中每个此平台包括一个或多个计算机、服务器、存储设备或其他处理设备。
例如,用于实施说明性实施例的其他处理平台能够包括不同类型的虚拟化基础设施代替或补充包括虚拟机的虚拟化基础设施。此虚拟化基础设施说明性地包括基于容器的虚拟化基础设施,该虚拟化基础设施被配置为提供Docker容器或其他类型的LXC。
作为另一示例,在一些实施例中,给定处理平台的部分能够包括融合基础设施。
因此,应理解,在其他实施例中,可以使用额外或备选元件的不同布置。这些元件的至少子集可以共同地在共用处理平台上实施,或每个此元件可以在单独处理平台上实施。
此外,计算机、服务器、存储产品或设备或其他组件的许多其他布置在信息处理系统100中为可能的。此类组件能够经由任何类型的网络或其他通信介质与信息处理系统100的其他元件通信。
例如,说明性实施例中能够用于实施分布式处理系统的给定存储系统的特定类型的存储产品包括全闪存和混合闪存阵列、横向扩展全闪存存储阵列、横向扩展NAS群集或其他类型的存储阵列。在说明性实施例中,这些和其他存储产品中的多个的组合还能够用于实施给定存储系统。
应再次强调,仅出于说明目的呈现上述实施例。可以使用许多变化和其他备选实施例。此外,在其他实施例中,图式中说明性示出的系统和设备元件和相关联处理操作的特定配置能够发生变化。因此,例如,给定实施例中采用的特定类型的处理设备、模块、系统和资源以及其相应配置可以发生变化。此外,上文在描述说明性实施例过程中进行的各种假设还应被视为示例性的,而非视为本公开的需求或限制。随附权利要求的范围内的许多其他备选实施例将容易地对于所属领域的技术人员显而易见。

Claims (20)

1.一种方法,包括:
使用自动测试工具对系统执行至少一个测试;
通过缺陷修复系统,使用由所述自动测试工具产生的测试数据预测在所述执行期间发生的测试相关故障的至少一个特性;以及
通过所述缺陷修复系统,使用由所述自动测试工具产生的所述测试数据预测所述测试相关故障的至少一个源,其中所述方法由至少一个处理设备执行,所述处理设备包括被耦接到存储器的处理器。
2.根据权利要求1所述的方法,其中通过所述缺陷修复系统预测所述测试相关故障的至少一个特性包括:
通过系统环境机器学习系统确定所述测试相关故障并非由环境因素引起;以及
通过所述缺陷修复系统将所述测试相关故障提供给产品/测试机器学习系统。
3.根据权利要求1所述的方法,其中通过所述缺陷修复系统预测所述测试相关故障的至少一个特性包括:
通过产品/测试机器学习系统确定所述测试相关故障由产品代码引起;以及
通过所述缺陷修复系统将所述测试相关故障提供给补救机器学习系统。
4.根据权利要求1所述的方法,其中通过所述缺陷修复系统预测所述测试相关故障的至少一个特性包括:
通过补救机器学习系统确定所述测试相关故障应被修复;以及
通过所述缺陷修复系统将所述测试相关故障提供给源代码机器学习系统。
5.根据权利要求1所述的方法,其中通过所述缺陷修复系统预测所述测试相关故障的至少一个特性包括:
通过产品/测试机器学习系统确定所述测试相关故障由测试代码引起;以及
通过所述缺陷修复系统将所述测试相关故障提供给测试脚本机器学习系统。
6.根据权利要求1所述的方法,其中通过所述缺陷修复系统预测所述测试相关故障的所述至少一个源包括:
通过测试脚本机器学习系统预测引起所述测试相关故障的在测试脚本中的地点。
7.根据权利要求1所述的方法,其中通过所述缺陷修复系统预测所述测试相关故障的所述至少一个源包括:
通过源代码机器学习系统预测引起所述测试相关故障的在源代码中的地点。
8.根据权利要求1所述的方法,其中系统环境机器学习系统在由所述自动测试工具产生的所述测试数据上被训练,以预测所述测试相关故障是否是由环境因素引起还是由所述系统引起。
9.根据权利要求1所述的方法,其中产品/测试机器学习系统在由所述自动测试工具产生的所述测试数据上被训练,以预测所述测试相关故障是否是由产品代码引起还是测试代码引起。
10.根据权利要求1所述的方法,其中补救机器学习系统在由所述自动测试工具产生的所述测试数据上被训练,以预测是否补救所述测试相关故障。
11.根据权利要求1所述的方法,其中测试脚本机器学习系统在由所述自动测试工具产生的所述测试数据上被训练,以预测引起所述测试相关故障的测试脚本。
12.根据权利要求1所述的方法,其中源代码机器学习系统在由所述自动测试工具产生的所述测试数据上被训练,以预测引起所述测试相关故障的在所述源代码中的地点。
13.根据权利要求1所述的方法,其中所述测试相关故障的所述至少一个源为引起所述测试相关故障的在源代码中的地点。
14.根据权利要求1所述的方法,其中所述测试相关故障的所述至少一个源为引起所述测试相关故障的测试脚本中的地点。
15.根据权利要求1所述的方法,其中通过所述缺陷修复系统预测所述测试相关故障的所述至少一个特性以及通过所述缺陷修复系统预测所述测试相关故障的所述至少一个源由至少一个长期-短期存储器神经网络执行。
16.根据权利要求1所述的方法,其中由所述自动测试工具产生的所述测试数据包括标准输出、标准误差和堆栈跟踪中的至少一项。
17.一种系统,包括:
至少一个处理设备,包括被耦接到存储器的处理器;
所述至少一个处理设备被配置为:
使用自动测试工具对系统执行至少一个测试;
通过缺陷修复系统,使用由所述自动测试工具产生的测试数据预测在所述执行期间发生的测试相关故障的至少一个特性;以及
通过所述缺陷修复系统,使用由所述自动测试工具产生的所述测试数据预测所述测试相关故障的至少一个源。
18.根据权利要求17所述的系统,其中通过所述缺陷修复系统预测所述测试相关故障的所述至少一个特性以及通过所述缺陷修复系统预测所述测试相关故障的所述至少一个源由至少一个长期-短期存储器神经网络执行。
19.根据权利要求1所述的方法,其中通过所述缺陷修复系统预测所述测试相关故障的至少一个特性包括:
通过产品/测试机器学习系统确定所述测试相关故障由产品代码引起;
通过所述缺陷修复系统将所述测试相关故障提供给补救机器学习系统;
通过所述补救机器学习系统确定所述测试相关故障应被修复;
通过所述缺陷修复系统将所述测试相关故障提供给源代码机器学习系统;以及
其中通过所述缺陷修复系统预测所述测试相关故障的所述至少一个源包括:
通过所述源代码机器学习系统预测引起所述测试相关故障的在源代码中的地点。
20.一种包括非暂态处理器可读存储介质的计算机程序产品,具有存储在其中的一个或多个软件程序的程序代码,其中所述程序代码在由至少一个处理设备执行时使所述至少一个处理设备:
使用自动测试工具对系统执行至少一个测试;
通过缺陷修复系统,使用由所述自动测试工具产生的测试数据预测在所述执行期间发生的测试相关故障的至少一个特性;以及
通过所述缺陷修复系统,使用由所述自动测试工具产生的所述测试数据预测所述测试相关故障的至少一个源。
CN202210039340.XA 2022-01-13 2022-01-13 通过lstm的ai缺陷修复定位 Pending CN116483598A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210039340.XA CN116483598A (zh) 2022-01-13 2022-01-13 通过lstm的ai缺陷修复定位
US18/095,035 US20230222049A1 (en) 2022-01-13 2023-01-10 AI Bug-Fix Positioning by LSTM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210039340.XA CN116483598A (zh) 2022-01-13 2022-01-13 通过lstm的ai缺陷修复定位

Publications (1)

Publication Number Publication Date
CN116483598A true CN116483598A (zh) 2023-07-25

Family

ID=87069648

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210039340.XA Pending CN116483598A (zh) 2022-01-13 2022-01-13 通过lstm的ai缺陷修复定位

Country Status (2)

Country Link
US (1) US20230222049A1 (zh)
CN (1) CN116483598A (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9069902B2 (en) * 2012-10-12 2015-06-30 Vmware, Inc. Software test automation
CA3012848A1 (en) * 2016-02-17 2017-08-24 Silverthread, Inc. Computer-implemented methods and systems for measuring, estimating, and managing economic outcomes and technical debt in software systems and projects
US10073763B1 (en) * 2017-12-27 2018-09-11 Accenture Global Solutions Limited Touchless testing platform
US11662997B2 (en) * 2020-02-20 2023-05-30 Appsurify, Inc. Systems and methods for software and developer management and evaluation
US11741074B2 (en) * 2021-08-20 2023-08-29 Fidelity Information Services, Llc Automated user interface testing with machine learning

Also Published As

Publication number Publication date
US20230222049A1 (en) 2023-07-13

Similar Documents

Publication Publication Date Title
US11790256B2 (en) Analyzing test result failures using artificial intelligence models
US11514347B2 (en) Identifying and remediating system anomalies through machine learning algorithms
US20150347923A1 (en) Error classification in a computing system
US10089109B2 (en) System and method for evaluating human resources in a software development environment
US20210081831A1 (en) Automatically Determining Poisonous Attacks on Neural Networks
US11176464B1 (en) Machine learning-based recommendation system for root cause analysis of service issues
US20210124663A1 (en) Device Temperature Impact Management Using Machine Learning Techniques
US11550707B2 (en) Systems and methods for generating and executing a test case plan for a software product
CN114124567A (zh) 基于大数据漏洞挖掘的云服务处理方法及人工智能系统
EP3686750A1 (en) Data migration
CN105095077B (zh) 用户界面自动化测试方法和装置
US10769866B2 (en) Generating estimates of failure risk for a vehicular component
CN108268373A (zh) 自动化测试用例管理方法、装置、设备及存储介质
CN113626241B (zh) 应用程序的异常处理方法、装置、设备及存储介质
CN111045927A (zh) 性能测试评估方法、装置、计算机设备及可读存储介质
CN108681505B (zh) 一种基于决策树的测试用例排序方法和装置
CN114157507A (zh) 采用大数据分析的云服务漏洞分析方法及人工智能系统
US7596736B2 (en) Iterative process for identifying systematics in data
US20210232995A1 (en) System and methods for risk assessment in a multi-tenant cloud environment
CN116483598A (zh) 通过lstm的ai缺陷修复定位
US11900325B2 (en) Utilizing a combination of machine learning models to determine a success probability for a software product
US20190158362A1 (en) Instance usage facilitating system
US20220207388A1 (en) Automatically generating conditional instructions for resolving predicted system issues using machine learning techniques
CN111913706B (zh) 一种调度自动化系统拓扑构建方法、存储介质和计算设备
US20220292529A1 (en) Utilizing machine learning for optimization of planning and value realization for private networks

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination