User Guide: CLI: Design Debt Calculation Commands
Design Debt Calculation Commands
The following commands allow the user to quantify technical debt:
Estimate the maintenance cost of a DSM file, typically an anti-pattern file.Estimate the return-on-investment (ROI) of a DSM file, typically a root file.
Calculate Maintenance Cost
This command calculates the cost of each issue instance, exporting the results into a .csv
file and summarizing the results in a spreadsheet (.xlsx
).
Usage
dv8-console debt:arch-issue-cost -asDir <ASDIR> [-BC <BC>] [-BF <BF>] [-bugCover <BUGCOVER>] [-CC <CC>] [-CF <CF>] [-changeCover <CHANGECOVER>] [-csv] [-h] -outputFolder <OUTPUTFOLDER> DSM_FILE
Input
The input is a DSM file (*.dv8-dsm
) generated by DV8.
Options
asDir:
Path to the folder containing all detected issue instances.
BC:
Path to the bug churn list.
BF:
Path to the bug frequency list.
bugCover:
Threshold for bug-prone files, used to calculate bug coverage and bugginess.
CC:
Path to the change churn list.
CF:
Path to the change frequency list.
changeCover:
Threshold for change-prone files, used to calculate change coverage and change-proneness.
csv:
Retain a *.csv
copy of the summary report (default is *.xlsx
only).
outputFolder:
Specifies the output folder to save all reports.
Example
dv8-console debt:arch-issue-cost -asDir arch-issue -outputFolder arch-issue-cost -BF targetcommitfreqlist.csv -BC targetchurnlist.csv -CF changefreqlist.csv -CC changechurnlist.csv structure-dsm.dv8-dsm
Calculate Return on Investment (ROI)
This command calculates the return on investment of architecture debt, focusing on architecture roots.
Usage
dv8-console debt:arch-root-debt [-BC <BC>] [-BF <BF>] [-CC <CC>] [-CF <CF>] [-csv] [-h] -outputFile <OUTPUTFILE> -rootDir <ROOTDIR> -rootIndex <ROOTINDEX> DSM_FILE
Input
The input is a DSM file (*.dv8-dsm
) generated by DV8.
Options
BC:
Path to the bug churn list.
BF:
Path to the bug frequency list.
CC:
Path to the change churn list.
CF:
Path to the change frequency list.
csv:
Retain *.csv
copies of the debt report file (default is *.xlsx
only).
outputFile:
Specifies the output debt report file.
rootDir:
Path to the folder containing the root project files.
rootIndex:
Path to the rootIndex
file.
Example
dv8-console debt:arch-root-debt -rootDir arch-root -rootIndex arch-root/root-index.csv -BF targetcommitfreqlist.csv -BC targetchurnlist.csv -CF changefreqlist.csv -CC changechurnlist.csv -outputFile arch-root/root-debt.xlsx structure-dsm.dv8-dsm