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