IP Library Granted Patent US 11,379,219
Granted Patent B2
US 11,379,219 · App. 16/686,252 · Granted Jul 5, 2022

Automation of task identification in a software lifecycle

Inventors: Nishchal Bhalla (Toronto, CA); Rohit Kumar Sethi (Toronto, CA); Ramanan Sivaranjan (Toronto, CA); Ehsan Foroughi (Toronto, CA); Geoffrey Charles Whittington (Toronto, CA)
Assignee: Security Compass Technologies Ltd.
G06F8/71G06F8/75G06F21/563G06F21/577G06N5/02G06N5/022G06Q10/06313G06F2221/033
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,379,219
App. No.
16/686,252
Granted
Jul 5, 2022
Kind
B2
Abstract

A system and method for automation of task identification and control in a software lifecycle. Software context for a software asset is extracted from context repositories of the software asset during software development and operation, the extracted context data is matched to relevant tasks in a knowledge database to select tasks for the software asset, and task prioritization and orchestration are presented in a prioritized task list during a software lifecycle.

Claims (53)

1. A method for automation of task identification for a software asset, the method comprising:

in a processor, on an ongoing basis, extracting context data from a dynamic context repository of the software asset by scanning the context repository for context data using one or more of a data scraping tool and natural language processing, the context data comprising technical and operational properties, running environment, and execution environment of the software asset and a description in natural language of the desired features and components of the software asset;

in a processor, performing a meta analysis on the extracted context data to generate a context profile for the software asset, the context profile comprising system source and file structure data and a set of dependencies in use by the software asset;

matching the extracted context data in the context profile to relevant task requirements in a knowledge database comprising a plurality of task requirements accessible with a retrieval tool by matching the context profile and extracted context data with corresponding tagged requirements in the knowledge database, each task requirement comprising task guidelines and actionable guidance to orchestrate software development and one or more tags delineating its relevance to a particular software context;

selecting the task requirements specific to the software asset based on the extracted context data;

generating a prioritized task list comprising the matched task requirements for the software asset based on a security risk of each of the selected task requirements; and

updating the prioritized task list throughout the software lifecycle when updates are made to the dynamic context repository or knowledge database that are relevant to the software asset and pushing the updates to the prioritized task list for ongoing software asset

management, wherein tasks that are identified as susceptible to security risk are automatically escalated on the task list; and

presenting the prioritized task list on a user interface.

2. The method of claim 1 , wherein the task requirements comprise security requirements.

3. The method of claim 1 , wherein the context data comprises source code.

4. The method of claim 1 , wherein the context repository is at least one of a system of record, source code repository, and epic repository.

5. The method of claim 1 , further comprising extracting context data from a plurality of context repositories.

6. The method of claim 1 , wherein performing a meta analysis on the extracted context data comprises identifying what linked libraries are used and identifying any vulnerabilities with any linked libraries.

7. The method of claim 1 , further comprising scanning source code of the software asset using a code scanner to identify any code vulnerabilities.

8. The method of claim 1 , wherein the method is performed by more than one computing device.

9. The method of claim 1 , wherein context data is extracted from the context repository with natural language processing of the context repository.

10. The method of claim 1 , wherein the context repository is a management system selected from a dependency management system, a source code management repository, an application lifecycle management repository, and a configuration management repository.

11. The method of claim 1 , further comprising costing a software development project by calculating resources required to address each task in the prioritized task list.

12. A system for automation of task identification in a software asset lifecycle comprising:

a context repository comprising context data for the software asset, the context data comprising a set of attributes describing a behaviour and state of the software asset and specific to the technical and operational properties, features, and conditions of the software asset and a description in natural language of the desired features and components of the software asset;

a context extraction engine in a processor comprising computer readable instructions stored on a memory device for extracting the context data from the context repository by scanning the context repository for context data and extracting the context data using one or more of a data scraping tool using at least one of natural language processing and code scanning, the context data comprising data that contributes to technical and operational properties, running environment, and execution environment of the software asset and a description in natural language of the desired features and components of the software asset, and

transforming the context data into machine useable information for the software asset;

a knowledge database comprising a plurality of task requirements comprising task guidelines and actionable guidance to orchestrate software development accessible with a retrieval tool;

a selection module for selecting task requirements from the knowledge database relevant to the software asset by matching the extracted context data to relevant task requirements based on the context data specific to the software asset; and

a prioritization engine, in a processor comprising computer-readable instructions in the memory, for prioritizing the selected task requirements from the knowledge database based on one or more of a task orchestration and risk of each of the selected task requirements and creating a prioritized task list, wherein tasks that are identified as susceptible to risk are automatically escalated on the prioritized task list.

13. The system of claim 12 , wherein the task requirements are security task requirements.

14. The system of claim 12 , wherein the context extraction engine comprises a code scanner.

15. The system of claim 12 , wherein the context extraction engine comprises a natural language processor.

16. The system of claim 12 , wherein the context repository is a management system.

17. The system of claim 16 wherein the management system is selected from a dependency management system, a source code management repository, an application lifecycle management repository, and a configuration management repository.

18. A method for orchestrating a set of automated and manual tasks in a software development lifecycle for a software asset, the method comprising:

extracting context data from a dynamic context repository by scanning the context repository for context data and extracting the context data using one or more of a data scraping tool and natural language processing, the context data relevant to the software asset and comprising a description in natural language of the desired features and components of the software asset;

performing a meta analysis on the extracted context data to provide software asset system source and file structure data on the software asset and extract embedded natural language from the context data;

generating a context profile comprising the context data and a set of dependencies in use by the software asset;

matching extracted context data to relevant task requirements in a knowledge database comprising a plurality of task requirements accessible with a retrieval tool by matching the context profile and extracted context data with corresponding tagged requirements in the knowledge database to select task requirements for the software asset based on the extracted context data;

generating a prioritized task list comprising the selected task requirements for the software asset;

assigning each task requirement in the prioritized task list as a machine addressable task or a task requiring human intervention;

directing machine-addressable tasks to a machine asset;

directing tasks requiring human intervention to a developer task list; and

updating the prioritized task list throughout the software lifecycle when updates are made to the dynamic context repository or knowledge database that are relevant to the software asset.

19. A computerized system for automation of task identification for a software asset from context data of the software asset, the system comprising:

a computer system comprising at least one processor, at least one memory device, and

at least one network communication device; and

a context extraction engine stored in the at least one memory device comprising computer readable instructions, that when executed by the at least one processor cause the at least one processor to;

on an ongoing basis, extract context data from at least one dynamic context repository of the software asset by scanning the context repository for context data using one or more of a data scraping tool and natural language processing, the context data relevant to the software asset and comprising data that contributes to technical and operational properties, running environment, and execution environment of the software asset and a description in natural language of the desired features and components of the software asset;

perform a meta analysis on the extracted context data to generate a context profile for the software asset, the context profile comprising system source and file structure data and a set of dependencies in use by the software asset:

match the extracted context data in the context profile to relevant tasks in a knowledge database to select relevant tasks for the software asset by matching the context profile and extracted context data with corresponding tagged requirements in the knowledge database, each task requirement comprising task guidelines and actionable guidance to orchestrate software development and one or more tags delineating its relevance to a particular software context;

select the task requirements specific to the software asset based on the context profile;

generate a prioritized task list comprising the selected tasks for the software asset, the prioritizing based on a risk of each of the selected task requirements; and

update the prioritized task list throughout the software lifecycle when updates are made to the dynamic context repository or knowledge database that are relevant to the software asset and push the updates to the prioritized task list for ongoing software

asset management, wherein tasks that are identified as susceptible to risk are automatically escalated on the task list; and

present the prioritized task list on a user interface.

Assignments (5)
MERGER AND CHANGE OF NAME Recorded Mar 15, 2022
From: 1230604 BC LTD.; SECURITY COMPASS TECHNOLOGIES LTD.
To: SECURITY COMPASS TECHNOLOGIES LTD.
Reel/Frame 059366/0972 →
SECURITY INTEREST Recorded Oct 29, 2020
From: 1230604 B.C. LTD.
To: CANADIAN IMPERIAL BANK OF COMMERCE
Reel/Frame 054207/0838 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 24, 2020
From: SD ELEMENTS INC.
To: 1230604 BC LTD
Reel/Frame 052206/0310 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 19, 2019
From: BHALLA, NISHCHAL; SETHI, ROHIT KUMAR; SIVARANJAN, RAMANAN; FOROUGHI, EHSAN; WHITTINGTON, GEOFFREY CHARLES
To: 2509757 ONTARIO INC.
Reel/Frame 051050/0147 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 19, 2019
From: 2509757 ONTARIO INC.
To: SD ELEMENTS INC.
Reel/Frame 051050/0359 →
Continuity (2)
Provisional Application 62769091 · Nov 19, 2018
Related Publication 20200159525A1 · May 21, 2020
Cited By (8)
US 12,373,249 US 12,468,584 US 12,614,147 US 12,632,557 US 12,639,158 US 12,639,745 US 12,699,561 US 12,711,535