SNAP: Software Network Analysis Platform
Software Network Analysis Platform (SNAP) is our own-developed software which is mainly composed of three parts, i.e., Software Network Extractor, Software Network Measurement, and Software Refactor. It is written in Java and scales to large scale software projects with tens of thousands of classes.
- Software Network Extractor can be used to extract software networks from the source code of a Java project. The software networks can be built at different levels of granularity such as method/attribute level, class/feature level, and package level.
- Software Network Measurement can be used to compute structural properties such as closeness, PageRank, and coreness.
- Software Refactor can be used to refactor the class structure by identifing the move-method refactorings.
Please see the video below for details:
SNAP Datasets
- Azureus: the (weighted/unweighted directed/undirected) software networks built for 39 successive versions (from versions 3.0.0.8 to 4502) of Azureus (Vuze). HTTPS: git clone https://breezepoon@bitbucket.org/breezepoon/azureus.git
- Trama: the unweighted undirected software networks built for software Trama. HTTPS: git clone https://breezepoon@bitbucket.org/breezepoon/trama.git
- FESQL: the unweighted undirected software networks built for software FESQL. HTTPS: git clone https://breezepoon@bitbucket.org/breezepoon/fesql.git