Skip to content

Conversation

paddomanno
Copy link
Contributor

Tai-e can be used as a standalone CLI or as a Maven dependency. I didn't manage to write an adapter for the dependency, so here is a kind of workaround using the Tai-e CLI. Because of that, some additional setup is required to use it (similar to the DOOP and OPAL adapters).

According to the Tai-e docs, we need to execute the CLI with Java 17.
Also, we need to clone the Tai-e repo with the java-benchmarks submodule.
I got it to work by getting the latest release JAR and moving it inside the repo, next to the java-benchmarks folder.

git clone https://github.com/pascal-lab/Tai-e.git taie_repo
cd taie_repo
git submodule update --init --recursive
wget https://github.com/pascal-lab/Tai-e/releases/download/v0.5.1/tai-e-all-0.5.1.jar

The adapter requires the following ENV variables to be set:

export TAIE_RUNNER_DIR=path/to/taie_repo
export JCG_ANNOTATIONS_PATH=/path/to/JCG/jcg_annotations/src/main/java

@errt
Copy link
Contributor

errt commented Sep 19, 2025

Thank you for the contribution. Can you comment on why using the Maven dependency didn't work? That would seem like the much cleaner solution.

@paddomanno
Copy link
Contributor Author

I wasn't able to figure out the correct usage of the API to start an analysis (=generate the callgraph) and to access the generated callgraph afterwards. But I think it should be possible to get a cleaner solution by digging into the API docs or the source code. Until then, maybe this solution is helpful to someone.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants