当前位置:网站首页>SAVE: 软件分析验证和测试平台
SAVE: 软件分析验证和测试平台
2022-06-23 18:35:00 【InfoQ】
- 提供一个统一的测试验证框架,方便在本地验证软件分析工具的功能;
- 提供一个统一的平台,用户可以根据已经集成的常见测试套或者自行上传测试套来对比不同软件分析工具的有效性,或者评估其适用范围;
- 提供了REST API,可以将测试验证集成到软件分析工具的开发流程中(如CI/CD)。
一. 动机
- Lit由一些Python脚本组成,难以做到免安装随时执行;
- Lit设计的时候是面向编译器的,且没有考虑到应用逻辑上的可扩展性;
- Lit由社区系统开发者创造,只是一个简单的CLI工具,没有形成生态系统
- 将字符串形式的源代码传递给分析工具;
- 分析工具以黑盒子的形式来执行内部的分析逻辑;
- 分析工具输出结果:代码中间表示如AST、静态检查告警、修复后的代码、代码执行结果等。所有的输出数据都可以用字符串形式表示。

二. SAVE-cli
2.1 命令行应用

2.2 插件介绍

2.3 资源检测机制
| A
| save.toml
| B
| save.toml| A
| save.toml
| B <<< test suite
| myTest.java <<< test resource
| save.toml三. SAVE-cloud
3.1 有哪些新特性?
- 统一的测试框架;
- 云CI平台来执行测试任务;
- 测试结果可视化看板;
- 存储历史测试结果;
- 支持回归测试;
- 可用于验证或比较分析工具的Benchmark集合
3.2 SAVE-cloud工作流程
- 用户可以使用SAVE-cloud提供的REST API或者WEB界面;
- 用户可以选择已有benchmark或者上传自己的benchmark;
- 触发处理流程,启动一个docker容器,调用SAVE-cli来执行测试;
- 将所有历史执行结果存储在数据库中,方便分析

3.3 SAVE-cloud怎么用?





3.4 SAVE API
四. 总结
参考文献:
- LLVM Lit: https://llvm.org/docs/CommandGuide/lit.html
- NIST Juliet Test Suites: https://samate.nist.gov/SARD/test-suites
- SAVE-cli: https://github.com/saveourtool/save-cli
- SAVE-cloud: https://github.com/saveourtool/save-cloud
- SAVE fix plugin: https://github.com/saveourtool/save-cli/blob/main/save-plugins/fix-plugin/README.md
- Diff library: https://github.com/petertrr/kotlin-multiplatform-diff
- SAVE warn plugin: https://github.com/saveourtool/save-cli/blob/main/save-plugins/warn-plugin/README.md
- SAVE API:https://github.com/saveourtool/save-cloud/blob/master/save-backend/Backend-API.md
边栏推荐
- Browser cross domain
- 杰理之无缝循环播放【篇】
- 杰理之添加定时器中断【篇】
- Function definition and function parameters
- Convex optimization notes
- Not only Lei Jun, iqoo product manager, praised Qualcomm Xiaolong 8+: a new look
- Shengke communication IPO meeting: annual revenue of 460million China Zhenhua and industry fund are shareholders
- Comparison and evaluation of digicert and globalsign single domain ov SSL certificates
- Is PMP useful?
- Pisces: a programmable, protocol independent software switch (summary)
猜你喜欢

好用的人事管理软件有哪些?人事管理系统软件排名!

杰理之播 MP3 提示音功能【篇】

How long do you need to prepare for the PMP Exam?

Basic knowledge of assembly language (1)
![【NOI2014】15. Difficult to get up syndrome [binary]](/img/3a/12e9b2566d3ca3330a3cc6c5eaf135.png)
【NOI2014】15. Difficult to get up syndrome [binary]

Noah fortune passed the hearing: with an annual revenue of 4.3 billion yuan, Wang Jingbo has 49% voting rights, and Sequoia is a shareholder

Game asset reuse: a new way to find required game assets faster

今年,安徽母基金大爆发

A review of comparative learning

Shunted self attention | vit method for solving small target problems, which is derived from PVT and higher than PVT
随机推荐
Matrix analysis notes (I)
Jerry's adding timer interrupt [chapter]
Comparison and evaluation of digicert and globalsign single domain ov SSL certificates
Jericho Forced upgrade [chapter]
浏览器跨域
CV image classification
CV fully connected neural network
A review of comparative learning
Uniswap founder: no independent token will be issued for genie, and Genie products will be integrated into the uniswap interface
【One by One系列】IdentityServer4(七)授权码流程原理之MVC
区块哈希竞猜游戏系统开发(dapp)
活动报名 | MongoDB 5.0 时序存储特性介绍
golang set type implementation
Jerry's dynamic switching vcomo modulation method [chapter]
Requirements and precautions for applying for multi domain SSL certificate
CV convolution neural network
【NOI2014】15. Difficult to get up syndrome [binary]
如何通过7个步骤编写出色的在线用户手册
Various solutions to knapsack problems
[one by one series] identityserver4 (III) user name and password