DV8 automatically calculates a set of correlation matrices covering files that are error-prone or change-prone. The objective is to reveal design issues that lead to high maintenance costs. Studies have shown that 50% to 90% of error-prone files will be concentrated in 5 or fewer file groups. The more error-prone a file is, the more likely that it is connected with other files, resulting in the spread of defects in multiple files. We call these file groups that cover most error-prone files Root spaces.
The root folder generated by DV8 contains a root-spaces subfolder with all root file groups. Taking these file groups as design debt, the root-roi.csv file quantifies their debt and calculates the return on investment (ROI).
The root folder contains the design structure matrix of each filegroup, which can be opened with the DV8 GUI so that the user can check the design anti-pattern within it.
The root-index.csv file summarizes the information, and the error-prone or change-prone coverage of each filegroup. If the user's input contains a list of target issue ticket IDs, such as bug ticket IDs, these automatically-generated file groups cover 80% of error-prone files. If the user's input does not include a target ID list, these file groups cover 80% of change-prone files. By default, DV8 considers files that are changed twice or more for bug-fixing as error-prone. The user can change these thresholds using the "arch-root" command line parameters.
The following sample spreadsheet contains the data of 8 root file groups, sorted by the number of files. The largest file group includes 119 files.
The file in column B is the group's core file, which means that other files directly or indirectly depend on it.
The data in column D is the proportion of files that are either error-prone or change-prone. For example, about 8% of the files appear to be error-prone in the first filegroup.
The data in column E is the proportion of error-prone or change-prone files covered by multiple filegroups. For example, the first filegroup covers 28% error-prone files; The first and second file groups together cover 44% of all error-prone files; The first three file groups cover more than 80% of error-prone files.
The user can also open a root file in a DV8 GUI, detect the anti-patterns within a root, and further analyze the design problems that lead to high bug rate and high change rate.