Bug Evolution and Maintenance Effort in Deep Learning Frameworks: An Empirical Comparison with Traditional Software Frameworks

RESEARCH SUMMARY This research investigate the bug frequency pattern in Deep Learning (DL) frameworks and use the non-DL frameworks for comparative analysis. Specifically, we mined six DL frameworks, six non-DL frameworks, and 400 non-DL python-based frameworks from Github which is their issue repository platform using the Github API. Next, we used a keyword search technique to categorize the datasets into functional, non-functional, and non-functional-performance bugs using their title and description fields as search reference. We used the keyword search-approach because this same approach has been used in several prior studies (referenced in manuscript), hence, we are motivated to use similar approach, for our data analysis task in answering our research questions. This study hypothesize that there exists a difference between DL and non-DL frameworks in bug frequency analysis. The answers to this hypothesis (accept or reject) is underscored by three research questions and backed by our research findings using our implementation codes and dataset uploaded in this repository. Our research aims to provide software stakeholders with actionable insights and effective maintenance practices by enhancing software quality through empirical analysis of software bugs. One of many benefits of this research is that the findings can help software product owners integrate continuous performance benchmarking into their CI/CD pipeline to promptly detect non‑functional‑performance bugs within Deep Learning frameworks. NOTE TO REPLICATE THIS WORK: (1) Required: generate access token from Github to be able to re-use the codes, especially those that extracts the information from github such as "extract_issues.ipynb". (2) Python Code: The main implementation code used to extract JSON files for bug data, commits, comments from Github, and to run our analysis is contained inside zip folder labeled "400_nml_bug_extracts.zip". Specifically, the python file labeled "backup_scripts.py" contains the different code segment that performs this function. (3) Dataset: The following three folders should be created at the home directory, which are: "outputs","raw_excel", and "raw_json". The uploaded zip files can be extracted into the three folders in the following order: (a) extract "raw_json_datasets.zip" into "raw_json" folder. It contains the dataset in JSON format for all bugs, commits, issue comments and commit comments which were extracted from Github. (b) extract "generated_excel_from_analysis.zip" into "raw_excel" folder. It contains the information about the extracted data from the JSON file nodes. (c) extract "outputs.zip" into "outputs" folder. This folder is where all generated outputs (e.g. plots) are saved. (4) We perform the ScottKnottESD test (a_ScottKnottESD_Test.ipynb file) on Google colab platform as it contains processor chip needed to run the tool as defined by the tool owner. Otherwise, we ran all other scripts from our local computer via intelliJ IDE and Jupyter notebook environment.

Publication Details

Journal
Zenodo (CERN European Organization for Nuclear Research)
Published
2025-07-19
DOI
https://doi.org/10.5281/zenodo.16912435
Primary Topic
Geochemistry and Geologic Mapping
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Bug Evolution and Maintenance Effort in Deep Learning Frameworks: An Empirical Comparison with Traditional Software Frameworks

Zenodo (CERN European Organization for Nuclear Research)
Geochemistry and Geologic Mapping
article

Bug Evolution and Maintenance Effort in Deep Learning Frameworks: An Empirical Comparison with Traditional Software Frameworks

article en

Abstract

RESEARCH SUMMARY This research investigate the bug frequency pattern in Deep Learning (DL) frameworks and use the non-DL frameworks for comparative analysis. Specifically, we mined six DL frameworks, six non-DL frameworks, and 400 non-DL python-based frameworks from Github which is their issue repository platform using the Github API. Next, we used a keyword search technique to categorize the datasets into functional, non-functional, and non-functional-performance bugs using their title and description fields as search reference. We used the keyword search-approach because this same approach has been used in several prior studies (referenced in manuscript), hence, we are motivated to use similar approach, for our data analysis task in answering our research questions. This study hypothesize that there exists a difference between DL and non-DL frameworks in bug frequency analysis. The answers to this hypothesis (accept or reject) is underscored by three research questions and backed by our research findings using our implementation codes and dataset uploaded in this repository. Our research aims to provide software stakeholders with actionable insights and effective maintenance practices by enhancing software quality through empirical analysis of software bugs. One of many benefits of this research is that the findings can help software product owners integrate continuous performance benchmarking into their CI/CD pipeline to promptly detect non‑functional‑performance bugs within Deep Learning frameworks. NOTE TO REPLICATE THIS WORK: (1) Required: generate access token from Github to be able to re-use the codes, especially those that extracts the information from github such as "extract_issues.ipynb". (2) Python Code: The main implementation code used to extract JSON files for bug data, commits, comments from Github, and to run our analysis is contained inside zip folder labeled "400_nml_bug_extracts.zip". Specifically, the python file labeled "backup_scripts.py" contains the different code segment that performs this function. (3) Dataset: The following three folders should be created at the home directory, which are: "outputs","raw_excel", and "raw_json". The uploaded zip files can be extracted into the three folders in the following order: (a) extract "raw_json_datasets.zip" into "raw_json" folder. It contains the dataset in JSON format for all bugs, commits, issue comments and commit comments which were extracted from Github. (b) extract "generated_excel_from_analysis.zip" into "raw_excel" folder. It contains the information about the extracted data from the JSON file nodes. (c) extract "outputs.zip" into "outputs" folder. This folder is where all generated outputs (e.g. plots) are saved. (4) We perform the ScottKnottESD test (a_ScottKnottESD_Test.ipynb file) on Google colab platform as it contains processor chip needed to run the tool as defined by the tool owner. Otherwise, we ran all other scripts from our local computer via intelliJ IDE and Jupyter notebook environment.

Zenodo (CERN European Organization for Nuclear Research)
Openalex Percentile: Top 67%
Geochemistry and Geologic Mapping
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.