Haihua Xie

43 papers A* 1A 1B 5Journal 16Unranked 18
YearRankTypeTitle / Venue / Authors
2026 J jnl
Complex Intell. Syst.
Huzhi Xue, Haihua Xie, Butian Zhao
2026 J jnl
Concurr. Comput. Pract. Exp.
Zhihua Li, Honggang Yang, Li Lv, Yu Fu, Shaobo Zhang, Xiaozhou Xiong, Haihua Xie
2026 conf
CHI Extended Abstracts
Miao He, Haihua Xie, Zimou Nie, Weiwei Jiang, Weixi Gu
2025 J jnl
Digit. Signal Process.
Haihua Xie, Jia Zhao
2025 J jnl
Eng. Appl. Artif. Intell.
Huzhi Xue, Haihua Xie, Butian Zhao, Jun Wang
2025 J jnl
IEEE Trans. Geosci. Remote. Sens.
Zhenyang Xie, Li Lv, Hongmin Gao, Shufang Xu, Haihua Xie
2025 A* conf
EMNLP
Haihua Xie, Yinzhu Cheng, Yaqing Wang, Miao He, Mingming Sun
2025 conf
CCL
Huzhi Xue, Butian Zhao, Haihua Xie, Zeyu Sun
2025 J jnl
CoRR
Yinzhu Cheng, Haihua Xie, Yaqing Wang, Miao He, Mingming Sun
2025 B conf
IJCNN
Haihua Xie, Miao He
2024 conf
ICDH
Huzhi Xue, Haihua Xie, Carl K. Chang
2024 conf
ICGEC (1)
Lan Jiang, Li Lv, Siwei Peng, Haihua Xie
2024 ed.
ICDH
Rong N. Chang, Carl K. Chang, Jingwei Yang, Zhi Jin, Michael Sheng, Jing Fan, Kenneth Fletcher, Qiang He, Bo Wen, Sheikh Iqbal Ahamed, Graziano Pravadelli, Hossain Shahriar, Nicola Bombieri, Haihua Xie, Nimanthi Atukorala, Adnan Mahmood, William Chu, Jeff Rogers
2024 J jnl
IEEE Access
Pengzhi Li, Yan Pei, Jianqiang Li, Haihua Xie
2023 conf
SSE
Lin Liu, Haihua Xie, Jingwei Yang, Yanni Li
2023 conf
ICCMS
Han Ren, Haihua Xie, Rujiang Guo, Huijie Liu
2023 J jnl
IEEE Access
Haihua Xie, Yi Yuan, Sanyou Zeng
2023 J jnl
IEEE Access
Haihua Xie, Han Ren, Yangyang Zhang, Rujiang Guo, Huijie Liu
2022 B conf
COLING
Haihua Xie, Xiaoqing Lyu, Xuefei Chen
2021 J jnl
J. Supercomput.
Pengzhi Li, Jianqiang Li, Yueda Chen, Yan Pei, Guanghui Fu, Haihua Xie
2020 conf
CNCL
Nuo Xu, Haihua Xie, Dongyan Zhao
2020 conf
CNCL
Shaoling Jing, Shibo Hong, Dongyan Zhao, Haihua Xie, Zhi Tang
2020 J jnl
IEEE Signal Process. Lett.
Jianwei Li, Yongtao Wang, Haihua Xie, Kai-Kuang Ma
2020 J jnl
IEEE Trans. Image Process.
Jianwei Li, Yongtao Wang, Haihua Xie, Kai-Kuang Ma
2020 J jnl
CoRR
Jianwei Li, Yongtao Wang, Haihua Xie, Kai-Kuang Ma
2020 J jnl
Int. J. Comput. Sci. Math.
Hui Sun, Zhicheng Deng, Jia Zhao, Haihua Xie
2020 conf
MIPR
Haihua Xie, Zhiyou Chen, Yabo Li, Shaoling Jing, Xiaoqing Lyu, Zhi Tang
2019 conf
NLPCC (2)
Haihua Xie, Aolin Li, Yabo Li, Jing Cheng, Zhiyou Chen, Xiaoqing Lyu, Zhi Tang
2019 conf
MIPR
Haihua Xie, Xiaoqing Lu, Xuefei Chen, Jinle Tong, Zhi Tang
2018 conf
BIBM
Yitao Liu, Xiaoqing Lyu, Haihua Xie, Xiaotong Yan, Bei Wang, Zhi Tang
2018 conf
JCDL
Haihua Xie, Xiaoqing Lu, Zhi Tang
2018 J jnl
Int. J. Wirel. Mob. Comput.
Hui Sun, Kun Wang, Haihua Xie
2017 J jnl
J. Syst. Softw.
Haihua Xie, Jingwei Yang, Carl K. Chang, Lin Liu
2017 conf
ICIBE
Haihua Xie, Xiaoqing Lu, Zhi Tang, Xiaojun Huang
2016 conf
JCDL
Haihua Xie, Xiaoqing Lu, Zhi Tang, Mao Ye
2016 conf
NLPCC/ICCPOL
Haihua Xie, Xiaoqing Lu, Zhi Tang, Xiaojun Huang
2015 B conf
COMPSAC
Haihua Xie, Carl K. Chang
2012 ed.
COMPSAC Workshops
Xiaoying Bai, Fevzi Belli, Elisa Bertino, Carl K. Chang, Atilla Elçi, Cristina Cerschi Seceleanu, Haihua Xie, Mohammad Zulkernine
2012 B ed.
COMPSAC
Xiaoying Bai, Fevzi Belli, Elisa Bertino, Carl K. Chang, Atilla Elçi, Cristina Cerschi Seceleanu, Haihua Xie, Mohammad Zulkernine
2012 conf
COMPSAC Workshops
Haihua Xie, Carl K. Chang, Ming Hua, Kai-Shin Lu
2011 conf
iStar
Tianying Li, Tong Li, Haihua Xie, Lin Liu
2011 B conf
COMPSAC
Haihua Xie
2009 A conf
CAiSE
Wenting Ma, Lin Liu, Haihua Xie, Hongyu Zhang, Jinglei Yin
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.")