Concept-Oriented Software Engineering System for Cross-Language Impact Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional methods for modeling software systems are inadequate in capturing complex relationships within large-scale enterprise software systems, especially when written in multiple languages, leading to difficulties in impact analysis and maintenance for software engineers.

Innovation Solution

A concept-oriented software engineering system that extracts, organizes, and queries software system facts by identifying relationships between concept instances from different software artifacts, using a method that includes storing these relationships in repositories and employing Link Definition Language statements to define cross-artifact relationships.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional modeling languages are used to model software system relationships, then the modeling process is simple and familiar, but the ability to capture complex relationships across multiple programming languages is severely limited

Engineering Contradiction:
Improveability to model relationships across multiple programming languagesVSAvoidcomplexity of modeling system
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary representation layer (abstract syntax trees and concept-oriented models) that mediates between different programming language artifacts. This intermediary enables relationships across multiple languages to be captured without requiring direct complex modeling between heterogeneous languages, thus improving adaptability while managing complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a universal modeling framework that can handle relationships across different programming languages (Java, C++, C#, etc.) and various artifact types (classes, methods, fields) through a unified concept-oriented approach. This universal model serves multiple functions: capturing dependencies, representing architectures, and enabling impact analysis across heterogeneous systems.

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

2Loss of information

If formal documentation is created for legacy systems, then system understanding is improved, but the documentation process becomes time-consuming and may be completely unavailable for older systems

Engineering Contradiction:
Improveavailability of system documentationVSAvoidtime required to create documentation
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The patent performs preliminary action by automatically extracting and modeling relationships from existing source code artifacts before any documentation is needed. The system pre-processes the codebase to create a comprehensive relationship model that can be queried for impact analysis, eliminating the need for time-consuming manual documentation creation later.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system enables self-service by automatically generating the relationship model directly from the code itself without requiring human intervention for documentation creation. The code artifacts serve their own documentation function through the extracted relationships, making the system self-documented and eliminating manual documentation efforts.

Inventive Principle:
Principle #25Self-service

3Reliability

If comprehensive relationship modeling is implemented across all software artifacts, then impact analysis capability is improved, but the complexity of extracting and organizing relationships from multiple languages increases

Engineering Contradiction:
Improveaccuracy of impact analysisVSAvoidcomplexity of relationship extraction process
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the complex relationship extraction process into distinct phases: first extracting relationships within individual language artifacts, then inferring cross-artifact relationships, and finally organizing them in a structured model. This segmentation breaks down the overwhelming complexity into manageable steps while maintaining comprehensive coverage for accurate impact analysis.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8752005B2Concept-oriented software engineering system and method for identifying, extracting, organizing, inferring and querying software system facts
Publication Date: 2014.06.10 INFOSYS LTD
  • US8752005B2 patent drawing
  • US8752005B2 patent drawing
  • US8752005B2 patent drawing

AI summary

Software system facts comprising concepts, concept instances and relationships within the software system are identified and stored in a repository. The software system facts are extracted from artifacts comprising the software system or are provided through explicit definition. Architectures of the software system are recovered from the stored software system facts. Layered views of the recovered architectures are generated. The stored software system facts are checked against architectural rules to ensure architectural compliance of the software system. The impact of proposed changes to the software system is assessed by querying the identified software system facts.