Concept Detection System for Software Code Quality

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software development tools are limited in their ability to detect and address concept violations across different components, failing to capture design and architectural abstractions, and provide actionable feedback for improving code quality.

Innovation Solution

A graphical user interface is used to specify complex concepts in rule form, allowing for the detection of violations and providing recommendations for code transformation, enabling users to define and reconfigure concepts applicable to specific projects, and facilitating analysis across the entire software system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If existing code analysis tools are used, then basic code quality checks can be performed, but they fail to capture design and architectural abstractions and cannot detect concept violations across different components

Engineering Contradiction:
Improveconcept detection accuracyVSAvoidconcept specification flexibility
Core Design Contradiction:
Measurement precisionVSAdaptability or versatility

Solution Approach 1:

The system transitions from static, pre-defined concept detection to dynamic, user-configurable concept specification. Users can define custom concepts through a graphical interface that captures design and architectural abstractions, allowing the detection system to adapt to specific project requirements and detect violations across different components with higher precision.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The invention changes the parameters of concept detection by allowing users to specify concepts at multiple levels of abstraction (design, architecture, application-domain) rather than being limited to fixed code-level checks. This enables detection of cross-component violations and captures nuanced design patterns specific to each project.

Inventive Principle:
Principle #35Parameter changes

2Extent of automation

If existing tools with pre-defined knowledge bases are used, then concept detection can be performed automatically, but users cannot enrich or customize the knowledge base for their specific projects

Engineering Contradiction:
Improveconcept detection automationVSAvoidknowledge base enrichment
Core Design Contradiction:
Extent of automationVSEase of manufacture

Solution Approach 1:

The system enables users to self-configure and enrich the concept detection knowledge base through an intuitive graphical interface. Users can define their own concepts, specify detection rules, and customize the analysis scope without requiring manual intervention from developers or system administrators, maintaining automation while enabling customization.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs preliminary analysis by examining code snippets provided by users to automatically generate concept definitions and detection rules. This preliminary action reduces the effort required from users to configure the system, as the tool pre-processes sample code to suggest appropriate concept specifications before final user confirmation.

Inventive Principle:
Principle #10Preliminary action

3Loss of information

If existing tools provide violation reports, then concept violations can be identified, but they fail to indicate the impact of violations or specify corrective actions

Engineering Contradiction:
Improveviolation information completenessVSAvoidanalysis system complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The system implements comprehensive feedback by analyzing the impact of detected concept violations on software quality attributes and providing specific corrective recommendations. The graphical interface presents violation information in context, showing how violations affect design principles, architectural constraints, or domain-specific requirements, and suggests actionable steps for remediation.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The invention adds dimensional depth to violation reporting by analyzing concepts across multiple levels of abstraction simultaneously (code, design, architecture, application-domain). This multi-dimensional analysis provides more complete information about violation impact without proportionally increasing system complexity, as the same core engine handles all levels.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

4Measurement precision

If concept detection is limited to code level, then detection is straightforward, but design and architectural concepts cannot be captured

Engineering Contradiction:
Improveconcept detection accuracyVSAvoidconcept detection difficulty
Core Design Contradiction:
Measurement precisionVSDifficulty of detecting and measuring

Solution Approach 1:

The system segments concept detection into distinct levels of abstraction (code, design, architecture, application-domain), allowing each level to be analyzed with appropriate methods and rules. This segmentation enables capture of high-level design and architectural concepts while maintaining the precision needed for code-level detection, with the graphical interface managing the complexity of coordinating analysis across all levels.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9298452B2Code quality improvement
Publication Date: 2016.03.29 ACCENTURE GLOBAL SERVICES LTD
  • US9298452B2 patent drawing
  • US9298452B2 patent drawing
  • US9298452B2 patent drawing

AI summary

Techniques enabling an end-user to specify complex concepts consisting of code abstractions, design abstractions and architectural abstractions in rule form are disclosed. In one embodiment, a graphical user interface is provided to guide a user through the process of entering concept specification information in order to define concepts, including the provision of one or more code snippets that are subsequently analyzed to assist the user in specifying the concept. The resulting rules or concept signatures are evaluated by a rule engine to determine the degree to which the underlying concepts are reflected in a given set of code. Recommended measures that need to be taken for transforming code to satisfy a concept may be provided subsequent to the analysis of the code. In this manner, code quality may be improved through systematic analysis of targeted code to demonstrate adherence (or non-adherence, as the case may be) to user-defined concepts.