The Jupyter Notebook ipfs_repo_mining.ipynb
analyzes the Go implementation of IPFS from a software quality perspective. The analysis is based on the PyDriller framework, which can be used for mining software repositories, and focusses on:
- Complexity Hotspots
- Temporal/Logical Coupling
- Defective Hotspots
Concretely, the analysis uses information from GitHub commits to spot source files that might be critical entities regarding the software quality. To achieve this, various indicators such as the change frequency of source files, complexity metrics, and the temporal history of the project are taken into consideration. Furthermore, the analysis looks into logical coupling, i.e., finding source files that are often changed together in one commit. Finally, defective hotspots (i.e., entities which had defects in the past) are investigated and analyzed.
This analysis is linked to a lecture offered by the Communication Systems Group in the Department of Informatics at the University of Zurich, Switzerland.