Software Porting Effort Prediction Across Disparate Platforms
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current solutions fail to accurately predict the work effort required for porting software projects across disparate platforms due to the inability to account for the complexities of phases such as configuring, compiling, linking, code changing, testing, and bug fixing, which are unique to the porting process.
Innovation Solution
Utilizing a plurality of machine learning models to analyze historical data from previously ported software projects, extracting features from these phases, and training models to predict the total work effort needed for porting, including base effort, testing effort, and bug fixing effort.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If traditional estimation methods are used for porting work effort, then the estimation process is simple, but the prediction accuracy is low
Solution Approach 1:
The patent segments the porting work effort prediction into multiple distinct phases (configuring, compiling, linking, code changing, testing, bug fixing), each modeled by separate machine learning algorithms. This segmentation allows accurate capture of phase-specific characteristics while maintaining manageable system complexity through modular architecture.
Solution Approach 2:
The patent creates a universal prediction framework that handles multiple porting phases and different software projects through a family of machine learning algorithms. The system serves multiple functions: predicting effort for each phase, aggregating total effort, and providing phase-wise breakdowns, all within a unified multi-algorithm architecture.
2Measurement precision
If multiple machine learning algorithms are used to predict different porting phases, then the prediction accuracy improves, but the computational complexity increases
Solution Approach 1:
The patent divides the prediction task into six separate machine learning algorithms, each dedicated to a specific porting phase. This segmentation enables each algorithm to be optimized for its specific phase characteristics while the overall system complexity is managed through clear modular boundaries and independent training processes.
Solution Approach 2:
The patent performs preliminary actions by training multiple specialized machine learning algorithms on historical phase-specific data before actual prediction. This pre-training of phase-specific models enables accurate predictions during execution while keeping the runtime system simple, as the complex learning work is completed in advance.
3Manufacturing precision
If phase-specific features are extracted and modeled separately, then the work effort estimation precision improves, but the data processing complexity increases
Solution Approach 1:
The patent segments feature extraction and processing by porting phase, creating distinct data processing pipelines for configuring, compiling, linking, code changing, testing, and bug fixing. Each phase has its own feature set and processing requirements, enabling precision-tuned analysis while managing complexity through phase-specific processing rules.
Solution Approach 2:
The patent applies local quality by extracting and processing features specific to each porting phase according to its unique characteristics. Each phase receives customized feature processing tailored to its specific requirements, improving estimation precision for that phase while the overall system manages complexity through localized processing strategies.
Data Source
AI summary
Predicting porting work effort is provided. A total porting work effort to port a software project from a source platform to a disparate target platform is predicted using a first porting work effort, a second porting work effort, and a third porting work effort. The software project is ported from the source platform to the disparate target platform based on the total porting work effort being less than a defined maximum porting work effort threshold level.


