Weihao Qu

11 papers A* 1B 2Journal 5Unranked 3
YearRankTypeTitle / Venue / Authors
2025 conf
ICHMS
Francisco Erramuspe Álvarez, Shobharani Polasa, Weihao Qu, Jay Wang, Ling Zheng
2025 conf
MedInfo
Weihao Qu, Ling Zheng, Dongyang Wang, Jiacun Wang, Haowen Pan
2024 conf
CCCI
Evan Gardner, Gurmeet Singh, Weihao Qu
2024 J jnl
Proc. ACM Program. Lang.
Jiawen Liu, Weihao Qu, Marco Gaboardi, Deepak Garg, Jonathan R. Ullman
2022 B conf
ITP
Alley Stoughton, Carol Chen, Marco Gaboardi, Weihao Qu
2021 J jnl
J. Funct. Program.
Weihao Qu, Marco Gaboardi, Deepak Garg
2019 A* conf
PLDI
Ezgi Çiçek, Weihao Qu, Gilles Barthe, Marco Gaboardi, Deepak Garg
2019 J jnl
Proc. ACM Program. Lang.
Weihao Qu, Marco Gaboardi, Deepak Garg
2018 J jnl
CoRR
Ezgi Çiçek, Weihao Qu, Gilles Barthe, Marco Gaboardi, Deepak Garg
2018 J jnl
CoRR
Weihao Qu, Marco Gaboardi, Deepak Garg
2016 B conf
CHASE
Weihao Qu, Feng Lin, Wenyao Xu
docker-build.sh
← Index docker-build.sh bash
#!/bin/bash

set -e

echo "Building REDB Docker image for linux/amd64 platform..."

# Function to tag the most recent <none> image
tag_unnamed_image() {
    local tag_name=$1
    local expected_size=$2
    
    # Get the most recent <none> image
    local image_id=$(docker images --filter "dangling=true" --format "{{.ID}}" | head -1)
    
    if [ -z "$image_id" ]; then
        echo "ERROR: No unnamed image found. Build may have failed."
        return 1
    fi
    
    local actual_size=$(docker images --format "table {{.ID}}\t{{.Size}}" | grep $image_id | awk '{print $2}')
    echo "Found image $image_id with size: $actual_size (expected: $expected_size)"
    
    # Tag the image
    echo "Tagging as $tag_name..."
    docker tag $image_id $tag_name
    
    return 0
}

# Build single unified image
echo ""
echo "Building REDB unified image - Supports both feature extraction and decompilation..."
echo "NOTE: If build hangs at 'exporting to image', press Ctrl+C - the image will still be created!"
echo ""

docker build --platform linux/amd64 -f Dockerfile -t redb:latest . || echo "Build interrupted (this is expected due to Docker Desktop bug)"

# Tag the image if it was built as unnamed
if docker images --filter "dangling=true" --format "{{.ID}}" | head -1 | grep -q "."; then
    tag_unnamed_image "redb:latest" "500MB"
fi

echo ""
echo "Docker build completed!"
echo ""
echo "Available images:"
docker images | grep redb

echo ""
echo "Image size:"
echo "REDB unified image: $(docker images redb:latest --format "{{.Size}}")"

echo ""
echo "Usage:"
echo "  Feature extraction: docker run redb:latest python3 start.py --nomad-job"
echo "  Decompilation:      docker run redb:latest python3 start.py --nomad-job --decompile"
echo "  Custom modules:     docker run redb:latest python3 start.py --nomad-job --modules BasicPropertiesExtractor,PEFeaturesExtractor"