{"id":18609540,"url":"https://github.com/secure-software-engineering/sootdiff","last_synced_at":"2025-04-10T22:31:30.973Z","repository":{"id":43413504,"uuid":"185754749","full_name":"secure-software-engineering/sootdiff","owner":"secure-software-engineering","description":"SootDiff - Bytecode Comparison Across Different Java Compilers","archived":false,"fork":false,"pushed_at":"2023-01-16T10:25:44.000Z","size":9058,"stargazers_count":17,"open_issues_count":1,"forks_count":4,"subscribers_count":6,"default_branch":"develop","last_synced_at":"2024-05-21T06:10:15.356Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","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/secure-software-engineering.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}},"created_at":"2019-05-09T08:06:01.000Z","updated_at":"2024-02-29T23:30:21.000Z","dependencies_parsed_at":"2023-02-10T02:30:58.693Z","dependency_job_id":null,"html_url":"https://github.com/secure-software-engineering/sootdiff","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-software-engineering%2Fsootdiff","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-software-engineering%2Fsootdiff/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-software-engineering%2Fsootdiff/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-software-engineering%2Fsootdiff/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/secure-software-engineering","download_url":"https://codeload.github.com/secure-software-engineering/sootdiff/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223449847,"owners_count":17146984,"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","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":[],"created_at":"2024-11-07T03:06:23.512Z","updated_at":"2024-11-07T03:06:24.123Z","avatar_url":"https://github.com/secure-software-engineering.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Maven Build](https://github.com/secure-software-engineering/sootdiff/actions/workflows/maven.yml/badge.svg)\n\n# SootDiff - Bytecode Comparison Across Different Java Compilers\n\nThis repository hosts the SootDiff analysis tool. SootDiff allows the comparison of the Java ByteCode create by\ndifferent Java compilers. To do so it uses static analysis and optimizations to unify the generated ByteCode, e.g.\nConstant Propagation, Dead Code Elimination, String Handling. Its goal is to provide researchers and practitioners with\na tool and library on which they can base their own research projects and product implementations.\n\n## Obtaining SootDiff\n\nYou can either build SootDiff on your own using Maven, or you can download a release from here on Github.\n\n### Downloading the Release\n\nThe Release Page contains all pre-built JAR files for each release that we officially publish. We recommend using the\nlatest and greatest version unless you have a specific issue that prevents you from doing so. In that case, please let\nus know.\n\n### Building SootDiff with Maven\n\nTo build SootDiff with Maven run\n```\nmvn install\n```\n\nor to build a standalone `jar-with-dependencies` run\n```\nmvn clean compile assembly:single\n```\n\n## Publications\n\nIf you want to read the details on how SootDiff works, the published\npaper [SootDiff @SOAP'19,Phoenix, AZ, USA](https://dl.acm.org/citation.cfm?id=3329966) is a good place to start.\n\n## License\n\nSootDiff is licensed under the MIT license, see LICENSE file. This basically means that you are free to use the tool (\neven in commercial, closed-source projects).\n\n# Use SootDiff to compare Jars\n\nThe class `src/test/java/MainCompareArtifacts.java` can be used to compare multiple jars on the basis of class sha,tlshs\nand timestamps and produces a markdown report of that.\n\nInvoke the main method with parameters `-inJars jar1,jar2,jar3 -fileFilter pathToFilterFile.txt`\n\nThe filter file can be used to specify classes of interest (e.g. classes fixed in a fixing commit). Make sure to specify\nthe files as they would be located in the analyzed jar, e.g., in a commit the change might be related\nto `src/main/java/pack/a/b.java`, in the jar it would be referenced from the package onwards and in class\nformat: `pack/a/b.class`. ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsecure-software-engineering%2Fsootdiff","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsecure-software-engineering%2Fsootdiff","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsecure-software-engineering%2Fsootdiff/lists"}