Automated Code Generation for Contradictory Security and Usability NFRs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current automated code generation technologies face challenges in addressing contradictory Non-Functional Requirements (NFRs) such as security and usability, as they often compromise one aspect for the sake of another, failing to provide a balanced solution that optimizes both simultaneously.

Innovation Solution

A method and system for automated and optimized code generation that involves generating NFR recommendations, models, and mitigations based on user inputs and predefined rules, weighing criticality and usability, and embedding these mitigations into application code to create a balanced and optimized code that addresses contradictory NFRs effectively.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If security NFRs such as Captcha are implemented, then security is improved, but usability deteriorates

Engineering Contradiction:
ImprovesecurityVSAvoidusability
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The system changes parameters by allowing users to adjust the weightage and quantifier values of different NFR aspects. Users can modify the importance level and measurement criteria for security versus usability requirements, enabling the system to generate optimized code that balances these contradictory requirements according to user-defined parameters rather than using fixed priorities

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system dynamically resolves contradictions by allowing flexible adjustment of NFR priorities through user inputs. The mitigation model can adapt its recommendations based on real-time user preferences and context, transforming static security-usability tradeoffs into dynamic, context-aware decisions that can be adjusted as project needs evolve

Inventive Principle:
Principle #15Dynamics

2Productivity

If multiple NFR aspects are considered simultaneously, then overall optimization is improved, but system complexity increases

Engineering Contradiction:
Improveoverall optimizationVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system segments the NFR evaluation process into distinct components: separate NFR models for different aspects (security, usability, performance), a dedicated mitigation model that processes these models independently, and a code generation module that integrates the recommendations. This segmentation allows complex multi-aspect optimization to be handled through modular, manageable components that can be developed and maintained independently

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The mitigation model acts as an intermediary between the various NFR models and the code generation process. It receives inputs from multiple NFR aspects, processes them through a standardized framework, and produces integrated recommendations that balance all considerations. This intermediary layer simplifies the overall system by providing a unified approach to handling multiple contradictory requirements

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11216254B2Method and system for automated and optimized code generation for contradictory non-functional requirements (NFRs)
Publication Date: 2022.01.04 BIOSENSE WEBSTER (ISRAEL) LTD
  • US11216254B2 patent drawing
  • US11216254B2 patent drawing
  • US11216254B2 patent drawing

AI summary

Majority of the existing approaches handling NFRs limit themselves to model analysis whereas the method disclosed herein includes model driven code generation for NFR optimized models. The method and system disclosed herein provides a model driven approach to contradictory NFR resolution, which generates the NFR code into the functional application code. Embodiments herein provide automated and optimized code generation for contradictory NFRs. The method uses separate but related NFR and mitigation models. Further performs model to code transformation only after the Mitigation model is calculated based on NFR models. The method relies on model to code transformation for generating the application code and other artifacts for an optimized NFR. The approach provided is applicable till the application is deployed in an optimized environment.