Sign inSign up

zyyyy72814/clbugbench-multiql

By zyyyy72814

•Updated 3 months ago

MultiQL Docker images for CLBugBench Java-C and Python-C cross-language analysis experiments.

Image
Developer tools
0

140

zyyyy72814/clbugbench-multiql repository overview

⁠CLBugBench MultiQL

本仓库用于交付 CLBugBench 任务中的 MultiQL Docker 部署镜像。

MultiQL 基于 CodeQL 扩展实现,主要面向 Java-C / Python-C 跨语言分析。本仓库中的镜像包含 CodeQL、MultiQL 改写后的库、Java、Node.js、Python、GCC/MSYS2 等依赖。

⁠Tags

Tag环境状态用途
ubuntu22.04Ubuntu 22.04 LTS已完成MultiQL Linux 部署和官方 Python-C benchmark 验证
win10-ltsc2019Windows ServerCore LTSC2019已完成MultiQL Windows container 部署和 Python-C smoke query

⁠快速使用

⁠Ubuntu 22.04
docker pull zyyyy72814/clbugbench-multiql:ubuntu22.04
docker run --rm zyyyy72814/clbugbench-multiql:ubuntu22.04 bash -lc "source /etc/profile.d/multiql.sh && codeql version && node --version && java -version && python3 --version && gcc --version | head -n 1"

运行官方 Python-C benchmark:

docker run --rm zyyyy72814/clbugbench-multiql:ubuntu22.04 bash -lc 'source /etc/profile.d/multiql.sh && cd /opt/multiql/benchmark/cpython-small && ./script/create-db.sh >/tmp/create-db.log 2>&1 && ./script/query.sh >/tmp/query.log 2>&1 && tail -n 30 /tmp/query.log'
⁠Windows ServerCore LTSC2019

运行前需要将 Docker Desktop 切换到 Windows containers。

docker pull zyyyy72814/clbugbench-multiql:win10-ltsc2019
docker run --rm --isolation=hyperv zyyyy72814/clbugbench-multiql:win10-ltsc2019 powershell -NoProfile -ExecutionPolicy Bypass -Command ". C:\multiql-env.ps1; codeql version; node --version; java -version; python3 --version; gcc --version"

运行 Windows Python-C smoke query:

docker run --rm --isolation=hyperv -e CODEQL_RAM=8192 zyyyy72814/clbugbench-multiql:win10-ltsc2019 C:\msys64\usr\bin\bash.exe -lc 'source /etc/profile.d/multiql.sh && cd /c/opt/multiql/benchmark/cpython-small && rm -rf db db-python db-cpp && mkdir -p db && /c/opt/multiql/script/cpython/create-db.sh src/source db/source >/tmp/source-db.log 2>&1 && codeql query run --ram=8192 /c/opt/multiql/lib-cpython/ql/bench.ql -d db/source >/tmp/source-query.log 2>&1; echo STATUS=$?; tail -n 80 /tmp/source-query.log'

⁠验证内容

  • 已验证 CodeQL CLI、Java、Node.js、Python、GCC 等核心依赖。
  • Ubuntu 镜像使用 MultiQL 官方 benchmark/cpython-small 进行验证。
  • Windows 镜像使用 Python-C 单 case 创建数据库并运行查询。
  • Windows 下不声明完整 JNI benchmark 全量通过。

⁠说明

MultiQL 面向 Java-C / Python-C 程序,不适用于当前 CLBugBench original_cases 中的 Rust-C/C++ case。

Tag summary

Content type

Image

Digest

sha256:34110126d…

Size

5.5 GB

Last updated

3 months ago

docker pull zyyyy72814/clbugbench-multiql:win10-ltsc2019