## 5 Experiments
### Compared Approaches  
In addition to our approach (LibFilter), our experiments assess the following representation learning architectures and graph filters. These are summarized in Table 1 alongside amortized training and inference (making recommendations for one project) times. Time analysis holds for connected dependency graphs and explores terms pertaining to scalability with regards to the numbers of dependencies \(E\) and of libraries \(I<E\), as well as architectural characteristics, namely the latent representation dimensions \(dims\), the number of training _epochs_, and the constant numerical tolerance \(e\) of iterative methods computing graph filters. In practice, the number of layers, dimensions and training epochs introduce huge multiplicative terms to running times (in the tens or hundreds order of magnitude each). They could also grow with the number of dependencies, as more effort is required to learn from larger datasets. Thus, even when dimension terms can be removed with parallelized GPU computing, representation training times could scale worse than linearly with the number of mined dependencies. _GRec._ A library recommendation approach based on state-of-the-art GNNs for link prediction [16]. It implements convolutional self-attention layers of (7), whose outcomes are concatenated and used as representations. Layers are trained with 10% dropout and comprise 128 latent dimensions and representation matrices inputted to the first layer \(H^{(0)}\) are trained end-to-end. We refer to the architecture of the respective paper for more details. This architecture's latent representations need to be retrained to make predictions for new software projects. _LibSeek._ A matrix factorization approach [14] that aims to find project and library representations able reconstruct dependency graph adjacency matrices per (1). It was the previous and widely recognized state-of-the-art approaches before GRec and was one of the first to explicitly recognize the diversification of recommendations (i.e., high coverage) as an important goal of library recommendation. Notably, we do not compare against previous works because these have been found to yield a similar or lower recommendation quality across all measures on the dataset we experiment on [14]. _LibPPR._ Collaborative filtering that employs the personalized PageRank graph filter for recommendation. As described by [PERSON] et al. [22], this was once a popular approach. Although it has since been abandoned in favor of GNNs, it is the approach that is closest to ours since it also employs graph filters. Notably, personalized PageRank depends on a diffusion parameter \(a\in[0,1)\), which for smaller values creates lower-pass versions of the graph filter. We follow a random walk with restart formulation that has an equal chance to restart the walks as moving to neighbors and set this parameter to \(a=0.5\). Given that \(\frac{1}{1-a}=2\) is the average length of the random walk processes modeled by personalized PageRank [40], this creates a receptive field that places emphasis on projects and libraries co-used with the query ones, as these lie two hops away from the query ones. We empirically corroborated that this is better-performing than the most widely adopted alternative \(a=0.85\) or even shorter average random walk lengths arising from \(a=0.25\). _LibARW._ Collaborative filtering that employs the partially absorbing random walks of (9) for absorption rates \(S=\frac{1-a}{a}\mathcal{I}\). This graph filter was proposed [39]. Given that the parameter \(a\in(0,1)\) is equivalent to the one of personalized PageRank, we select \(a=0.5\) for this approach, the same value as LibPPR. We also empirically corroborate that this is performs better than alternatives, such as \(a=0.25\) and \(a=0.85\). Importantly, since LibARW is not our proposed approach, empirical investigation does _not_ introduce overtraining bias to experiment results.