Colorado Haiku Club: Analysis Using Natural Language Tools with Software Functional Descriptions
First International Boehm Forum on COCOMO and Systems and Software Cost Modeling
By: Dan Strickland
Software Cost SME
Missile Defense Agency
Cost Estimating Directorate
November 9, 2022
Approved for Public Release
22-MDA-11295 (31 Oct 22)
UNCLASSIFIED
Agenda
2
DOC – Cost Estimating Directorate
Approved for Public Release
22-MDA-11295 (31 Oct 22)
UNCLASSIFIED
Haiku
3
“Give it a rest, Dan.
People don’t like using SLOC.”
“Then they are all wrong.”
My friend Dan Ligett
Benefits of intellect
Big trifecta win!
There is no island
Called COCOMO in real life
Just a catchy song
Effort equals a
Times KSLOC raised to the b
Times the EAF
My friend Dave Seaver
Worked Scanners into his brief
On a dare from Dan
Words have meaning and value – could words in software records have useful and quantifiable value?
DOC – Cost Estimating Directorate
Approved for Public Release
22-MDA-11295 (31 Oct 22)
UNCLASSIFIED
SRDR – Functional Description
4
DOC – Cost Estimating Directorate
Approved for Public Release
22-MDA-11295 (31 Oct 22)
UNCLASSIFIED
Natural Language Tools
5
DOC – Cost Estimating Directorate
Approved for Public Release
22-MDA-11295 (31 Oct 22)
UNCLASSIFIED
SRDR Functional Description – Ground Rules and Assumptions
6
DOC – Cost Estimating Directorate
Approved for Public Release
22-MDA-11295 (31 Oct 22)
UNCLASSIFIED
SRDR Functional Description – Word Cloud
7
DOC – Cost Estimating Directorate
Approved for Public Release
22-MDA-11295 (31 Oct 22)
UNCLASSIFIED
SRDR Functional Description – Vocabulary
8
DOC – Cost Estimating Directorate
Approved for Public Release
22-MDA-11295 (31 Oct 22)
UNCLASSIFIED
SRDR Functional Description – Vocabulary
9
DOC – Cost Estimating Directorate
Approved for Public Release
22-MDA-11295 (31 Oct 22)
UNCLASSIFIED
Vocabulary Metrics
10
Freq – percentage of entries that contain the vocabulary word
Min – minimum Productivity in the range of entries containing the word
Max – maximum Productivity in the range of entries containing the word
Mean – average Productivity of entries containing the word
Median – midpoint value Productivity of entries containing the word
DOC – Cost Estimating Directorate
Approved for Public Release
22-MDA-11295 (31 Oct 22)
UNCLASSIFIED
Vocabulary Metrics – Most/Least Productive
11
Top 10 Most Productive Words (by Median)
Top 10 Least Productive Words (by Median)
DOC – Cost Estimating Directorate
Approved for Public Release
22-MDA-11295 (31 Oct 22)
UNCLASSIFIED
Word Weights – Single Value
Assign a weight value to each vocabulary word to see if Productivity can be predicted by the product of the active words in the Functional Description
12
Base Case (all weights = 1.0; no impact) | |
MMRE | 93% |
PRED (25) | 24% |
Mean (weights = mean Productivity) | |
MMRE | 271153% |
PRED (25) | 3% |
Median (weights = median Productivity) | |
MMRE | 95% |
PRED (25) | 25% |
Is there a set of default weights for the vocabulary words that will actively improve prediction performance over the Base Case?
DOC – Cost Estimating Directorate
Approved for Public Release
22-MDA-11295 (31 Oct 22)
UNCLASSIFIED
Solver Results
13
Solver (Max PRED (25); 0 <= Weight <= 5 | |
MMRE | 116% |
PRED (25) | 34% |
Median (weights = median Productivity) | |
MMRE | 95% |
PRED (25) | 25% |
Solver (Min MMRE; 0 <= Weight <= 5 | |
MMRE | 64% |
PRED (25) | 18% |
Increased Prediction Level and Increased MMRE
Decreased MMR and Prediction Level
S1
S2
DOC – Cost Estimating Directorate
Approved for Public Release
22-MDA-11295 (31 Oct 22)
UNCLASSIFIED
Solver Results – Top/Bottom Ten
14
Top/Bottom var. all other weights = 1.0 | |
MMRE | 93% |
PRED (25) | 30% |
Top/Bottom var. all other weights = Median | |
MMRE | 87% |
PRED (25) | 26% |
Top/Bottom var. remove N/A | |
MMRE | 94% |
PRED (25) | 19% |
S3
S3.1
S3.2
Limited vocabulary eliminates almost half of the available data
DOC – Cost Estimating Directorate
Approved for Public Release
22-MDA-11295 (31 Oct 22)
UNCLASSIFIED
Word Weights – Sum of Weights
15
Sum Median (weights = Median + SUM medians) | |
MMRE | 86% |
PRED (25) | 22% |
Sum Mean (weights = Mean + SUM means) | |
MMRE | 173% |
PRED (25) | 18% |
DOC – Cost Estimating Directorate
Approved for Public Release
22-MDA-11295 (31 Oct 22)
UNCLASSIFIED
Solver Results – Weight Distance
16
Solver (Max PRED (25); -1 <= Weight <= 2 | |
MMRE | 102% |
PRED (25) | 37% |
Sum Median (weights = Median + SUM medians) | |
MMRE | 86% |
PRED (25) | 22% |
Solver (Min MMRE; 0 <= Weight <= 5 | |
MMRE | 64% |
PRED (25) | 23% |
Decreased MMRE and slightly increased Prediction Level
S4
S5
Increased Prediction Level and Increased MMRE
DOC – Cost Estimating Directorate
Approved for Public Release
22-MDA-11295 (31 Oct 22)
UNCLASSIFIED
Brute Force Algorithm
17
DOC – Cost Estimating Directorate
Approved for Public Release
22-MDA-11295 (31 Oct 22)
UNCLASSIFIED
Brute Force Results
18
Base Case (all weights = 1.0; no impact) | |
MMRE | 93% |
PRED (25) | 24% |
Median (weights = median Productivity) | |
MMRE | 95% |
PRED (25) | 25% |
Brute Force (100 trials, 0.01 Delta Val) | |
MMRE | 84% |
PRED (25) | 31% |
Brute Force (100 trials, 0.01 Delta Val) | |
MMRE | 78% |
PRED (25) | 31% |
S6
S7
DOC – Cost Estimating Directorate
Approved for Public Release
22-MDA-11295 (31 Oct 22)
UNCLASSIFIED
Word Weights Product – Best Result
19
Starting from Median Productivities Solver (Max PRED (25); 0 <= Weight <= 5 | |
MMRE | 116% |
PRED (25) | 34% |
PRED (25) | 34% |
PRED (30) | 38% |
PRED (40) | 46% |
PRED (50) | 53% |
While the best effort did not approach the target of PRED (25) = 75%, the predicted vocabulary word weight product comes within 50% of actual Productivity 53% of the time – could be used in early estimates and cross-checks
DOC – Cost Estimating Directorate
Approved for Public Release
22-MDA-11295 (31 Oct 22)
UNCLASSIFIED
Word Weights Sum – Best Result
20
PRED (25) | 37% |
PRED (30) | 40% |
PRED (40) | 46% |
PRED (50) | 52% |
PRED (25) best of all models, but Prediction Level starts to draw even in larger values of PRED (x)
Solver (Max PRED (25); -1 <= Weight <= 2 | |
MMRE | 102% |
PRED (25) | 37% |
DOC – Cost Estimating Directorate
Approved for Public Release
22-MDA-11295 (31 Oct 22)
UNCLASSIFIED
Word Weights Brute Force – Best Result
21
PRED (25) | 31% |
PRED (30) | 33% |
PRED (40) | 42% |
PRED (50) | 51% |
Brute Force solution reduces the vocabulary to 54 words, but limits the data that can participate (Functional Descriptions with none of the significant vocabulary words)
Brute Force (100 trials, 0.01 Delta Val) | |
MMRE | 84% |
PRED (25) | 31% |
DOC – Cost Estimating Directorate
Approved for Public Release
22-MDA-11295 (31 Oct 22)
UNCLASSIFIED
Word Weights in Super-Domains
22
DOC – Cost Estimating Directorate
Approved for Public Release
22-MDA-11295 (31 Oct 22)
UNCLASSIFIED
Word Weights in Super-Domains
23
Best Result Product word weights match or out-perform the mean and median Productivities by Super-Domain in Prediction Level at 25%...
DOC – Cost Estimating Directorate
Approved for Public Release
22-MDA-11295 (31 Oct 22)
UNCLASSIFIED
Word Weights in Super-Domains
24
…but as Prediction Level is expanded, the mean and median values can “catch up” to the Best Case Product word weights within Super-Domains
Word weights outperform known Productivity means and medians when Super-Domain is unknown
DOC – Cost Estimating Directorate
Approved for Public Release
22-MDA-11295 (31 Oct 22)
UNCLASSIFIED
Bag of Words Bigram Model
25
DOC – Cost Estimating Directorate
Approved for Public Release
22-MDA-11295 (31 Oct 22)
UNCLASSIFIED
Future Work
26
DOC – Cost Estimating Directorate
Approved for Public Release
22-MDA-11295 (31 Oct 22)
UNCLASSIFIED
Conclusions
27
DOC – Cost Estimating Directorate
Approved for Public Release
22-MDA-11295 (31 Oct 22)
UNCLASSIFIED
Approved for Public Release
22-MDA-11295 (31 Oct 22)
UNCLASSIFIED