ml-swe-analysis
Quantify the usage of software engineering best practices in open source code associated with machine learning papers in high-profile conferences and journals.
Science Score: 36.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
✓Academic publication links
Links to: arxiv.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.7%) to scientific vocabulary
Keywords
Repository
Quantify the usage of software engineering best practices in open source code associated with machine learning papers in high-profile conferences and journals.
Basic Info
Statistics
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Topics
Metadata Files
README.md
More Rigorous Software Engineering Would Improve Reproducibility in Machine Learning Research
Source code for our position paper on software engineering in machine learning. An example template repository for most concepts discussed in the paper is available here.
Getting Started
First of all, we have to clone this repository,
bash
git clone git@github.com:BonnBytes/position_we_need_more_tests_in_ml.git
In the next step, you need to configure an environment to use the code in this project.
To do that, create a .env-file with the following content.
bash
PYTHONPATH=.
OPENREVIEW_USERNAME=YOUR_OPENREVIEW_ACCOUNT_NAME
OPENREVIEW_PASSWORD=YOUR_PASSWORD
This crawler utilizes the Selenium package, which in turn requires an installed version of the Chrome browser.
Reusability
After cloning and navigating into this repository, you can install the code in this repository via pip.
bash
pip install .
Reproduction
To aggregate the statistical data we used for the paper, run the command below.
bash
./run_all.sh
Run the tests
Set up a dotenv with your OpenReview account credentials. Make sure you set the
OPENREVIEW_USERNAME and OPENREVIEW_PASSWORD variables are set correctly. To run the tests, type
bash
nox -s test
into the console.
Funding
The Bundesministerium für Bildung und Forschung (BMBF) supported research through its "BNTrAInee" (16DHBK1022) and "WestAI" (01IS22094A) projects. The sole responsibility for the content of the paper and this corresponding code lies with the authors.
![]() |
![]() |
Owner
- Name: BonnBytes
- Login: BonnBytes
- Kind: organization
- Location: Germany
- Repositories: 1
- Profile: https://github.com/BonnBytes
GitHub Events
Total
Last Year
Dependencies
- actions/checkout v2 composite
- actions/setup-python v2 composite
- beautifulsoup4 *
- openreview-py *
- pdfx *
- python-dotenv *
- Deprecated ==1.2.15
- PyJWT ==2.10.1
- argcomplete ==3.5.3
- beautifulsoup4 ==4.12.3
- certifi ==2024.12.14
- cffi ==1.17.1
- chardet ==4.0.0
- charset-normalizer ==3.4.1
- cli_exit_tools ==1.2.7
- click ==8.1.8
- colorlog ==6.9.0
- contourpy ==1.3.1
- cryptography ==44.0.0
- cycler ==0.12.1
- dill ==0.3.9
- distlib ==0.3.9
- filelock ==3.16.1
- fonttools ==4.55.6
- future ==1.0.0
- idna ==3.10
- jax ==0.5.0
- jaxlib ==0.5.0
- kiwisolver ==1.4.8
- lib-detect-testenv ==2.0.8
- matplotlib ==3.5.2
- ml_dtypes ==0.5.1
- multiprocess ==0.70.17
- nox ==2024.10.9
- numpy ==2.2.2
- openreview-py ==1.46.0
- opt_einsum ==3.4.0
- pdfminer.six ==20201018
- pdfx ==1.4.1
- pillow ==11.1.0
- platformdirs ==4.3.6
- psutil ==6.1.1
- pycparser ==2.22
- pycryptodome ==3.21.0
- pylatexenc ==2.10
- pyparsing ==3.2.1
- pypdf ==5.1.0
- python-dateutil ==2.9.0.post0
- python-dotenv ==1.0.1
- requests ==2.32.3
- scipy ==1.15.1
- setuptools ==75.8.0
- six ==1.17.0
- sortedcontainers ==2.4.0
- soupsieve ==2.6
- tikzplotlib ==0.10.1
- tld ==0.13
- tqdm ==4.67.1
- uritools ==4.0.3
- urlextract ==1.9.0
- urllib3 ==2.3.0
- virtualenv ==20.29.1
- webcolors ==1.12
- wrapt ==1.17.2
- wrapt_timeout_decorator ==1.5.1
- _libgcc_mutex 0.1
- _openmp_mutex 4.5
- bzip2 1.0.8
- ca-certificates 2024.12.14
- colorama 0.4.6
- exceptiongroup 1.2.2
- iniconfig 2.0.0
- ld_impl_linux-64 2.43
- libexpat 2.6.4
- libffi 3.4.2
- libgcc 14.2.0
- libgcc-ng 14.2.0
- libgomp 14.2.0
- liblzma 5.6.3
- libmpdec 4.0.0
- libsqlite 3.48.0
- libuuid 2.38.1
- libzlib 1.3.1
- ncurses 6.5
- openssl 3.4.0
- packaging 24.2
- pip 24.3.1
- pluggy 1.5.0
- pytest 8.3.4
- python 3.13.1
- python_abi 3.13
- readline 8.2
- tk 8.6.13
- tomli 2.2.1
- tzdata 2025a

