Community Detection on Software Library Dependency Graphs using Graph Neural Networks

Community detection in software dependency graphs is crucial for enhancing package recommendations, aiding project discovery, and improving software management. Traditional methods often struggle with the complexity of modern networks. This paper explores the application of Graph Neural Networks (GNNs) to detect communities within the Libraries.io dataset, which includes millions of projects and dependencies. We preprocess the data by generating node features through embeddings derived from project descriptions and additional metadata. Various unsupervised learning algorithms, including Node2Vec, Deep Graph Infomax (DGI), and Variational Graph Autoencoder (VGAE), are employed to generate node embeddings. These embeddings are then clustered using the K-Means algorithm to identify communities. Our experiments, conducted on PyPI, Maven, NuGet, and RubyGems platforms, show that while GNNs capture network structures, their performance in community detection is less effective than that of traditional methods like Louvain in certain cases. The evaluation using modularity scores highlights the potential of these methods to uncover meaningful patterns and relationships within software dependency graphs, ultimately informing better software engineering practices.

Authors

Institutions

Publication Details

Published
2024-10-26
DOI
https://doi.org/10.1109/ubmk63289.2024.10773551
Primary Topic
Web Data Mining and Analysis
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Community Detection on Software Library Dependency Graphs using Graph Neural Networks

Semih ÇAKIR, Ümit Deniz Uluşar, Mehmet Ali Osman Atik
Web Data Mining and Analysis
article

Community Detection on Software Library Dependency Graphs using Graph Neural Networks

Semih ÇAKIR, Ümit Deniz Uluşar, Mehmet Ali Osman Atik
article en

Abstract

Community detection in software dependency graphs is crucial for enhancing package recommendations, aiding project discovery, and improving software management. Traditional methods often struggle with the complexity of modern networks. This paper explores the application of Graph Neural Networks (GNNs) to detect communities within the Libraries.io dataset, which includes millions of projects and dependencies. We preprocess the data by generating node features through embeddings derived from project descriptions and additional metadata. Various unsupervised learning algorithms, including Node2Vec, Deep Graph Infomax (DGI), and Variational Graph Autoencoder (VGAE), are employed to generate node embeddings. These embeddings are then clustered using the K-Means algorithm to identify communities. Our experiments, conducted on PyPI, Maven, NuGet, and RubyGems platforms, show that while GNNs capture network structures, their performance in community detection is less effective than that of traditional methods like Louvain in certain cases. The evaluation using modularity scores highlights the potential of these methods to uncover meaningful patterns and relationships within software dependency graphs, ultimately informing better software engineering practices.

Akdeniz University (TR), Pamukkale University (TR)
Openalex Percentile: Top 65%
Web Data Mining and Analysis
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.