Verification by metamorphic testing of applications that utilize artificial intelligence

US10438118B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10438118-B2
Application numberUS-201816146069-A
CountryUS
Kind codeB2
Filing dateSep 28, 2018
Priority dateOct 9, 2017
Publication dateOct 8, 2019
Grant dateOct 8, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A device may receive, from a user device, a request to verify a machine learning (ML) application using a metamorphic testing procedure. The device may determine a type of ML process used by the ML application, and may select one or more metamorphic relations (MRs), to be used for performing the metamorphic testing procedure, based on the type of ML process. The device may receive test data to be used to test the ML application, wherein the test data is based on the one or more MRs, and may perform, by using the one or more MRs and the test data, the metamorphic testing procedure to verify one or more aspects of the ML application. The device may generate a report that indicates whether the one or more aspects of the ML application have been verified and may provide the report for display on an interface of the user device.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: receiving, by a device and from a user device, a request to verify a machine learning (ML) application, wherein verification of the ML application is to be performed using a metamorphic testing procedure, and wherein the request includes an indication to validate the metamorphic testing procedure; determining, by the device, a type of ML process used by the ML application after receiving the request; selecting, by the device, one or more metamorphic relations (MRs), that are to be used for performing the metamorphic testing procedure, based on the type of ML process used by the ML application; receiving, by the device, test data that is to be used to test the ML application, wherein the test data is based on the one or more MRs; performing, by the device and by using the one or more MRs and the test data, the metamorphic testing procedure to verify one or more aspects of the ML application; validating, by the device, the metamorphic testing procedure by using a mutation testing technique to determine whether the one or more MRs identify particular errors that were inserted into the ML application for testing; generating, by the device, a report that includes verification results data indicating whether the one or more aspects of the ML application have been verified and validation results data identifying a result of validating the metamorphic testing procedure; and providing, by the device, the report for display on an interface of the user device. 2. The method of claim 1 , wherein selecting the one or more MRs comprises: selecting the one or more MRs, from a plurality of MRs, based on the type of ML process used by the ML application and at least one of: a first indication of whether source code of the ML application has been made accessible to the device, or a second indication of whether training data used to train the ML application has been made accessible to the device. 3. The method of claim 1 , further comprising: determining, before selecting the one or more MRs, one or more types of data used by the ML application; selecting one or more tools to be used within an environment that will support performance of the metamorphic testing procedure, wherein the one or more tools are selected based on the one or more types of data used by the ML application; configuring the environment to support the one or more tools; and wherein verifying the one or more aspects of the ML application comprises: using the one or more MRs and the test data to perform the metamorphic testing procedure in the environment. 4. The method of claim 1 , wherein the type of ML process used by the ML application is: a first type of ML process that uses classification, a second type of ML process that uses clustering, or a third type of ML process that uses regression. 5. The method of claim 1 , wherein the one or more MRs include at least one of: a first MR for testing permutations of a class label of a class associated with the ML application, a second MR for testing permutations of one or more features used to train the ML application, a third MR for testing permutations that modify the one or more features by a constant value, a fourth MR for testing permutations of an order in which the one or more features are used to train the ML application, a fifth MR for testing scaling of the one or more features, or a sixth MR for testing normalization of the one or more features. 6. The method of claim 1 , wherein the ML application includes at least one aspect that is unable to be verified; and wherein generating the report comprises: generating one or more recommendations for correcting errors identified within the ML application or for improving accuracy of a data model used for the ML application; and generating the report that includes the verification results data, wherein the verification results data includes at least one of: first data identifying the at least one aspect of the ML application that is unable to be verified, second data identifying a particular MR, of the one or more MRs, that failed the metamorphic testing procedure, or third data identifying the one or more recommendations. 7. The method of claim 1 , wherein validating the metamorphic testing procedure comprises: validating the metamorphic testing procedure based on completion of the metamorphic testing procedure; or validating the metamorphic testing procedure based on a threshold confidence level of the result of the metamorphic testing procedure not being satisfied. 8. A device, comprising: one or more memories; and one or more processors, operatively connected to the one or more memories, to: receive, from a user device, a request to verify a machine learning (ML) application, wherein verification of the ML application is to be performed using a metamorphic testing procedure; determine a type of ML process used by the ML application after receiving the request; determine one or more types of data used by the ML application after receiving the request; select one or more metamorphic relations (MRs), that are to be used for performing the metamorphic testing procedure, based on the type of ML process used by the ML application; generate test data that is to be used to test the one or more MRs; configure an environment that will support performance of the metamorphic testing procedure after selecting the one or more MRs; verify one or more aspects of the ML application by using the one or more MRs and the test data to perform the metamorphic testing procedure in the environment; validate the metamorphic testing procedure by using a mutation testing technique to determine whether the one or more MRs identify particular errors that were inserted into the ML application for testing; generate a report that includes verification results data indicating whether the one or more aspects of the ML application have been verified and the validation results identifying a result of validating the metamorphic testing procedure; and provide the report to the user device. 9. The device of claim 8 , wherein the one or more processors, when selecting the one or more MRs, are to: select the one or more MRs, from a plurality of MRs, based on: the type of ML process used by the ML application, a first indication of whether source code of the ML application has been made accessible to the device, and a second indication of whether training data used to train the ML application has been made accessible to the device. 10. The device of claim 8 , wherein the one or more types of data used by the ML application include at least one of: image data, text data, audio data, or multimedia data. 11. The device of claim 8 , wherein the one or more processors, when configuring the environment, are to: select one or more tools to be used within the environment, wherein the one or more tools are selected based on at least one of: the type of ML process used by the ML application, or the one or more types of data used by the ML application; and configure the environment to support the one or more tools. 12. The device of claim 8 , wherein the type of ML process used by the ML application is: a first type of ML process that uses supervised ML, a second type of ML process that uses unsupervised ML, a third type of ML process that uses reinforcement ML. 13. The device of claim 8 , wherein the one or more processors, when providing the report to the user device, are to: provide the report for display on a user interface of the user device, wherein the report includes the verificat

Assignees

Inventors

Classifications

  • Combinations of networks · CPC title

  • for test results analysis · CPC title

  • for test design, e.g. generating new test cases · CPC title

  • G06N3/08Primary

    Learning methods · CPC title

  • Convolutional networks [CNN, ConvNet] · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10438118B2 cover?
A device may receive, from a user device, a request to verify a machine learning (ML) application using a metamorphic testing procedure. The device may determine a type of ML process used by the ML application, and may select one or more metamorphic relations (MRs), to be used for performing the metamorphic testing procedure, based on the type of ML process. The device may receive test data to …
Who is the assignee on this patent?
Accenture Global Solutions Ltd
What technology area does this patent fall under?
Primary CPC classification G06F11/3684. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 08 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).