IP Library Granted Patent US 10,748,116
Granted Patent B2
US 10,748,116 · App. 15/045,116 · Granted Aug 18, 2020

Test vector generation from documentation

Inventors: Sachinrao Chittaranjan Panemangalore (San Jose, CA); Vinay Sawal (Fremont, CA); Vivek Dharmadhikari (San Jose, CA); Kuntal Atulbhai Patel (San Jose, CA); Gavin Richard Cato (Los Gatos, CA); Joseph LaSalle White (San Jose, CA)
Assignee: DELL PRODUCTS L.P.
G06Q10/10G06F16/3329G06F16/35
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,748,116
App. No.
15/045,116
Granted
Aug 18, 2020
Kind
B2
Abstract

Aspects of the present disclosure relate to systems and methods that help automate the generation of a test vector. Every functional product, be it a service, device, or combination thereof, has one or more documents associated with it. These documents may include such documentation as: (1) Release Notes; (2) Configuration Guides; (3) command line interfaces (CLIs)/application program interfaces (APIs); (4) Data Sheets; (5) Installation Guides; (6) User Manuals; (7) Errata notices; and (8) other documentation. In embodiments, command data-models and ranges and sequence of valid inputs to the data-model are extracted from natural language expressions in documentation related to a specific product. In embodiments, this extracted information is used to generate one or more table of attributes and properties or constraints about which a test vector may be generated for testing a command.

Claims (67)

1. A computer-implemented method for generating a test vector from technical documentation related to a product comprising:

generating a command template database (CT-DB) comprising one or more commands by extracting commands from the technical documentation using natural language processing;

generating, using the command template database, a command vector table (CVT) database comprising, for each command, at least some of its associated attributes and parameters;

generating, using, at least in part, location order of a command relative to another command or commands in the technical documentation and probabilistic relations based upon occurrences in the technical documentation, a command template sequence graph database that comprises representations of operational precedence ordered relationships of commands extracted from the technical documentation; and

Generating a test vector for a command selected from the command template database by:

Obtaining a command chain from the command template sequence database that identifies a set of commands for using the command and an ordering of commands in the set commands;

Obtaining parameters for the commands in the set of command from the command vector table database; and

Setting values for the parameters to form the test vector.

2. The computer-implemented method of claim 1 wherein a command comprises one or more of a command line interface (CLI) command, an application program interface (API), operation, call, query, script, or input.

3. The computer-implemented method of claim 1 wherein the step of generating a command template database (CT-DB) comprising one or more commands by extracting commands from the technical documentation using natural language processing comprises:

Extracting the one or more commands from the technical documentation related to the product;

Creating a command corpus of structured commands in which each command is in a structured format; and

Inputting the structured commands into an indexer for indexing.

4. The computer-implemented method of claim 1 wherein the step of generating, using the command template database, a command vector table database comprising, for each command, at least some of its associated attributes and parameters comprises:

For each command, parsing its corresponding command template from the CT-DB to tabulate at least some of its associated attributes and parameters into a CVT record.

5. The computer-implemented method of claim 1 wherein the step of generating, using, at least in part, location order of a command relative to another command or commands in the technical documentation and probabilistic relations based upon occurrences in the technical documentation, a command template sequence graph database that comprises representations of ordered relationships of commands extracted from the technical documentation comprises:

Creating a posting list for a set of commands from the technical documentation;

Generating frequency distributions of orderings in the posting list for the set of commands; and

Creating one or more sequence graphs of command ordering based upon probabilities of the frequency distributions of orderings.

6. The computer-implemented method of claim 5 wherein the set of commands are obtained from the command template database.

7. The computer-implemented method of claim 1 further comprising:

Using the test vector to verify information from technical documentation against actual functionality of the product.

8. The computer-implemented method of claim 7 wherein the step of using the test vector to verify information from technical documentation against actual functionality of the product comprising:

Using the test vector and one or more verification tools to verify information from technical documentation against actual functionality of the product.

9. The computer-implemented method of claim 8 wherein at least one of the one or more verification tools is an automated tool.

10. An information handling system comprising:

One or more processors;

A non-transitory computer-readable medium or media comprising one or more sets of instructions which, when executed by at least one of the one or more processors, causes steps to be performed comprising:

generating a command template database (CT-DB) comprising one or more commands by extracting commands from the technical documentation using natural language processing;

generating, using the command template database, a command vector table (CVT) database comprising, for each command, at least some of its associated attributes and parameters;

generating, using, at least in part, location order of a command relative to another command or commands in the technical documentation and probabilistic relations based upon occurrences in the technical documentation, a command template sequence graph database that comprises representations of operational precedence ordered relationships of commands extracted from the technical documentation; and

Generating a test vector for a command selected from the command template database by:

Obtaining a command chain from the command template sequence database that identifies a set of commands for using the command and an ordering of commands in the set commands;

Obtaining parameters for the commands in the set of command from the command vector table database; and

Setting values for the parameters to form the test vector.

11. The information handling system of claim 10 wherein a command comprises one or more of a command line interface (CLI) command, an application program interface (API), operation, call, query, script, or input.

12. The information handling system of claim 10 wherein the step of generating a command template database (CT-DB) comprising one or more commands by extracting commands from the technical documentation using natural language processing comprises:

Extracting the one or more commands from the technical documentation related to the product;

Creating a command corpus of structured commands in which each command is in a structured format; and

Inputting the structured commands into an indexer for indexing.

13. The information handling system of claim 10 wherein the step of generating, using the command template database, a command vector table database comprising, for each command, at least some of its associated attributes and parameters comprises:

For each command, parsing its corresponding command template from the CT-DB to tabulate at least some of its associated attributes and parameters into a CVT record.

14. The information handling system of claim 10 wherein the step of generating, using, at least in part, location order of a command relative to another command or commands in the technical documentation and probabilistic relations based upon occurrences in the technical documentation, a command template sequence graph database that comprises representations of ordered relationships of commands extracted from the technical documentation comprises:

Creating a posting list for a set of commands from the technical documentation;

Generating frequency distributions of orderings in the posting list for the set of commands; and

Creating one or more sequence graphs of command ordering based upon probabilities of the frequency distributions of orderings.

15. The information handling system of claim 14 wherein the set of commands are obtained from the command template database.

16. Information handling system of claim 10 wherein the non-transitory computer-readable medium or media further comprises one or more sets of instructions which, when executed by at least one of the one or more processors, causes steps to be performed comprising:

Using the test vector to verify information from technical documentation against actual functionality of the product.

17. A non-transitory computer-readable medium or media comprising one or more sequences of instructions which, when executed by at least one processor, causes steps to be performed comprising:

generating a command template database (CT-DB) comprising one or more commands by extracting commands from the technical documentation using natural language processing;

generating, using the command template database, a command vector table (CVT) database comprising, for each command, at least some of its associated attributes and parameters;

generating, using, at least in part, location order of a command relative to another command or commands in the technical documentation and probabilistic relations based upon occurrences in the technical documentation, a command template sequence graph database that comprises representations of functional precedence ordered relationships of commands extracted from the technical documentation; and

Generating a test vector for a command selected from the command template database by:

Obtaining a command chain from the command template sequence database that identifies a set of commands for using the command and an ordering of commands in the set commands;

Obtaining parameters for the commands in the set of command from the command vector table database; and

Setting values for the parameters to form the test vector.

18. The non-transitory computer-readable medium or media of claim 17 wherein the step of generating a command template database (CT-DB) comprising one or more commands by extracting commands from the technical documentation using natural language processing comprises:

Extracting the one or more commands from the technical documentation related to the product;

Creating a command corpus of structured commands in which each command is in a structured format; and

Inputting the structured commands into an indexer for indexing.

19. The non-transitory computer-readable medium or media of claim 17 wherein the step of generating, using the command template database, a command vector table database comprising, for each command, at least some of its associated attributes and parameters comprises:

For each command, parsing its corresponding command template from the CT-DB to tabulate at least some of its associated attributes and parameters into a CVT record.

20. The non-transitory computer-readable medium or media of claim 17 wherein generating, using, at least in part, location order of a command relative to another command or commands in the technical documentation and probabilistic relations based upon occurrences in the technical documentation, a command template sequence graph database that comprises representations of ordered relationships of commands extracted from the technical documentation comprises:

Creating a posting list for a set of commands from the technical documentation;

Generating frequency distributions of orderings in the posting list for the set of commands; and

Creating one or more sequence graphs of command ordering based upon probabilities of the frequency distributions of orderings.

Assignments (15)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
RELEASE OF REEL 038664 FRAME 0908 (NOTE) Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; SECUREWORKS, CORP.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040027/0390 →
RELEASE OF REEL 038665 FRAME 0041 (TL) Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; SECUREWORKS, CORP.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040028/0375 →
RELEASE OF REEL 038665 FRAME 0001 (ABL) Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; SECUREWORKS, CORP.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040021/0348 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES) Recorded May 11, 2016
From: DELL SOFTWARE INC.; WYSE TECHNOLOGY, L.L.C.; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS FIRST LIEN COLLATERAL AGENT
Reel/Frame 038664/0908 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN) Recorded May 11, 2016
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; WYSE TECHNOLOGY, L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 038665/0041 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL) Recorded May 11, 2016
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; WYSE TECHNOLOGY, L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 038665/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 7, 2016
From: PANEMANGALORE, SACHINRAO CHITTARANJAN; SAWAL, VINAY; DHARMADHIKARI, VIVEK; PATEL, KUNTAL ATULBHAI; CATO, GAVIN RICHARD; WHITE, JOSEPH LASALLE
To: DELL PRODUCTS L.P.
Reel/Frame 037914/0014 →
Continuity (2)
Continuation In Part 14885015 · Oct 16, 2015
Related Publication 20170109698A1 · Apr 20, 2017