{"id":15765370,"url":"https://github.com/cicirello/btpe-iterations","last_synced_at":"2026-01-30T18:32:32.578Z","repository":{"id":187066852,"uuid":"651534435","full_name":"cicirello/btpe-iterations","owner":"cicirello","description":"Experiments for paper: An Analysis of an Open Source Binomial Random Variate Generation Algorithm","archived":false,"fork":false,"pushed_at":"2025-11-21T12:43:24.000Z","size":708,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-11-21T14:34:05.678Z","etag":null,"topics":["binomial","binomial-distribution","btpe","inverse-transform-method","random-variates"],"latest_commit_sha":null,"homepage":"https://www.cicirello.org/publications/cicirello2023engproc.html","language":"TeX","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cicirello.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"cicirello","patreon":null,"open_collective":null,"ko_fi":"cicirello","tidelift":null,"community_bridge":null,"liberapay":"cicirello","issuehunt":null,"otechie":null,"custom":null}},"created_at":"2023-06-09T13:01:42.000Z","updated_at":"2025-11-21T12:43:21.000Z","dependencies_parsed_at":"2023-08-08T21:35:44.911Z","dependency_job_id":"e6c7f574-521e-41df-b6e3-cb9fd10d8163","html_url":"https://github.com/cicirello/btpe-iterations","commit_stats":null,"previous_names":["cicirello/btpe-iterations"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/cicirello/btpe-iterations","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cicirello%2Fbtpe-iterations","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cicirello%2Fbtpe-iterations/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cicirello%2Fbtpe-iterations/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cicirello%2Fbtpe-iterations/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cicirello","download_url":"https://codeload.github.com/cicirello/btpe-iterations/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cicirello%2Fbtpe-iterations/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28917042,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-30T16:37:38.804Z","status":"ssl_error","status_checked_at":"2026-01-30T16:37:37.878Z","response_time":66,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["binomial","binomial-distribution","btpe","inverse-transform-method","random-variates"],"created_at":"2024-10-04T12:41:23.648Z","updated_at":"2026-01-30T18:32:32.536Z","avatar_url":"https://github.com/cicirello.png","language":"TeX","funding_links":["https://github.com/sponsors/cicirello","https://ko-fi.com/cicirello","https://liberapay.com/cicirello"],"categories":[],"sub_categories":[],"readme":"# btpe-iterations\n\nCopyright \u0026copy; 2023-2024 Vincent A. Cicirello\n\nThis repository contains code to reproduce the experiments, and analysis of \nexperimental data, from the following papers:\n\n\u003e Vincent A. Cicirello. 2023. [An Analysis of an Open Source Binomial Random Variate Generation Algorithm](https://www.cicirello.org/publications/engproc-56-00086.pdf), *Engineering Proceedings*, 56(1), Article 86, October 2023. doi:[10.3390/ASEC2023-15349](https://doi.org/10.3390/ASEC2023-15349).\n\n\u003e Vincent A. Cicirello. 2024. [On the Average Runtime of an Open Source Binomial Random Variate Generation Algorithm](https://reports.cicirello.org/24/007/ALG-24-007.pdf), *arXiv*:[2403.11018](https://arxiv.org/abs/2403.11018), March 2024. \n\n| __Related Publications__ | [![doi:10.3390/ASEC2023-15349](doi.svg)](https://doi.org/10.3390/ASEC2023-15349) [![arXiv:2403.11018](doi2.svg)](https://arxiv.org/abs/2403.11018) |\n| :--- | :--- |\n| __License__ | [![GitHub](https://img.shields.io/github/license/cicirello/cycle-mutation-experiments)](LICENSE) |\n| __Packages and Releases__ | [![Maven Central](https://img.shields.io/maven-central/v/org.cicirello/btpe-iterations.svg?label=Maven%20Central)](https://central.sonatype.com/artifact/org.cicirello/btpe-iterations/) [![GitHub release (latest by date)](https://img.shields.io/github/v/release/cicirello/btpe-iterations?logo=GitHub)](https://github.com/cicirello/btpe-iterations/releases) |\n\n## Dependencies\n\nThe experiments depend upon the following libraries, and in some cases this research has \nalso contributed to these libraries:\n* [\u0026rho;\u0026mu;](https://rho-mu.cicirello.org)\n* [org.cicirello.core](https://core.cicirello.org)\n\n## Requirements to Build and Run the Experiments\n\nTo build and run the experiments on your own machine, you will need the following:\n* __JDK 17__: I used OpenJDK 17, but other distributions should be fine. \n* __Apache Maven__: In the root of the repository, there is a `pom.xml` \n  for building the Java programs for the experiments. Using this `pom.xml`, \n  Maven will take care of downloading the exact version of \n  [\u0026rho;\u0026mu;](https://rho-mu.cicirello.org) (release 3.1.1) and its dependency \n  that were used in the experiments. \n* __Python 3__: The repository contains Python programs that were used to \n  process the raw data for the paper. If you want to run the Python programs, \n  you will need Python 3. \n* __Make__: The repository contains a Makefile to simplify running the build, \n  running the experiment's Java program, and running the Python program to \n  analyze the data. If you are familiar with using the Maven build tool, \n  and running Python programs, then you can just run these directly, although \n  the Makefile may be useful to see the specific commands needed.\n\n## Building the Java Programs (Option 1)\n\nThe source code of the Java programs implementing the experiments\nis in the [src/main/java](src/main/java) directory.  You can build the experiment \nprograms in one of the following ways.\n\n__Using Maven__: Execute the following from the root of the\nrepository.\n\n```shell\nmvn clean package\n```\n\n__Using Make__: Or, you can execute the following from the root\nof the repository.\n\n```shell\nmake build\n```\n\n## Downloading a prebuilt jar (Option 2)\n\nAs an alternative to building the jar (see above), you can choose to instead\ndownload a prebuilt jar of the experiments from the Maven Central repository.\nThe Makefile contains a target that will do this for you, provided that you have\ncurl installed on your system. To download the jar of the precompiled code of \nthe experiments, run the following from the root of the repository:\n\n```shell\nmake download\n```\n\nThe jar that it downloads contains the compiled code of the experiments as well\nas all dependencies within a single jar file.\n\n## Running the Experiments\n\nIf you just want to inspect the data from my runs, then you can find that output\nin the [/data](data) directory. If you instead want to run the experiments yourself,\nyou must first either follow the build instructions or download a prebuilt jar (see above\nsections). Once the jar of the experiments is either built or downloaded, you can then run \nthe experiments with the following executed at the root of the repository:\n\n```shell\nmake run\n```\n\nIf you don't want to overwrite my original data files, then first change the variable\n`pathToDataFiles` in the `Makefile` before running the above command.\n\n## Analyzing the Experimental Data\n\nTo run the Python program that I used to process the raw data,  \nand generate the tables of the paper (as well as additional tables\nnot used in the paper), you need Python 3 installed. The source \ncode of the Python programs is found in the [src/main/python](src/main/python) \ndirectory.  To run the analysis, execute the following at the root of the \nrepository:\n\n```shell\nmake analyze\n```\n\nAnd for the second paper that utilizes this data:\n\n```shell\nmake analyzepaper2\n```\n\nIf you don't want to overwrite my original data files, and tables, then change the \nvariable `pathToDataFiles` in the `Makefile` before running the above commands.\n\nThis will analyze the data from the [/data](data) directory. It will also \ngenerate the tables, etc in that directory. This make command will also take\ncare of installing any required Python packages if you don't already have them\ninstalled.\n\n## Other Files in the Repository\n\nThere are a few other files, potentially of interest, in the repository,\nwhich include:\n* `system-stats.txt`: This file contains details of the system I \n  used to run the experiments, such as operating system, processor \n  specs, Java JDK and VM. It is in the [/data](data) directory.\n\n## License\n\nThe code to replicate the experiments from the paper, as well as the\n\u0026rho;\u0026mu; library is licensed under the [GNU General Public License 3.0](https://www.gnu.org/licenses/gpl-3.0.en.html).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcicirello%2Fbtpe-iterations","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcicirello%2Fbtpe-iterations","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcicirello%2Fbtpe-iterations/lists"}