pascal-lab/Tai-e

Does Tai-e support SootUp or has any plan to support it?

Closed this issue · 8 comments

SootUp home page

SootUp Introduction

For more information

SootUp is more modern ?e.g.,

  • New Improved API (without Globals/Singletons)
  • Fully-Parallelizable Architecture

Suggested solution

Fully-Parallelizable Architecture

Alternative

No response

Additional context

No response

No. Tai-e only uses soot as a temporary front end. We are developing our own front end. We aim to build a practical and powerful front end that is designed for program analysis, and will replace soot by it in the future.

Does this new frontend support concurrency?

"theWorld" is stored in a static variable, which is not supported by concurrency?

"stored in a static variable" doesn't mean it is not supported by concurrency. We will take concurrency into account when developing new front end, e.g., building IR in parallel.

Sorry, I didn't make it clear, I mean whether the whole Tai-e can be concurrent, e.g., pointer analysis.

Well, it is non-trivial to make pointer analysis concurrent (parallelization of pointer analysis can be a research topic).

(BTW, SootUp claims "Fully-Parallelizable Architecture", but it doesn't mean that all its analyses are concurrent. Analyses are components of it, not architecture.)

When we design pointer analysis framework in Tai-e, a primary goal is extensibility, as we want to involve more developers to write analyses on top of it. That's why we compose Analysis Plugin System.

We have also considered to parallelize pointer analysis in Tai-e, but this will make it harder to write analysis plugins as the developers need to take synchronization into account. So currently we choose single-threading architecture for pointer analysis.

Tai's pointer analysis is already more efficient than the state-of-the-arts (see our technical report). If we encounter performance problems in the future, we may also consider parallelize it.

FYI, Tai-e already executes method- and class-level analyses in parallel.

Thanks, looking forward to the new frontend, so far soot feels a little slow. Thanks Again.

No worries ;-)