Static Code Analysis for Cloud Service Compliance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern business-process driven systems face challenges in ensuring compliance and security due to complex regulations and increased awareness of IT security, leading to a need for dynamic security policies and manual system audits, which are costly and inefficient.

Innovation Solution

The implementation of static code analysis (SCA) to check conformance of computer-implemented services at the source code level against process-level requirements, including security and compliance specifications, ensuring that services comply with requirements such as separation of duty, access control, and data integrity by mapping high-level process specifications to source code level requirements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If dynamic security policies and manual system audits are implemented to ensure compliance and security, then security and compliance requirements are met, but system complexity and costs increase significantly

Engineering Contradiction:
Improvecompliance and securityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by performing static code analysis at design-time to check conformance of source code to process-level security and compliance requirements before the system is deployed or executed. This advance checking ensures compliance is built-in from the start, eliminating the need for complex runtime security policies and reducing manual audit requirements.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent replaces manual system audits with automated static code analysis. Instead of relying on human reviewers to manually examine code for compliance issues, the system uses automated tools to analyze source code against predefined process models and security requirements, significantly reducing complexity and cost while maintaining high reliability.

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

2Reliability

If manual system audits are performed to verify compliance, then compliance requirements are checked, but time and costs increase

Engineering Contradiction:
Improvecompliance verificationVSAvoidaudit time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent replaces manual system audits with automated static code analysis tools that can process and verify compliance of entire codebases instantly. This substitution eliminates the time-consuming nature of manual audits while maintaining thorough compliance verification, as the automated tools can analyze code structure, data flows, and control flows systematically without human intervention.

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

Solution Approach 2:

The patent enables the development process to self-verify compliance through integrated static code analysis. The system automatically checks source code against process models and security requirements during the development phase, allowing the development team to self-assess compliance without external manual audits, thereby reducing both time and cost.

Inventive Principle:
Principle #25Self-service

3Productivity

If static code analysis is performed at design-time to ensure compliance, then runtime checks are reduced and performance improves, but additional analysis time is required during development

Engineering Contradiction:
Improveruntime performanceVSAvoiddesign-time analysis time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent performs compliance checking at design-time through static code analysis, moving the verification process to the development phase rather than runtime. This preliminary action ensures that all security and compliance requirements are satisfied before deployment, eliminating the need for ongoing runtime checks and thus improving runtime performance without compromising compliance.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent balances the time investment by making the analysis phase dynamic and adaptive. The static code analysis is performed only when necessary (e.g., when code changes occur), and the system can selectively analyze only affected portions of the codebase rather than the entire system, reducing the time overhead during development while maintaining comprehensive compliance verification.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9286187B2Static enforcement of process-level security and compliance specifications for cloud-based systems
Publication Date: 2016.03.15 SAP SE
  • US9286187B2 patent drawing
  • US9286187B2 patent drawing
  • US9286187B2 patent drawing

AI summary

Implementations of the present disclosure are directed to statically checking conformance of a computer-implemented service at a source code level to requirements specified at a process level and include actions of receiving source code of the computer-implemented service, receiving one or more rules, the one or more rules being generated based on a mapping and including a set of technical requirements that can be checked on the source code level, the mapping associating the requirements with the source code, and processing the source code and the one or more rules using static code analysis (SCA) to generate a result, the result indicating whether the computer-implemented service conforms to the requirements.