## 4 Experiments and Results
### ADL Prediction Accuracy  
In order to verify the effectiveness of the EMGSCC method, this subsection addresses the following research question:  
* RQ1: Compared with the baseline model LibRec [4], how accurate is EMGSCC in predicting the accompanying dependency library?  
RQ1 was designed to verify whether EMGSCC can obtain a higher accuracy for generating ADLs. To achieve this goal, a comparative experiment was conducted between LibRec [4] and EMGSCC, which share the same test set. LibRec was chosen because it is a typical data-driven model in our proposed enhancement path; it was the state-of-the-art method at the time, and our method shares a similar usage scenario with LibRec. This version of EMGSCC uses only dependency identity coordinates as input. Additionally, LibRec can be considered as the baseline model based on association rule mining and collaborative filtering. We utilized top k as the index to compare the results of different models.  
To explore RQ1, the experimental results of the comparison between EMGSCC and LibRec in the top 1, top 5, and top 10 are shown in Tables 2 and 3 and Figure 4. EMGSCC here merely used the dependency identifier (groupId, artifactId, version) for the input (which we call \"the basic EMGSCC\"). Based on the above results, we have the following observations.  
EMGSCC performs basically better than LibRec across the three different metrics of _RecallRate@k_, _Recall@k_, and _Precision@k_, which indicates that EMGSCC can learn more inherent relations between dependency libraries. Specifically, according to the results, for _RecallRate@k_, the results of the EMGSCC are better than LibRec under different \(k\) values, 0.05, 0.03, and 0.01 higher than LibRec, respectively. Among them, when \(k\) is 10, the _RecallRate@k_ of LibRec and EMGSCC both achieve high scores, which are 94% and 95%, respectively, indicating that the 10 ADLs generated by EMGSCC have more than 95% possibility that there are practical libraries. LibRec recommends that 10 ADLs have a more than 90% probability of being useful. For _Recall@k_ and _Precision@k_, when \(k\) is 1, the results of EMGSCC are 0.01 and 0.05 higher than LibRec, respectively; a slight difference exists between the two models when \(k\) is 5 and 10. Both models improve on _RecallRate@k_ and _Recall@k_ with the increase in \(k\), since the practical ADLs will increase with the number of recommendations. As \(k\) increases, the _Precision@k_ of the two models will gradually decrease because the more candidate items, the more interfering libraries. Although a larger \(k\) may result in a better overall effect of the model, in recommendation systems, an overlarge value of \(k\) is not conducive to the user's choice. Therefore, from an engineering point of view, \(k\) can generally be selected as 10.  
Overall, our approach performs better than the baseline model LibRec in the current dataset. One of the reasons for this is that we have adopted a more advanced modeling approach using neural language models to replace traditional collaborative filtering algorithms. In EMGSCC, we fully account for the order-independence characteristics, which allows us to build models that better fit the language features of a dependency code and identify more inherent relationships between dependency libraries.  
\begin{table}
\begin{tabular}{p{113.8 pt} p{56.9 pt} p{56.9 pt} p{56.9 pt}} \hline \hline
**Top \(k\)** & _RecallRate@k_ & _Recall@k_ & _Precision@k_ \\ \hline top 1 & 0.67 & 0.09 & 0.67 \\ top 5 & 0.91 & 0.30 & 0.50 \\ top 10 & 0.95 & 0.43 & 0.39 \\ \hline \hline \end{tabular}
\end{table}
Table 2: Top \(k\) accuracy of the basic EMGSCC.  
Figure 4: The performance comparison between basic EMGSCC and LibRec.