LLM Policy Compliance for Program Code

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software developers face challenges in verifying and maintaining policy compliance for program code as the number of policies increases, leading to significant time and resource consumption, especially when code updates or becomes complex, and compliance can be lost due to policy changes.

Innovation Solution

An integrated development environment generates a modeling language diagram from compiled program code, using a large language model to identify non-compliant node state transitions and generate security controls to update them, ensuring policy compliance and suggesting policy-compliant program code to users.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If developers manually verify policy compliance for program code, then compliance accuracy can be maintained, but time consumption and resource usage increase significantly

Engineering Contradiction:
Improvecompliance verification accuracyVSAvoidtime consumption for compliance verification
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent replaces manual mechanical verification processes with an automated system comprising a compiler, modeling language generator, and large language model. The compiler converts program code to intermediate representation, the modeling language generator creates visual diagrams, and the LLM automatically performs compliance verification, eliminating the need for manual inspection while maintaining high accuracy through multiple verification layers

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

Solution Approach 2:

The patent introduces intermediate representations (modeling language diagrams and node state transitions) as mediators between the original program code and compliance verification. These intermediaries provide structured, standardized formats that are easier to analyze for policy compliance, enabling automated verification while preserving the semantic meaning of the original code

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the number of policies that developers must consider increases, then comprehensive compliance coverage is achieved, but verification difficulty increases

Engineering Contradiction:
Improvecompliance coverageVSAvoidverification system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the compliance verification process into distinct components: policy identification (extracting applicable policies from code and diagrams), compliance checking (verifying each policy separately), and violation reporting (categorizing issues). This segmentation allows the system to handle multiple policies systematically, with each component focusing on specific aspects, thereby managing complexity while achieving comprehensive coverage

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates a universal compliance verification framework that can handle multiple different policies through a single integrated system. The modeling language diagrams and node state transitions serve as universal representations that can be analyzed against various policy types, allowing the system to scale from verifying one policy to verifying many policies without proportionally increasing complexity

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Adaptability or versatility

If program code is updated or becomes more complex, then functionality is enhanced, but maintaining compliance becomes increasingly difficult

Engineering Contradiction:
Improvecode functionalityVSAvoidcompliance maintenance
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent performs preliminary compliance verification by generating modeling language diagrams and identifying node state transitions before final code compilation. The system proactively checks for policy violations in the intermediate representation, allowing developers to correct compliance issues early in the development process before they become embedded in complex, updated code

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback mechanisms where compliance verification results are fed back to developers through the integrated development environment. When policy violations are detected in updated or complex code, the system provides specific feedback about which node state transitions violate which policies, enabling developers to make targeted corrections while maintaining enhanced functionality

Inventive Principle:
Principle #23Feedback

4Productivity

If automated compliance verification is implemented, then time consumption is reduced, but system complexity increases

Engineering Contradiction:
Improvecompliance verification efficiencyVSAvoidverification system structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent creates simplified copies or representations of the original program code in the form of modeling language diagrams and node state transition models. These copies capture the essential structure and behavior needed for compliance verification without requiring the full complexity of the original code, enabling automated verification through simpler, more manageable representations

Inventive Principle:
Principle #26Copying

Data Source

PatentUS20250013441A1Automated Policy Compliance Using Large Language Models
Publication Date: 2025.01.09 GOOGLE LLC
  • US20250013441A1 patent drawing
  • US20250013441A1 patent drawing
  • US20250013441A1 patent drawing

AI summary

A method includes generating a modeling language diagram that is indicative of a compiled version of program code. The modeling language diagram includes at least one node corresponding to at least one function in the program code. The method also includes identifying at least one function signature associated with anode state transition between nodes in the modeling language diagram. The method also includes identifying, using a large language model, a particular policy to attribute to the at least one function signature associated with the node state transition. The method further includes performing, using the large language model, a policy compliance operation that ensures a particular portion of the program code complies with the particular policy. The particular portion of the program code is associated with the node state transition. Performing the policy compliance operation includes generating a policy-compliant version of the particular portion of the program code.