IP Library Granted Patent US 11,531,539
Granted Patent B2
US 11,531,539 · App. 17/336,108 · Granted Dec 20, 2022

Automated compliance and testing framework for software development

Inventors: Jason Crabtree (Vienna, VA); Andrew Sellers (Monument, CO)
Assignee: QOMPLX, INC.
G06F8/77G06F8/71G06F11/3616G06F16/22
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 11,531,539
App. No.
17/336,108
Granted
Dec 20, 2022
Kind
B2
Abstract

A system for enforcing compliance and testing for software development, comprising an indexing service configured to create a dataset by processing and indexing source code of a project by a developer, perform a code audit on the indexed source code, store results from the code audit in the dataset, gather additional information relating to the provided project, store the additional information in the dataset, and store the dataset into memory; and a monitoring service configured to continuously monitor the project for source code changes and make changes to the dataset as needed. Further comprising an enforcement module to automatically verify code and other media related to the software development process by ensuring obligations from a rules database are met and where not able to automate the compliance check forward to an appropriate authority, receive back the manually reviewed compliance check, then produce and implement automated recommendations for compliance adherence.

Claims (51)

1. A system for a compliance and testing framework for software development, comprising:

a computing device comprising at least a processor and a memory;

an indexing service comprising a first plurality of programming instructions stored in the memory and operable on the processor of the computing device, wherein the first plurality of programmable instructions, when operating on the processor, cause the processor to:

create a dataset by processing and indexing source code of a project provided by a developer;

perform a code audit using automated analysis using a distributed computational graph comprising at least a plurality of network-addressable processors and memories operating on a plurality of network-connected computing devices, the distributed computational graph collectively maintaining a distributed computational graph and a plurality of interfaces for accessing the functionality thereof across a network, on the indexed source code;

store results from the code audit in the dataset;

gather additional information relating to a project;

store the additional information in the dataset; and

store the dataset into memory; and

an enforcement module comprising a second plurality of programming instructions stored in the memory and operable on the processor of the computing device, wherein the second plurality of programmable instructions, when operating on the processor, cause the processor to:

retrieve a software asset from the database for compliance verification, wherein the software asset is a portion of code;

retrieve metadata from the additional information, wherein the metadata pertains to the software asset;

retrieve rules and obligations relating to the software asset using the metadata from a rules database;

automatically confirm the compliance of the software asset according to the rules and obligations;

produce a compliance recommendation for any non-complaint part of the software asset;

forward any non-automatically verifiable rule and obligation to an enforcement queue;

receive a manual recommendation and an approval or disapproval regarding the any non-automatically verifiable rule and obligation; and

store the results of the compliance verification.

2. The system of claim 1 , further comprising a monitoring service comprising a third plurality of programming instructions stored in the memory and operable on the processor of the computing device, wherein the third plurality of programmable instructions, when operating on the processor, cause the processor to continuously monitor the project for at least source code changes and to make changes to the dataset as needed.

3. The system of claim 2 , wherein the licensing service may be used to detect and automatically take steps to resolve inappropriate usage of the provided project.

4. The system of claim 1 , further comprising a licensing service that the developer may use to manage, track, and restrict usage of the provided project.

5. The system of claim 1 , further comprising a recommendation engine to provide usage recommendations to end-users.

6. The system of claim 1 , wherein at least a portion of the information relating to the provided project that is gathered comprises links to relevant message forums.

7. The system of claim 1 , wherein at least a portion of the information relating to the provided project that is gathered comprises vulnerability information of related libraries and dependencies.

8. The system of claim 1 , wherein a software asset may be any medium associated with a software development process.

9. The system of claim 1 , wherein the compliance recommendation is automatically applied.

10. The system of claim 1 , further comprising a user interface.

11. A method for a compliance and testing framework for software development, comprising the steps of:

creating a dataset by processing and indexing source code of a project provided by a developer;

performing a code audit using automated analysis using a distributed computational graph comprising at least a plurality of network-addressable processors and memories operating on a plurality of network-connected computing devices, the distributed computational graph collectively maintaining a distributed computational graph and a plurality of interfaces for accessing the functionality thereof across a network, on the indexed source code;

storing results from the code audit in the dataset;

gathering additional information relating to a project;

storing the additional information in the dataset;

storing the dataset into memory;

retrieving a software asset from the database for compliance verification, wherein the software asset is a portion of code;

retrieving metadata from the additional information, wherein the metadata pertains to the software asset;

retrieving rules and obligations relating to the software asset using the metadata from a rules database;

automatically confirming the compliance of the software asset according to the rules and obligations;

producing a compliance recommendation for any non-complaint part of the software asset;

forwarding any non-automatically verifiable rule and obligation to an enforcement queue;

receiving a manual recommendation and an approval or disapproval regarding the any non-automatically verifiable rule and obligation; and

storing the results of the compliance verification.

12. The method of claim 11 , further comprising the step of: continuously monitoring the project for at least source code changes and to make changes to the dataset as needed.

13. The method of claim 12 , wherein the licensing service may be used to detect and automatically take steps to resolve inappropriate usage of the provided project.

14. The method of claim 11 , further comprising a licensing service that the developer may use to manage, track, and restrict usage of the provided project.

15. The method of claim 11 , further comprising a recommendation engine to provide usage recommendations to end-users.

16. The method of claim 11 , wherein at least a portion of the information relating to the provided project that is gathered comprises links to relevant message forums.

17. The method of claim 11 , wherein at least a portion of the information relating to the provided project that is gathered comprises vulnerability information of related libraries and dependencies.

18. The method of claim 11 , wherein a software asset may be any medium associated with a software development process.

19. The method of claim 11 , wherein the compliance recommendation is automatically applied.

20. The method of claim 11 , further comprising a user interface.

Assignments (5)
CHANGE OF ADDRESS Recorded Oct 1, 2024
From: QOMPLX LLC
To: QOMPLX LLC
Reel/Frame 069083/0279 →
CHANGE OF NAME Recorded Sep 27, 2023
From: QPX LLC
To: QOMPLX LLC
Reel/Frame 065036/0449 →
CORRECTIVE ASSIGNMENT TO CORRECT THE RECEIVING PARTY PREVIOUSLY RECORDED AT REEL: 064674 FRAME: 0408. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 20, 2023
From: QOMPLX, INC.
To: QPX LLC
Reel/Frame 064966/0863 →
PATENT ASSIGNMENT AGREEMENT TO ASSET PURCHASE AGREEMENT Recorded Aug 23, 2023
From: QOMPLX, INC.
To: QPX, LLC.
Reel/Frame 064674/0407 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 12, 2022
From: CRABTREE, JASON; SELLERS, ANDREW
To: QOMPLX, INC.
Reel/Frame 060062/0599 →
Continuity (12)
Continuation In Part 17216754 · Mar 30, 2021
Continuation 16856886 · Apr 23, 2020
Continuation 15823285 · Nov 27, 2017
Continuation In Part 15788718 · Oct 19, 2017
Continuation In Part 15788002 · Oct 19, 2017
Continuation In Part 15787601 · Oct 18, 2017
Continuation In Part 15616427 · Jun 7, 2017
Continuation In Part 14925974 · Oct 28, 2015
Provisional Application 62568312 · Oct 4, 2017
Provisional Application 62568305 · Oct 4, 2017
Provisional Application 62568307 · Oct 4, 2017
Related Publication 20210397447A1 · Dec 23, 2021