What is the support for Java source code? After testing, it was found that some classes did not recognize the method. What are the conditions for Java source code analysis?
Closed this issue · 1 comments
Clear and concise description of the problem
What is the support for Java source code? After testing, it was found that some classes did not recognize the method. What are the conditions for Java source code analysis?
Impact Analysis
No response
Suggested Solution
No response
Alternative
No response
Intention to submit PR
No
Additional Context
No response
What is the support for Java source code?
According to https://tai-e.pascal-lab.net/docs/current/reference/en/command-line-options.html#program-options:
Currently, Tai-e leverages Soot frontend to parse Java programs and help build Tai-e’s IR. Soot contains two frontends, one for parsing Java source files (.java) and the other one for bytecode files (.class). The former is outdated (only partially supports Java versions up to 7); while the latter, though quite robust (works properly for the .class files compiled by up to Java 17), cannot fully satisfy our requirements. Hence, we plan to develop our own frontend for Tai-e to address the above issues. For now, we advice using Tai-e to analyze bytecode, instead of source code, if possible.
What are the conditions for Java source code analysis?
Ensure you input .java
files into Tai-e, but avoid .class
files (when you want to analyze Java source code only). This is because Tai-e, when provided with both file types in the --class-path
(and --app-class-path
), prioritizes .class
files.