拓展阅读
开源 Auto generate mock data for java test.(便于 Java 测试自动生成对象信息)
开源 Junit performance rely on junit5 and jdk8+.(java 性能测试框架。性能测试。压测。测试报告生成。)
test fuzz-01-模糊测试(Fuzz Testing)
Soot
重要提示:Soot现已由SootUp接替!
在2022年12月,我们正式发布了SootUp,这是Soot的一个版本,具有完全经过重新设计的、更模块化、可测试、可维护和可用的架构。如果您想要开始一个新的程序分析项目,请查看一下。
Soot现已支持Java 9模块!
尝试并参与Soot的Java 9最新开发。
已经测试并且可用的有:
- 自动模块(从模块路径中的jar自动创建的模块)
- 命名模块
- 爆炸式模块
- 模块化的jar文件
- 在Soot的ModuleScene中解析模块
- Spark
目前尚未实现的有:
- 匿名模块(混合模块路径和类路径)
- 多模块的jar文件
什么是Soot?
Soot是一个Java优化框架。
它提供了四种用于分析和转换Java字节码的中间表示:
- Baf:一个简化的字节码表示,易于操作。
- Jimple:一个适用于优化的带类型的3地址中间表示。
- Shimple:Jimple的SSA变体。
- Grimp:适用于反编译和代码检查的Jimple的聚合版本。
详细信息请参阅 https://soot-oss.github.io/soot。
如何开始使用Soot?
我们在wiki上提供了一些关于Soot的文档,还有许多关于Soot的教程。
有关详细信息,请考虑查阅Soot的JavaDoc和选项文档。
将Soot包含到您的项目中
每次提交到主分支(master)时,都会构建一个Soot发布版本。
您可以通过Maven、Gradle、SBT等工具使用以下坐标将Soot作为依赖项引入项目:
<dependencies>
<dependency>
<groupId>org.soot-oss</groupId>
<artifactId>soot</artifactId>
<version>4.3.0</version>
</dependency>
</dependencies>
您还可以获取主分支的旧版本构建。
可以在Maven Central上找到所有版本的构建列表。
每次提交到开发分支(develop)时,都会构建一个Soot SNAPSHOT版本。
您可以通过Maven、Gradle、SBT等工具使用以下坐标将Soot作为依赖项引入项目:
<dependencies>
<dependency>
<groupId>org.soot-oss</groupId>
<artifactId>soot</artifactId>
<version>4.4.0-SNAPSHOT</version>
</dependency>
</dependencies>
<repositories>
<repository>
<id>sonatype-snapshots</id>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
<releases>
<enabled>false</enabled>
</releases>
</repository>
</repositories>
您还可以获取开发分支的旧版本构建。
可以在Maven Central上找到所有版本的构建列表。
如何获取没有Maven的Soot?
我们推荐使用Maven来使用Soot,您可以直接获取Soot的最新发行构建。您也可以直接获取Soot的最新SNAPSHOT构建。
soot-<RELEASE>-jar-with-dependencies.jar
文件是一个包含所有必需库的全功能文件。
soot-<RELEASE>.jar
文件仅包含Soot,允许您手动选择依赖项,按需加载。如果您不想处理依赖关系,我们建议使用前者。文章来源:https://www.toymoban.com/news/detail-789357.html
文章来源地址https://www.toymoban.com/news/detail-789357.html
到了这里,关于test Symbolic Execution-03-Soot - A Java optimization framework的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!