bovine3dom / evolution-of-software-communities

Software for paper exploring changes in software library ecosystems

Home Page:https://appliednetsci.springeropen.com/articles/10.1007/s41109-019-0193-5

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Evolution of communities of software: using tensor decompositions to compare software ecosystems

This code was written as part of a paper titled "Evolution of communities of software: using tensor decompositions to compare software ecosystems".

Reproduce our results

You need to:

  1. Download libraries-1.4.0-2018-12-22
  2. Run get_platform to roughly extract platform subsets
  3. Pre-process the data for each platform with get_depversions_and_adj_mats - this requires ~50GiB of RAM for the NPM dataset.
  4. Perform some decompositions with get-r.jl - this requires ~30GiB of RAM for the NPM dataset
  5. Calculate summary statistics, etc, for those decompositions with lib/DecompPlots.jl

Our rough process:

$ for p in Elm CRAN Pypi Maven Cargo; do ./get_platform $p data/sample-1.4 data/libraries-1.4.0-2018-12-22/*.csv &; done
$ cd julia
$ julia -L init.jl
julia> pl = include("lib/ProcessLibrariesIO.jl")
julia> pl.get_depversions_and_adj_mats("Elm")
$ cd julia
$ julia get-r.jl 2 13 Elm
$ cd julia
$ julia -L init.jl
julia> dp = include("lib/DecompPlots.jl")
julia> dp.cache_amis("Elm")
julia> dp.cache_nrss("Elm")
julia> # etc.

About

Software for paper exploring changes in software library ecosystems

https://appliednetsci.springeropen.com/articles/10.1007/s41109-019-0193-5

License:Other


Languages

Language:Julia 78.6%Language:MATLAB 20.1%Language:Shell 1.3%