Source Code Insertion Markers for Preserving Developer Modifications

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional software development support systems struggle to efficiently reflect modifications made by developers in source code generated by a source code generator, particularly when these modifications include additions or comments not defined in the design information, leading to inefficiencies in software development.

Innovation Solution

A software development support system that incorporates insertion markers in the source code generation process, allowing developers to add or modify code within specified ranges, which are then extracted and stored with identification information, enabling the code combining section to accurately reflect these changes in subsequent source code generation without modifying the design information.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a source code generator automatically generates source code according to design information, then source code generation efficiency is improved, but modifications made by developers are deleted when source code is regenerated

Engineering Contradiction:
Improvesource code generation efficiencyVSAvoidpreservation of developer modifications
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent divides source code into two distinct parts: automatically generated code based on design information and manually inserted code by developers. Insertion markers are used to delimit the boundaries between these segments, allowing the system to regenerate only the automatic portion while preserving the manual modifications in the inserted code region.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces insertion markers as intermediary elements between the generated code and developer modifications. These markers act as boundaries that the source code generator recognizes and respects, preventing overwriting of developer-inserted code while still allowing automatic regeneration of the remaining code portions.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Manufacturing precision

If design information is modified to reflect developer changes, then source code accuracy is improved, but the complexity of managing design information increases

Engineering Contradiction:
Improvesource code accuracyVSAvoidcomplexity of managing design information
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent extracts the responsibility of tracking modifications from the design information management system. Instead of modifying and tracking changes in design information, the system extracts developer modifications directly into the source code itself using insertion markers, separating the concerns of design specification and implementation details.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Instead of modifying design information to capture developer changes (conventional approach), the patent inverts the approach by allowing developers to directly insert code into the source code using markers, and the system then regenerates only the automatic portions while preserving the inserted code.

Inventive Principle:
Principle #13The other way round (Inversion)

3Adaptability or versatility

If developers manually insert code into source code, then code customization is improved, but the same code must be re-inputted each time source code is regenerated

Engineering Contradiction:
Improvecode customizationVSAvoidtime for re-inputting code
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent performs preliminary action by having developers insert their custom code into the source code before the regeneration process. The insertion markers are placed in advance to indicate where custom code resides, so that during subsequent regeneration cycles, the system automatically preserves this pre-inserted code without requiring re-inputting.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates a copy mechanism where developer-inserted code with insertion markers is copied into a storage structure (such as a database or file system). This copied version is then referenced during regeneration, allowing the system to automatically retrieve and reinsert the same custom code without manual re-inputting by the developer.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS7721253B2Software development support system
Publication Date: 2010.05.18 NS SOLUTIONS CORPORATION
  • US7721253B2 patent drawing
  • US7721253B2 patent drawing
  • US7721253B2 patent drawing

AI summary

The invention provides a software development support system capable of reflecting the content added by a person to source code in source code generated again, without modifying design information.A generator 41 generates source code in which plural insertion markers are inserted on the basis of design information. An extracting portion 43 extracts code (inserted code) contained in a range specified by each insertion marker in source code. Each extracted inserted code is associated with its identification information and stored into a saving portion 32. When the generator 41 generates source code, a combining portion 44 performs a process of combining inserted code with the relevant source code and outputs the processed source code, wherein the relevant inserted code is included in plural pieces of inserted code stored in the saving portion 32, source code identified by the identification information for the relevant inserted code coincides with the relevant source code and an insertion marker identified by this identification information exists in the relevant source code and coincides with the relevant insertion marker.