Paper: On the Industrial Leadership and Involvement in the LwM2M IoT Ecosystem

Reproduction Package

Submitted to the 6th International Workshop on Software Engineering Research & Practices for the Internet of Things (SERP4IoT 2024)

A. Data sources and Python Scripts

get_lwm2m_projects.py. Script to search the GitHub API for "lwm2m". Note that the GitHub API has to be introduced in the script.

Ecosystem folder. Contains JSON files obtained from the previous GitHub API search.

repos.csv. List with all the repositories in CSV format.

all-lwm2m2-github-repos.csv. Activity data for the repositories obtained from the GitHub search. It has been created with the analyze-repos-jsons.py script.

JSONs. Folder with the JSONs with commit, issue and pull request data. Commits are obtained with GrimoireLab Perceval, and issues and pulle requests via the GitHub API.

Removed repositories. JSON files of removed repositories, as they are --for instance-- copies of other repositories. Details are in the paper.

analyze-authors-jsons.py. Script that analyzes the JSON files and creates the results. This is the most relevant script for the paper. It is documented with comments to make it understandable.

B. Results in raw format and figures

results.txt

figures.py

repos_dev_distribution.png

company_network.png (source (text file))

company_network_with_labels.png

degree_distribution.png