投稿注意事项

个人总结的投稿注意事项:

  • ≥两个月时间准备
  • 摘要(标题)截稿后还可以修改
  • 作者要在摘要 (标题) 截止前就填写完毕,过后不可修改
    • 可以直接搜索人名添加作者
  • 附录只有一次提交机会:
    • 要么跟正文一起交(推荐,因为可以直接再正文引用附录)
    • 要么延迟一周放附加文件列表里
  • 摆放顺序是:正文——引文——checklist——附录
  • 附录一定要尽量包含 checklist 里建议你摆放的内容,例如:
    • 所有模型、数据的 License
    • 详细环境配置和大概得参考复现时间
  • checklist 只要把红色[TODO]填了就好了,别的都不要动
  • dataset track 可以单盲提交,即提交时写作者信息:
    • 有好有坏
    • 写作者信息时可以简略一些,防止超过页数限制!
    • 比如邮箱只写通讯作者的,后面再加就行

复现部分

需要新建容器(最好用容器提交,免得构建编译等环境):
我的 Dockerfile(有的直接从宿主机拷贝了,省的还要再 clone 一遍 llvm 等仓库):

########################################
# Stage-1  ──  Build LLVM & Alive2
########################################
FROM ubuntu:22.04 AS builder
ARG JOBS=32
ENV http_proxy="" https_proxy="" ftp_proxy="" no_proxy=""

# 切换到国内源,加速安装
RUN sed -i 's|http://.*.ubuntu.com|http://mirrors.tuna.tsinghua.edu.cn|g' /etc/apt/sources.list && \
    sed -i 's|http://security.ubuntu.com|http://mirrors.tuna.tsinghua.edu.cn|g' /etc/apt/sources.list && \
    apt-get update && \
    apt-get install -y --no-install-recommends \
        build-essential git cmake ninja-build python3 python3-venv curl ca-certificates \
        zlib1g-dev libtinfo6 libz3-dev re2c && \
    rm -rf /var/lib/apt/lists/*

WORKDIR /opt

# ---------- 构建 LLVM ----------
COPY llvm-project /opt/llvm-project
RUN cmake -S llvm-project/llvm -B llvm_build -G Ninja \
        -DCMAKE_BUILD_TYPE=Release \
        -DLLVM_TARGETS_TO_BUILD="X86;AArch64" \
        -DLLVM_ENABLE_PROJECTS="clang;lld" \
        -DLLVM_ENABLE_RTTI=ON \
        -DLLVM_ENABLE_EH=ON \
        -DLLVM_INCLUDE_TESTS=OFF \
        -DLLVM_INCLUDE_EXAMPLES=OFF \
        -DLLVM_INCLUDE_BENCHMARKS=OFF && \
    cmake --build llvm_build -j${JOBS} && \
    cmake --install llvm_build && \
    rm -rf llvm-project llvm_build

# ---------- 构建 Alive2 ----------
COPY alive2 /opt/alive2
RUN cmake -S alive2 -B alive_build -G Ninja \
        -DLLVM_DIR=/usr/local/lib/cmake/llvm && \
    cmake --build alive_build -j${JOBS} && \
    cmake --install alive_build && \
    rm -rf alive2 alive_build
########################################
# Stage-2  ──  完整 Runtime(增强版)
########################################
FROM ubuntu:22.04 AS runtime
COPY --from=builder /usr/local /usr/local
ENV http_proxy="" https_proxy="" ftp_proxy="" no_proxy=""

# 切换到国内源并安装常用工具:bash, busybox, file, lsb-release, locales…
RUN sed -i 's|http://.*.ubuntu.com|http://mirrors.tuna.tsinghua.edu.cn|g' /etc/apt/sources.list && \
    sed -i 's|http://security.ubuntu.com|http://mirrors.tuna.tsinghua.edu.cn|g' /etc/apt/sources.list && \
    apt-get update && \
    apt-get install -y --no-install-recommends \
        bash \
        busybox-static \
        file \
        lsb-release \
        locales \
        python3 \
        python3-venv \
        git \
        curl \
        ca-certificates && \
    # 配置一个默认本地化以便 man 等能工作
    locale-gen en_US.UTF-8 && \
    # 链接 /bin/sh 到 busybox
    ln -sf /bin/busybox /bin/sh && \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/*

ENV PATH="/usr/local/bin:${PATH}" \
    LANG=en_US.UTF-8 \
    LC_ALL=en_US.UTF-8
WORKDIR /workspace

# 默认进入 busybox sh;也可用 --entrypoint bash
ENTRYPOINT ["/bin/sh"]

然后运行:

DOCKER_BUILDKIT=0 \
http_proxy="" https_proxy="" all_proxy="" \
docker build --no-cache -t llvm-alive2:fulllinux .

等待结束后使用此命令检查是否成功生成:

docker images | grep llvm-alive2

应该可以打印:llvm-alive2 neurips25 2e35eb629cf4 9 days ago 2.76GB
然后是用 github 的 Personal access tokens (classic) 登录 docker(-u 后面是 github 用户名):

docker login ghcr.io -u yilingqinghan

按提示输入密码(token)后会显示 Login Succeeded
然后就可以推送 docker 到 GHCR 了。

docker tag llvm-alive2:fulllinux \                                                                                                                                  
  ghcr.io/yilingqinghan/llvm-alive2:fulllinux
docker push ghcr.io/yilingqinghan/llvm-alive2:fulllinux

如果成功的话,应该在 ghcr.io/yilingqinghan/llvm-alive2:fulllinux