Sign inSign up

avirstatic/avir

By avirstatic

•Updated 9 months ago

AVIR: A static analysis framework for autonomous driving systems

Image
Languages & frameworks
0

861

avirstatic/avir repository overview

⁠AVIR Docker Image for Artifact Evaluation

This Docker image is provided for artifact evaluation of the AVIR paper. It contains the full toolchain and prebuilt binaries required to reproduce the main workflows described in the paper (dependencies are already installed and the key components are already compiled).

⁠Image Overview

  • OS in container: Ubuntu 20.04 LTS (amd64)

  • Version: 1.0

⁠QuickStart

docker pull avirstatic/avir:latest
⁠Usage

This image is intended to be used together with the AVIR Python framework. The framework will automatically launch the corresponding Docker container from this image and invoke the toolchain inside the container as part of the workflow.

In the container, the AVIR Python framework's PROJECT_ROOT is mounted at /AVIR

⁠Toolchain deployments

  • cloc: Version 1.82

  • LLVM-10: Version 10.0.1

    • opt: /llvm10/bin/opt
    • clang: /llvm10/bin/clang
    • clang++: /llvm10/bin/clang++
    • llvm-dis: /llvm10/bin/llvm-dis

WARNING: The LLVM 10 binaries shipped in this image are NOT identical to the official LLVM prebuilt releases. This is intentional: to enable statistics output during optimization/analysis (e.g., opt -stats, opt -instcount), we build LLVM with Statistics support forcibly enabled. The key CMake options are:

-DLLVM_ENABLE_STATS=ON         # Enable LLVM's Statistics framework
-DLLVM_FORCE_ENABLE_STATS=ON   # Force-enable statistics even in Release builds
-DCMAKE_BUILD_TYPE=Release     # Build in Release mode (performance-oriented)
  • SVF framework: Version 3.2

    • Source code: /SVF
    • LLVM-16 used by SVF: Version 16.0.0
      • Location: /SVF/llvm-16.0.0.obj/bin
      • NOTE: already added to $PATH

⁠Build image from source

If you want to understand how this image was built, or if you’d like to build it locally from source, please refer to the Dockerfile in the AVIR framework source code repository. The comments in the Dockerfile explain how to build the image from source.

⁠Acknowledgements

This Docker container makes use of the following reusable artifacts. We thank the relevant organizations and authors.

⁠References

[1]⁠ Chris Lattner and Vikram Adve. 2004. LLVM: A Compilation Framework for Lifelong Program Analysis & Transformation. In Proceedings of the international symposium on Code generation and optimization: feedback-directed and runtime optimization (CGO '04). IEEE Computer Society, USA, 75. https://dl.acm.org/doi/10.5555/977395.977673⁠

[2]⁠ Yulei Sui and Jingling Xue. 2016. SVF: interprocedural static value-flow analysis in LLVM. In Proceedings of the 25th International Conference on Compiler Construction (CC '16). Association for Computing Machinery, New York, NY, USA, 265–266. https://doi.org/10.1145/2892208.2892235⁠

Tag summary

Content type

Image

Digest

sha256:deeb2eea3…

Size

1013.7 MB

Last updated

9 months ago

docker pull avirstatic/avir