Machine Learning Developer Competency Assessment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

IT managers face challenges in effectively training application developers in cybersecurity due to the breadth of training courses and skills required, leading to potential security flaws and financial losses from cyberattacks, necessitating a tailored approach to enhance cybersecurity competencies.

Innovation Solution

An automated method and system utilizing machine learning to assess application developers' cybersecurity competencies by breaking down applications into pieces, performing cybersecurity testing, building competency profiles, grouping developers, and selecting targeted training courses using unsupervised machine learning and tools like SAST and DAST, with the Common Weaknesses Enumeration (CWE) for categorization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If comprehensive cybersecurity training is provided to all application developers, then cybersecurity knowledge coverage is improved, but training cost and time investment increase significantly

Engineering Contradiction:
Improvecybersecurity knowledge coverageVSAvoidtraining cost and time investment
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent segments developers into different competency groups using unsupervised machine learning clustering algorithms. Instead of treating all developers uniformly, the system divides them into distinct groups based on their assessed cybersecurity competencies, allowing targeted training recommendations for each group rather than comprehensive training for all.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by providing customized training recommendations specific to each developer's identified competency gaps. The system generates individualized training plans based on the specific weaknesses detected in each developer's code, rather than applying generic training to all developers, thereby optimizing training resource allocation.

Inventive Principle:
Principle #3Local quality

2Reliability

If cybersecurity assessment is performed on all applications, then security vulnerabilities are detected, but assessment time and computational resources increase

Engineering Contradiction:
Improvevulnerability detection capabilityVSAvoidassessment time and computational resources
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary cybersecurity assessment during the code review process, integrating security checks into the existing development workflow rather than as a separate post-development step. This allows vulnerabilities to be detected early in the development cycle, reducing the need for lengthy retrospective assessments.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system automatically performs cybersecurity assessments using machine learning models trained on historical vulnerability data. The automated assessment process eliminates the need for manual security reviews, significantly reducing the time and computational resources required while maintaining high detection accuracy.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If personalized training plans are created for each developer, then training effectiveness is improved, but system complexity and processing requirements increase

Engineering Contradiction:
Improvetraining personalization levelVSAvoidsystem complexity and processing requirements
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a feedback loop where the system continuously monitors developer code submissions, reassesses competency levels, and updates training recommendations accordingly. This automated feedback mechanism allows the system to adapt to each developer's progress and adjust personalized training plans dynamically without requiring complex manual intervention.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent replaces complex manual processes of assessing developer competencies and creating personalized training plans with automated machine learning algorithms. The system uses unsupervised learning to cluster developers and supervised learning to recommend specific training courses, significantly reducing system complexity compared to manual approaches while maintaining high personalization levels.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS11748685B2Utilizing machine learning to measure application developers' cybersecurity competencies
Publication Date: 2023.09.05 SAUDI ARABIAN OIL CO
  • US11748685B2 patent drawing
  • US11748685B2 patent drawing
  • US11748685B2 patent drawing

AI summary

An automated method for improving application developers' cybersecurity competencies is provided. The method includes: breaking each application of a set of computer applications into one or more pieces each piece being developed by a corresponding one of a plurality of application developers; associating each piece of each application with its corresponding application developer; performing cybersecurity assessment testing on the set of computer applications in order to generate cybersecurity assessment results for the set of computer applications; building a cybersecurity competency profile for each application developer using the generated cybersecurity assessment results attributed to corresponding pieces associated with the application developer; grouping the application developers into at least two groups using unsupervised machine learning on the built cybersecurity competency profiles; and choosing, for each application developer based on the corresponding groups to which the application developer belongs, a subset of training courses to improve the cybersecurity competency of the application developer.