Verification by metamorphic testing of applications that utilize artificial intelligence
First Claim
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, andwherein 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.
1 Assignment
0 Petitions
Accused Products
Abstract
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.
-
Citations
20 Claims
-
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. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
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. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory computer-readable medium storing instructions, the instructions comprising:
one or more instructions that, when executed by one or more processors of a device, cause the one or more processors 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 testing procedure; determine a type of ML process used by the ML application after receiving the request; select one or more properties, that are to be used for performing the testing procedure, based on at least one of; 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, or a second indication of whether training data used to train the ML application has been made accessible to the device; generate test data that is to be used to test the one or more properties; perform, by using the one or more properties and the test data, the testing procedure to selectively verify one or more aspects of the ML application; validate the testing procedure by using a mutation testing technique to determine whether the one or more properties 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 validation results data identifying a result of validating the testing procedure; and provide the report for display on an interface of the user device. - View Dependent Claims (16, 17, 18, 19, 20)
Specification