# Graph-Driven Exploration of Issue Handling Schemes in Software Projects
## 4 Exploring and Assessing Issue Handling Processes
### Issue Handling Model (IHM)  
We introduced the Issue Handling Model (IHM), which is a significant extension of our previous studies [13]. In [13], only bugs are considered (neglecting issue attributes). Furthermore, they are traced with ad hoc scripts (not published) that are adapted to the Bugzilla repository. The IHM is a generalized model that is adjusted to deeper studies involving advanced data exploration algorithms covering a wide range of investigated issue properties and handling processes. Issue reports can refer to bug detection, correction, perfective and adaptive maintenance, adding new functionalities, the discussion of encountered problems, and other tasks. The IHM is supported by original algorithms which consider a wide range of issue types/features derived from the statistical analysis (Sections 3 and 4.1) and provide deeper insights into issue processing. It facilitates deriving categories of dominant or anomalous handling schemes, correlating them with relevant issue features, etc. The IHM covers diverse types of issues, correlated attributes, and other features. The derived issue processing features are presented in a concise form of introduced handling patterns, diverse processing profiles, effectiveness metrices, etc. This is a form of mapping the bulk of software repository data into a compact image of project development processes. It supports the assessment of these processes by project \begin{table}
\begin{tabular}{c c c c c c c c c} \hline \hline
**Project** & **1** & **2** & **3** & **4** & **5** & **6** & **7** & **8** & **9** \\ \hline MongoDB & 48.5\% & 22.1\% & 17.7\% & 7.3\% & 2.6\% & 0.3\% & 0.3\% & 2.3\% & 0.3\% \\ P1 & 84.0\% & 11.3\% & 4.1\% & 0\% & 0.3\% & 0\% & 0\% & 0\% & 0\% \\ Log4J2 & 87.1\% & 10.9\% & 2.0\% & 0\% & 0\% & 0\% & 0\% & 0\% & 0\% \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Code change statistics (CCS) for MongoDB and P1 projects. managers and software engineering experts. The IHM is built around the original database comprising extracted features of issues from the ITS repository as well as those derived using the set of original analysis algorithms. The issue handling model (IHM) for project P is defined as  
\[IHM(P)=\{V(P),\,E(P),\,\delta,\,\gamma,\,ID(P)AL\}\mid\mid R \tag{2}\]  
where V(P) is the set of graph nodes describing states (phases) of issue handling and E(P) is the set of directed edges specifying state changes. The functions \(\delta\) and \(\gamma\) map various features for nodes (states) and edges, respectively. They can relate to issue handling flow, timing, or other parameters. \(ID(P)_{AL}\) is a database comprising derived issue properties using A\({}_{\text{L}}\) algorithms linked with the issue handling graph. The range of modelling is trimmed by restrictions R imposed on the considered issues. Typically, the functions \(\delta\) and \(\gamma\) specify issue flow, e.g.,  
\[ \begin{split}\bigvee_{e_{ij}e_{E}}\,\,\,\gamma_{1}\big{(}e_{ij} \big{)}=& n_{ij}\bigvee_{p_{ij}v_{j}}\,\,\,\delta_{1}\big{(}v_{j} \big{)}=n_{j}=\sum_{e_{ij}\in in(v_{j})}n_{ij}\\ \bigvee_{e_{ij}e_{E}}\,\,\,\gamma_{2}\big{(}e_{ij}\big{)}=& \frac{n_{ij}}{N}\,\,\,\delta_{2}\big{(}v_{j}\big{)}=\frac{n_{j}}{N}\\ \bigvee_{e_{ij}e_{E}}\,\,\,\gamma_{3}\big{(}e_{ij}\big{)}=& \frac{n_{ij}}{\sum_{e_{ij}e_{out}(v_{j})}n_{ij}}\end{split}  \tag{3}\]  
where \(n_{ij}\) is the number of issues correlated with edge \(e_{ij}\), i.e., leaving node \(v_{i}\) and entering the succeeding node \(v_{j}\); \(v_{i}\), \(v_{j}\)\(\varepsilon\)\(V(P)\); \(\varepsilon_{ij}\)\(\varepsilon\)\(E(P)\); N is the number of all considered issues; and \(out(v_{j})\) is the set of all edges leaving the j-th node. The function \(\gamma_{1}\) specifies the explicit number of issues (absolute throughput), while the functions \(\gamma_{2}\) and \(\gamma_{3}\) are relative metrics which specify the ratio of handled issues in relation to all issues N (global throughput) and issues attributed to the initial node of the considered edge (local throughput), respectively.