Vikram Mittal

12 papers C 2Misc 4Journal 3Unranked 3
YearRankTypeTitle / Venue / Authors
2025 conf
SysCon
Calliott Scheuermann, Jacob Schuck, Hunter Howell, Devan Pathak, Robert Kite, Vikram Mittal
2024 Misc conf
WSC
Vikram Mittal, Paul F. Evangelista
2024 J jnl
IEEE Trans. Engineering Management
Vikram Mittal, Stephen Gillespie
2023 Misc conf
WSC
Vikram Mittal, Paul F. Evangelista
2022 J jnl
IEEE Trans. Engineering Management
Vikram Mittal, John Caddell
2022 Misc conf
WSC
Paul F. Evangelista, Vikram Mittal
2021 J jnl
IEEE Trans. Engineering Management
Vikram Mittal, Andrew Davidson
2021 Misc conf
WSC
Paul F. Evangelista, Vikram Mittal
2021 conf
SysCon
Vikram Mittal, Samuel Herbert, Gene Lesinski, James R. Enos
2020 C conf
SIMULTECH
Vikram Mittal, Graham Webb, Jackson Steiner, Luke Shriver, Sierra Butcher
2019 conf
SysCon
Ryan Leemans, Vikram Mittal
2017 C conf
SIMULTECH
Vikram Mittal, Jeffrey Demarest, Kennon S. Gilliam, Robert L. Page
lint.sh
← Index lint.sh bash
#!/bin/bash

# Linting script for REDB project
# Usage: ./lint.sh [--fix] [--check-only]

set -e

# Colors for output
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color

# Default values
FIX=false
CHECK_ONLY=false

# Parse arguments
while [[ $# -gt 0 ]]; do
    case $1 in
        --fix)
            FIX=true
            shift
            ;;
        --check-only)
            CHECK_ONLY=true
            shift
            ;;
        *)
            echo "Unknown option: $1"
            echo "Usage: $0 [--fix] [--check-only]"
            exit 1
            ;;
    esac
done

echo -e "${GREEN}Running linting checks on REDB project...${NC}"

# Check if we're in a virtual environment
if [[ "$VIRTUAL_ENV" == "" ]]; then
    echo -e "${YELLOW}Warning: Not in a virtual environment. Consider activating one.${NC}"
fi

# Function to run a command and check its exit status
run_check() {
    local name="$1"
    local command="$2"
    
    echo -e "\n${YELLOW}Running $name...${NC}"
    if eval "$command"; then
        echo -e "${GREEN}✓ $name passed${NC}"
    else
        echo -e "${RED}✗ $name failed${NC}"
        return 1
    fi
}

# Track overall success
overall_success=true

# 1. isort (import sorting)
if [[ "$FIX" == true ]]; then
    run_check "isort" "isort redb/" || overall_success=false
else
    run_check "isort" "isort --check-only --diff redb/" || overall_success=false
fi

# 2. black (code formatting)
if [[ "$FIX" == true ]]; then
    run_check "black" "black redb/" || overall_success=false
else
    run_check "black" "black --check --diff redb/" || overall_success=false
fi

# 3. flake8 (style and error checking)
run_check "flake8" "flake8 redb/" || overall_success=false

# 4. pylint (comprehensive analysis)
run_check "pylint" "pylint --rcfile=pyproject.toml redb/" || overall_success=false

echo -e "\n${GREEN}Linting completed!${NC}"

if [[ "$overall_success" == true ]]; then
    echo -e "${GREEN}All checks passed! ✨${NC}"
    exit 0
else
    echo -e "${RED}Some checks failed. Please fix the issues above.${NC}"
    exit 1
fi