{"id":20376344,"url":"https://github.com/tdebatty/jinu","last_synced_at":"2025-07-27T14:34:26.160Z","repository":{"id":72094449,"uuid":"75842578","full_name":"tdebatty/jinu","owner":"tdebatty","description":"Java algorithm evaluation framework","archived":false,"fork":false,"pushed_at":"2018-04-17T08:08:09.000Z","size":2227,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-04T12:05:07.153Z","etag":null,"topics":["algorithms","evaluation","framework","java"],"latest_commit_sha":null,"homepage":null,"language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tdebatty.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2016-12-07T14:16:00.000Z","updated_at":"2023-04-12T07:21:58.000Z","dependencies_parsed_at":"2024-01-15T06:07:27.717Z","dependency_job_id":null,"html_url":"https://github.com/tdebatty/jinu","commit_stats":{"total_commits":67,"total_committers":1,"mean_commits":67.0,"dds":0.0,"last_synced_commit":"13004d84e9f54efcdac1f7e1d6228ea755ecdef2"},"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/tdebatty/jinu","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tdebatty%2Fjinu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tdebatty%2Fjinu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tdebatty%2Fjinu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tdebatty%2Fjinu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tdebatty","download_url":"https://codeload.github.com/tdebatty/jinu/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tdebatty%2Fjinu/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267370892,"owners_count":24076501,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-27T02:00:11.917Z","response_time":82,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["algorithms","evaluation","framework","java"],"created_at":"2024-11-15T01:36:54.174Z","updated_at":"2025-07-27T14:34:26.113Z","avatar_url":"https://github.com/tdebatty.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# JINU\nA java algorithm evaluation framework. JINU Is Not a Unit testing framework.\n\nJinu is an attempt at promoting reproducible research. It allows Java developpers to easily:\n* check the influence of input parameters on an algorithm\n* compare different algorithms with the same input\n* compare results with objective measures\n* share their evaluation procedures and results\n\n\n## Download\nUsing maven:\n```\n\u003cdependency\u003e\n    \u003cgroupId\u003einfo.debatty\u003c/groupId\u003e\n    \u003cartifactId\u003ejinu\u003c/artifactId\u003e\n    \u003cversion\u003eRELEASE\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\nOr check the [releases](https://github.com/tdebatty/jinu/releases).\n\n## Quickstart\n\nCreate the case.\n\n```\nimport info.debatty.jinu.Case;\n\n\npublic class MyTestCase extends Case {\n\n    public static void main(final String[] args) throws Exception {\n        Case test = new MyTestCase();\n        test.run();\n    }\n\n    public MyTestCase() {\n        super();\n        \n        // Test will be repeated 10 times to measure average values\n        setIterations(10);\n        \n        // Test will be repeated with 3 different input values\n        setParamValues(new double[]{2.0, 3.0, 4.0});\n        \n        // Test will compare two algorithms\n        addTest(DummyTest.class);\n        addTest(DummyTest2.class);\n    }\n}\n```\n\nThe different tests in the case must implement the TestInterface\n\n```\nimport info.debatty.jinu.TestInterface;\nimport java.util.Random;\nimport java.util.logging.Level;\nimport java.util.logging.Logger;\n\npublic class DummyTest implements TestInterface {\n\n    public final double[] run(final double param) {\n        /// do some stuff\n        Random rand = new Random();\n        return new double[]{155.0 + param * rand.nextGaussian()};\n    }\n\n}\n```\n\nJINU will run all iterations for all input values and all algorithms, and produce two documents:\n* a dat file containing the results, which can be used with gnuplot or others\n* a complete html report like the one below\n\nThis report will contain:\n* the details of the case (name, hashtag, number of iterations, tests, classpath used etc.)\n* the details of the system on which the case was run (JVM memory, number of cores, hostname)\n* the results\n* the statistics regarding these results (average value, standard deviation and 95% confidence interval)\n* the similarity between tests (does test A produce the same average result as test B ?)\n* the source code of the tests\n\n![JINU Report](./info.debatty.jinu.examples.MyTestCase.png)\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftdebatty%2Fjinu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftdebatty%2Fjinu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftdebatty%2Fjinu/lists"}