Weichen Li

33 papers A* 4A 1Journal 23Unranked 5
YearRankTypeTitle / Venue / Authors
2026 J jnl
CoRR
Weichen Li, Jiamin Song, Bogdan Alexandru Stoica, Arav Dhoot, Gabriel Ryan, Shengyu Fu, Kexin Pei
2026 A* conf
AAAI
Weichen Li, Waleed Mustafa, Marcio Monteiro, Puyu Wang, Marius Kloft, Sophie Fellenz
2026 J jnl
CoRR
Yabo Chen, Yuanzhi Liang, Jiepeng Wang, Tingxi Chen, Junfei Cheng, Zixiao Gu, Yuyang Huang, Zicheng Jiang, Wei Li, Tian Li, Weichen Li, Zuoxin Li, Guangce Liu, Jialun Liu, Junqi Liu, Haoyuan Wang, Qizhen Weng, Xuan'er Wu, Xunzhi Xiang, Xiaoyan Yang, Xin Zhang, Shiwen Zhang, Junyu Zhou, Chengcheng Zhou, Haibin Huang, Chi Zhang, Xuelong Li
2025 J jnl
IEEE Geosci. Remote. Sens. Lett.
Yandong Liu, Jun Wang, Weichen Li, Fang Li, Yuan Fang, Xiaohong Meng
2025 J jnl
J. Manag. Inf. Syst.
Zhongyun Zhou, Zidie Chen, Weichen Li, Yi Zhang, Xiao-Ling Jin
2025 A* conf
ICML
Weichen Li, Albert Jan, Baishakhi Ray, Junfeng Yang, Chengzhi Mao, Kexin Pei
2025 J jnl
CoRR
Weichen Li, Albert Jan, Baishakhi Ray, Chengzhi Mao, Junfeng Yang, Kexin Pei
2025 J jnl
IEEE Geosci. Remote. Sens. Lett.
Weichen Li, Jun Wang, Fang Li, Xiaohong Meng, Biao Xi
2025 J jnl
IEEE Access
Haitao Liu, Weichen Li, Xin Huang, Xuehong Tian, Qingqun Mai
2024 A* conf
AAAI
Jingping Liu, Mingchuan Zhang, Weichen Li, Chao Wang, Shuang Li, Haiyun Jiang, Sihang Jiang, Yanghua Xiao, Yunwen Chen
2024 A conf
AISTATS
Weichen Li, Rati Devidze, Waleed Mustafa, Sophie Fellenz
2024 A* conf
ICML
Kexin Pei, Weichen Li, Qirui Jin, Shuyang Liu, Scott Geng, Lorenzo Cavallaro, Junfeng Yang, Suman Jana
2024 J jnl
IEEE Access
Weichen Li, Haitao Liu, Xuehong Tian
2024 J jnl
J. Frankl. Inst.
Haitao Liu, Weichen Li, Xuehong Tian, Liang Du
2024 J jnl
CoRR
Weichen Li, Xiaotong Huang, Jianwu Zheng, Zheng Wang, Chaokun Wang, Li Pan, Jianhua Li
2023 J jnl
Sensors
Chuan Xiang, Jiahui Zhou, Bing Han, Weichen Li, Hongge Zhao
2023 conf
ECML/PKDD (4)
Weichen Li, Rati Devidze, Sophie Fellenz
2023 J jnl
CoRR
Weichen Li, Rati Devidze, Sophie Fellenz
2023 J jnl
CoRR
Kexin Pei, Weichen Li, Qirui Jin, Shuyang Liu, Scott Geng, Lorenzo Cavallaro, Junfeng Yang, Suman Jana
2022 J jnl
Quantum Inf. Process.
Ya Xiao, Haida Liu, Yuewei Song, Qizhi HanZhao, Fengheng Che, Xuan Fan, Xinhong Han, Huichao Qu, Weichen Li, Wendong Li, Yongjian Gu
2021 conf
ICCCS
Shifu Zhang, Wei Wang, Yu Guo, Zhao Qian, Weichen Li
2021 conf
CAA SAFEPROCESS
Dengfeng Zhang, Weichen Li, Xiaodong Han, Cuimei Bo, Quanling Zhang, Lei Qiao
2021 conf
ICBK
Weichen Li, Patrick Abels, Zahra Ahmadi, Sophie Burkhardt, Benjamin Schiller, Iryna Gurevych, Stefan Kramer
2020 J jnl
CoRR
Weichen Li, Xiaojia Shelly Zhang
2019 J jnl
IEEE Access
Weichen Li, Junying Xia, Ge Zhang, Hang Ma, Benyuan Liu, Lin Yang, Yimin Zhou, Xiuzhen Dong, Feng Fu, Xuetao Shi
2019 J jnl
IEEE Access
Hang Ma, Haoting Li, Xuechao Liu, Weichen Li, Junying Xia, Benyuan Liu, Xuetao Shi, Xiuzhen Dong, Feng Fu
2018 J jnl
IEEE Access
Fulin Luo, Weichen Li, Weiping Tu, Weiwen Wu
2017 conf
ICIIP
Aijia He, Zehong Chen, Weichen Li, Xingying Li, Hongjun Li, Xin Zhao
2017 J jnl
CoRR
Fei Wang, Xiaofeng Gao, Guihai Chen, Weichen Li, Jun Ye
2017 J jnl
Sensors
Lin Yang, Wenbo Liu, Rongqing Chen, Ge Zhang, Weichen Li, Feng Fu, Xiuzhen Dong
2017 J jnl
IEEE Trans. Parallel Distributed Syst.
Xiaofeng Gao, Linghe Kong, Weichen Li, Wanchao Liang, Yuxiang Chen, Guihai Chen
2015 J jnl
Comput. Math. Methods Medicine
Zekun Liu, Junpeng Zhao, Weichen Li, Xinkun Wang, Jingxuan Xu, Jin Xie, Ke Tao, Li Shen, Ran Zhang
2012 J jnl
IEEE Trans. Ind. Electron.
Wuhua Li, Weichen Li, Xiangning He, David Xu, Bin Wu
redb/utils/wrapper_run_sort_files.py
← Index redb/utils/wrapper_run_sort_files.py python
import os
import subprocess
import multiprocessing
import logging
from concurrent.futures import ThreadPoolExecutor
import signal

# Variables (replace these with actual values)
src_root_folder_path = "/mnt/samples/consilience/malware/vx-bazaar-expanded/"
dst_root_folder_path = "/mnt/samples/consilience/malware/_sorted_samples/vx-bazaar/"
log_folder_path = "/mnt/samples/consilience/malware/ops-logs/"
folder_names = ["Bazaar.2022.01", "Bazaar.2022.02", "Bazaar.2022.03", "Bazaar.2022.04"]  # List of folder names
script_name = "sort_files_by_type.py"
dry_run = True  # Set to True for testing without execution


# Ensure the log folder exists
os.makedirs(log_folder_path, exist_ok=True)

# Configure logging
main_log_name = "20241229-main_script.log"
main_log_file = os.path.join(log_folder_path, main_log_name)
if not os.path.exists(main_log_file):
    open(main_log_file, 'a').close()  # Create the log file if it doesn't exist
# main_log_file = os.path.join(log_folder_path, main_log_name)
# try:
#     with open(main_log_file, 'a') as f:
#         print(f"Successfully created/opened log file at: {main_log_file}")
#     # Verify the file exists
#     if os.path.exists(main_log_file):
#         print(f"Confirmed log file exists at: {main_log_file}")
#         print(f"File size: {os.path.getsize(main_log_file)} bytes")
# except Exception as e:
#     print(f"Error with log file: {e}")

# Configure logging
logging.basicConfig(
    filename=main_log_file,
    level=logging.INFO,
    format="%(asctime)s - %(levelname)s - %(message)s",
    force=True,
    filemode='a'
)

logging.info("Logging initialization test message")

# Add logging handler to flush immediately
class FlushableFileHandler(logging.FileHandler):
    def emit(self, record):
        super().emit(record)
        self.flush()

for handler in logging.getLogger().handlers:
    if isinstance(handler, logging.FileHandler):
        handler.flush()

# Global flag for graceful termination
terminate_flag = False

def signal_handler(signum, frame):
    global terminate_flag
    terminate_flag = True
    logging.warning("Termination signal received. Attempting to shut down gracefully.")

# Register signal handler
signal.signal(signal.SIGINT, signal_handler)
signal.signal(signal.SIGTERM, signal_handler)

# Define the worker function
def process_folder(folder):
    global terminate_flag
    if terminate_flag:
        logging.warning(f"Skipping folder {folder} due to termination signal.")
        return

    try:
        # Extract the word and date fields from the folder name
        word, year, month = folder.split('.')

        # Construct source, destination, and log paths
        src_folder = os.path.join(src_root_folder_path, folder)
        dst_folder = os.path.join(dst_root_folder_path, folder)
        log_file = os.path.join(
            log_folder_path, f"20241229-SORT_FILES-bazaar_{year}.{month}.output.log"
        )

        if not os.path.exists(log_file):
            open(log_file, 'a').close()  # Create the log file if it doesn't exist

        # Build the command
        command = ["python3", script_name, src_folder, dst_folder]

        if dry_run:
            logging.info(f"Dry run: Would execute: {command}, log: {log_file}")
            print(f"Dry run: Would execute: {command}, log: {log_file}")
        else:
            logging.info(f"Starting task for folder: {folder}")
            with open(log_file, "w") as log:
                subprocess.run(command, stdout=log, stderr=subprocess.STDOUT, check=True)
            logging.info(f"Task completed for folder: {folder}")

    except subprocess.CalledProcessError as e:
        logging.error(f"Subprocess failed for folder {folder} with return code {e.returncode}: {e}")
        print(f"Subprocess failed for folder {folder}: {e}")
    except Exception as e:
        logging.error(f"Error while processing folder {folder}: {e}")
        print(f"Error while processing folder {folder}: {e}")

# Determine the number of processors
num_processors = multiprocessing.cpu_count()

try:
    # Process folders using ThreadPoolExecutor
    with ThreadPoolExecutor(max_workers=num_processors-1) as executor:
        executor.map(process_folder, folder_names)

except Exception as e:
    logging.critical(f"Critical error in the main execution: {e}")
    print(f"Critical error: {e}")

logging.info("All tasks completed.")
print("All tasks completed.")