Software Variability Point Management via Source Code Linking
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Manufacturing precision
If variability points are extracted and connected manually, then management precision is high, but productivity is low
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.
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.
3Measurement precision
If variability points are not tracked in source code, then system complexity is low, but measurement precision of variability is insufficient
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.
Data Source
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.


