{"id":15398668,"url":"https://github.com/lancern/llvm-anderson","last_synced_at":"2025-04-16T01:47:38.370Z","repository":{"id":112300408,"uuid":"324491884","full_name":"Lancern/llvm-anderson","owner":"Lancern","description":"Anderson points-to analysis implementation based on LLVM","archived":false,"fork":false,"pushed_at":"2021-01-03T06:17:40.000Z","size":135,"stargazers_count":12,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-06T22:54:25.243Z","etag":null,"topics":["algorithm","llvm","llvm-anderson","llvm-ir","pointer-analysis","points-to-analysis","program-analysis","static-analysis"],"latest_commit_sha":null,"homepage":"","language":"C++","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/Lancern.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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-12-26T05:57:25.000Z","updated_at":"2024-02-13T12:58:15.000Z","dependencies_parsed_at":"2023-05-12T15:45:33.774Z","dependency_job_id":null,"html_url":"https://github.com/Lancern/llvm-anderson","commit_stats":{"total_commits":37,"total_committers":1,"mean_commits":37.0,"dds":0.0,"last_synced_commit":"9b9a171b69a71d4dac94b218406689583f5d734e"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lancern%2Fllvm-anderson","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lancern%2Fllvm-anderson/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lancern%2Fllvm-anderson/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lancern%2Fllvm-anderson/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Lancern","download_url":"https://codeload.github.com/Lancern/llvm-anderson/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249182966,"owners_count":21226123,"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":["algorithm","llvm","llvm-anderson","llvm-ir","pointer-analysis","points-to-analysis","program-analysis","static-analysis"],"created_at":"2024-10-01T15:45:01.913Z","updated_at":"2025-04-16T01:47:38.330Z","avatar_url":"https://github.com/Lancern.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# LLVM-Anderson\n\nThis project implements the famous flow-insensitive\n[points-to analysis](https://en.wikipedia.org/wiki/Pointer_analysis)\nalgorithm, namely \n[Anderson algorithm](https://en.wikipedia.org/w/index.php?title=Andersen%27s_algorithm\u0026action=edit\u0026redlink=1),\non the LLVM compiler platform.\n\n\u003e Notes: This is a toy project. It's not well tested and corner cases are poorly considered.\n\u003e Use it at your own risk!\n\n## Build\n\n### Prerequisites\n\nPlease ensure you have LLVM installed before build. The recommended LLVM version\nis LLVM 10.0.0, but other LLVM versions might work as well (not tested).\n\nIf you are using Ubuntu, execute the following command to install required\ncomponents before build:\n\n```shell\nsudo apt install build-essential cmake llvm-dev\n```\n\nIf you want to build doxygen documentation, you need to install `doxygen` as well:\n\n```shell\nsudo apt install doxygen\n```\n\n### Build Binaries\n\nClone the repository and switch into source tree root:\n\n```shell\ngit clone https://github.com/Lancern/p2a.git\ncd p2a\n```\n\nCreate a build directory:\n\n```shell\nmkdir build\ncd build\n```\n\nThen you can build `p2a` by the familiar two-step build:\n\n```shell\ncmake ..\ncmake --build .\n```\n\n### Build Doxygen Documents\n\nIn order to build doxygen documents, just add the `--target` switch when\ninvoking `cmake --build .` in the last step of build:\n\n```shell\ncmake --build . --target doxygen\n```\n\nThe doxygen output directory is `docs/doxygen`.\n\n## License\n\nThis project is open-sourced under the [MIT license](./LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flancern%2Fllvm-anderson","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flancern%2Fllvm-anderson","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flancern%2Fllvm-anderson/lists"}