Software Variability Point Management via Source Code Linking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for managing variability points in software development, particularly in component-based software development, are inadequate as they fail to efficiently represent and connect variability points with source code and build scripts, limiting the reuse and updating of software components.

Innovation Solution

A method and apparatus that connect variability points of software components to each other and to corresponding points in source code and build scripts, allowing for the setting and reflection of predetermined values, which includes extracting variability points from source code and tracking their positions for efficient management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If variability points are not connected to source code and build scripts, then software component reuse is difficult and management is complex, but connecting them increases system complexity

Engineering Contradiction:
Improvesoftware component reuseVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces variability point information as an intermediary element that connects source code and build scripts. This intermediary contains identification information that links to both the source code location and build script parameters, enabling traceability without direct complex integration between source code and build scripts. The variability point information acts as a mediator that simplifies the overall system architecture while enabling component reuse.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent performs preliminary extraction of variability points from source code before the build process. By identifying and extracting variability points in advance, storing their location information and parameter names, the system prepares the necessary connection data beforehand. This preliminary action reduces the complexity of real-time connections during the build process and enables efficient component reuse.

Inventive Principle:
Principle #10Preliminary action

2Manufacturing precision

If variability points are extracted and connected manually, then management precision is high, but productivity is low

Engineering Contradiction:
Improvevariability point management precisionVSAvoidsoftware development productivity
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The patent implements automatic extraction of variability points from source code using preprocessing directives and macro definitions. The system automatically identifies variability points, extracts their location information, and creates connections without requiring manual intervention. This self-service approach maintains high precision through automated rule-based extraction while significantly improving productivity by eliminating manual work.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces the mechanical manual process of variability point extraction and connection with an automated computational system. The preprocessing system automatically scans source code, identifies variability points based on predefined rules, and establishes connections to build scripts. This substitution of manual mechanical operations with automated computational processes maintains precision while dramatically increasing productivity.

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

3Measurement precision

If variability points are not tracked in source code, then system complexity is low, but measurement precision of variability is insufficient

Engineering Contradiction:
Improvevariability point location precisionVSAvoidtracking system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent extracts only the essential location information and identification data of variability points from the source code, rather than tracking the entire codebase. By extracting specifically the preprocessing directive names, macro definitions, and their associated line numbers, the system achieves precise variability tracking with minimal added complexity. Only the necessary identification elements are separated and stored in variability point information.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS8429607B2Method and apparatus for managing variability points
Publication Date: 2013.04.23 SAMSUNG ELECTRONICS CO LTD
  • US8429607B2 patent drawing
  • US8429607B2 patent drawing
  • US8429607B2 patent drawing

AI summary

Provided are a method and apparatus for managing variability points that represent variability of components of software. The method includes connecting variability points of components to each other and also connecting at least one variability point of the components to a corresponding variability point of at least one of source code and build script; receiving an input having a predetermined value and setting the predetermined value to a variability point of the components; reflecting corresponding values of the predetermined value to the connected variability point of at least one of the source code and build script.