| CARVIEW |
Select Language
HTTP/2 200
date: Mon, 29 Dec 2025 20:43:10 GMT
content-type: text/html; charset=utf-8
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With,Accept-Encoding, Accept, X-Requested-With
etag: W/"557dd8064b6fc2876c94a556b4b7293a"
cache-control: max-age=0, private, must-revalidate
strict-transport-security: max-age=31536000; includeSubdomains; preload
x-frame-options: deny
x-content-type-options: nosniff
x-xss-protection: 0
referrer-policy: no-referrer-when-downgrade
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com github.githubassets.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com wss://alive-staging.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com marketplace-screenshots.githubusercontent.com/ copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com github.githubassets.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
server: github.com
content-encoding: gzip
accept-ranges: bytes
set-cookie: _gh_sess=jXtlNZUF4RyM0xU249EMbTfJ981Lh7yPXeV2SG%2BwQ50jFvBxMMYB9KsY8wuiytI2C3qbIt56eD39EZ81cCH2tf3f51T7%2Ba9cmVO98mDtOwnUAO77NjZFdyo2LHsv3a0vfEX%2Bx4oEVxa7dIXWBdpMYI78bD4nl7wL5r8cEfHevbRhX0iLLse6DjbjydUOWYBbdVF%2FmK50tv7Cbu%2FTSyCyi9Wyl4%2FDqTZy5mieCgw%2BtwsqaX%2F5DdmSq5vrz16nnZKyl3tM0D8wn9eBFGydQVn9QQ%3D%3D--5ISzl%2FRk1Ym0DbGs--pWJOtbr5Sr0W%2F8d8pfUg4g%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.1373651887.1767040990; Path=/; Domain=github.com; Expires=Tue, 29 Dec 2026 20:43:10 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Tue, 29 Dec 2026 20:43:10 GMT; HttpOnly; Secure; SameSite=Lax
x-github-request-id: BBAC:446F3:6764EFE:7BB4B10:6952E7DE
Releases Β· pascal-lab/Tai-e Β· GitHub
Loading
Loading
Loading
Loading
Skip to content
Navigation Menu
{{ message }}
-
Notifications
You must be signed in to change notification settings - Fork 193
Releases: pascal-lab/Tai-e
Releases Β· pascal-lab/Tai-e
v0.5.2-SNAPSHOT
This is the latest pre-release for version 0.5.2-SNAPSHOT. Details of the changes can be found in the CHANGELOG.md. Please note that this pre-release will be removed once the stable version is officially released, and it may be overridden by newer snapshot versions as they are published.
Assets 3
v0.5.1
New Features
- Add side-effect analysis.
- The options
--class-pathand--app-class-pathcan be repeated multiple times to specify multiple paths. - Pointer analysis
- Add
Plugin.onPhaseFinish(). - Support specifying multiple method signatures in one
@InvokeHandlerannotation. - Add
getInfo()to call graph edges and pointer flow edges. - Add pointer analysis assertion mechanism to ease testing.
- Add
pascal.taie.analysis.pta.plugin.util.AnalysisModelPluginandIRModelPluginto replace originalModelandIRModel, provide more convenient interfaces to support@InvokeHandler.
- Add
- Taint analysis
- Support specifying IndexRef (e.g.,
index: "0[*]"andindex: "0.f") in call sources and parameter sources. - Support specifying IndexRef in sinks.
- Support interactive mode, allowing users to modify the taint configuration file and re-run taint analysis without needing to re-run the whole program analysis.
- Enhance TFG dumping by adding taint configuration and call site info to Source/Sink node and TaintTransfer edge.
- Support programmatic taint config provider.
- Add commonly used taint configurations.
- Support specifying IndexRef (e.g.,
- Class hierarchy analysis (CHA)
- Support ignoring call sites that call methods declared in
java.lang.Object. - Support ignoring call sites whose callees exceed given limit.
- Support ignoring call sites that call methods declared in
- Signature pattern and matcher
- Add
pascal.taie.language.classes.SignatureMatcherwhich supports retrieving classes, methods, or fields whose signature match given pattern. - Use signature matcher in taint analysis and
@InvokeHandlerto simplify signature configuration.
- Add
Breaking Changes
- API changes
- Change
Solver.addPFGEdge(Pointer,Pointer,FlowKind,Type)andSolver.addPFGEdge(Pointer,Pointer,FlowKind,Transfer)toSolver.addPFGEdge(PointerFlowEdge)and related APIs. - Deprecate
pascal.taie.analysis.pta.plugin.util.ModelandIRModel(these two interfaces are currently preserved for compatibility, and will be removed in the future). - Change
PrimitiveTypefromenumto aninterfaceand implement it by classes that represent concrete primitive types. Refine the types of certain expressions fromPrimitiveTypeto the concrete primitive types.
- Change
Fixes
- Fix incorrect classpath argument for the frontend where the
-acpoption is not being used. This issue is only reproducible when--prepend-JVM(-pp) is set totrue. - Fix mismatch between number of parameter names and number of actual parameters in JMethod for inner class.
- Fix option parser, now treat only the first colon as delimiter between a key and a value (before each colon is treated as delimiter).
- Fix empty log file when running via JAR.
Contributors
We would like to thank the following community members for their contributions to the releases (v0.5.1, v0.2.2) of Tai-e: Wangxiz, Chenghang Shi, YaphetsH, GnSight, Zhaohui Wang, cs-cat, Yinning Xiao, Zhiwei Zhang, Hengbin Zheng, Chenxi Zhang.
Assets 3
12 people reacted
v0.2.2
New Features
- Add option
--app-class-path. - Add option
--keep-results. - Add option
--output-dir. - Add option
-wc, --world-cache-mode. - Add def-use analysis.
- Add dominator-finding algorithm.
- Add generics signature information for Class, Method, and Field.
- Include documentation source in the repository.
- Taint analysis
- Support taint source for arguments of method calls and method parameters.
- Support taint source for field loads.
- Support taint sanitization for method parameters.
- Dump taint flow graph.
- Support loading multiple taint configuration files.
- Support taint transfer between variables and instance fields/array elements.
- Support call-site mode.
- Pointer analysis
- Support adding entry points of the program to analyze.
- Support analysis time limit.
- Support propagation for values of primitive types.
- Support hybrid inference-based and log-based reflection analysis.
- Add Solar reflection analysis (TOSEM'19).
- Support annotation-based invoke handler registration.
- Support dumping points-to set in YAML format.
Breaking Changes
- Option and configuration changes
- Change All
dumprelated options. Previously, mostdumpoptions require users to specify a path to dump file; now, Tai-e uses fixed path for dump file (the file name is fully fixed, and users can still change dump directory via option--output-dir), so that users only need to specifytrueorfalsefor alldumpoptions. - Rename analysis
class-dumpertoir-dumper. - Pointer analysis
- Replace
merge-string-constantsbydistinguish-string-constants. - Replace
actionbydumpandexpected-file.
- Replace
- Taint analysis
- Require to add
kindto source configurations. Previously, the taint analysis only supports one kind of sources, i.e., result of method call. Now, we support more kinds of sources, including argument or result of method call (kind: call), and method parameter (kind: param) , so users need to specify kind of each source. Please see an example.
- Require to add
- Change All
- API changes
- Change
pascal.taie.analysis.pta.core.heap.HeapModel.getMockObj(String,...)toHeapModel.getMockObj(Descriptor,...). - Change APIs of
pascal.util.graph.Edgeand its subclasses. - Change return type of
Exp.getUses()toSet<RValue>. - Change return type of
Stmt.getUses()toSet<RValue>.
- Change
Assets 3
7 people reacted
v0.0.3
Update README
Assets 3
You canβt perform that action at this time.