AI Software Cost Estimation via Functional Labels

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software cost estimation methods are inaccurate due to project uniqueness, lack of historical context, and human optimism, leading to subjective and unreliable estimates, especially when the project scope is not fully defined.

Innovation Solution

A method using natural language processing and regression analysis models to predict software project costs by training models on historical data from completed projects, including user stories and functional labels extracted from source code, to provide a more objective and accurate estimation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If expert-based methods are used for software cost estimation, then the estimation process is simple and quick, but the accuracy and reliability of the estimate deteriorates due to subjective bias and human optimism

Engineering Contradiction:
Improveestimation speedVSAvoidcost estimation accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent replaces the mechanical human judgment process with an automated machine learning system. The ML model objectively analyzes historical project data, functional labels, and size metrics to generate cost estimates, eliminating subjective human bias and optimism while maintaining rapid estimation capability.

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

Solution Approach 2:

The patent introduces functional labels as an intermediary layer between project requirements and cost estimation. These labels systematically categorize software features, enabling the ML model to objectively assess project scope and complexity without relying on subjective human interpretation.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If algorithmic model-based methods are used for software cost estimation, then the estimation process becomes more systematic, but the complexity of the estimation system increases

Engineering Contradiction:
Improvecost estimation accuracyVSAvoidestimation system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the cost estimation process into distinct components: functional label extraction, size metric calculation, and cost prediction. This modular approach using separate ML models for each task reduces overall system complexity while maintaining high estimation accuracy through specialized processing at each stage.

Inventive Principle:
Principle #1Segmentation

3Measurement precision

If historical data from completed projects is used for estimation, then the accuracy of cost prediction improves, but the difficulty of data collection and processing increases

Engineering Contradiction:
Improveprediction accuracyVSAvoiddata processing complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent implements self-service through automated functional label extraction from source code using ML models. The system automatically processes historical project data, extracts relevant features, and trains models without requiring manual data preparation, thereby reducing data processing complexity while improving prediction accuracy through comprehensive historical analysis.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10832173B1Cognitive software development
Publication Date: 2020.11.10 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10832173B1 patent drawing
  • US10832173B1 patent drawing
  • US10832173B1 patent drawing

AI summary

In an embodiment, a method of estimating the cost of a software project comprising receiving natural language software descriptions and electronic source code files for respective completed software projects; storing, in a computer memory, an input set of functional labels and size data extracted from each of the source code files, the functional labels corresponding to labels in a software development library; training a natural language processing model to output a project set of functional labels for one of the source code files; training a regression analysis model to output a project size for the one of the source code files; predicting, using the natural language understanding model, a proposal set of functional labels; predicting, using the regression analysis model, a proposal size; and using the proposal size to calculate a proposal cost; and preparing a software development proposal that includes a natural language proposed-software description and the proposal cost.