Xiaofan Chen

40 papers A* 4A 2B 3C 2Misc 1Journal 16Unranked 12
YearRankTypeTitle / Venue / Authors
2025 conf
ISSCC
Guansheng Lv, Wenhua Chen, Xiaofan Chen, Fei Huang, Zhenghe Feng
2025 J jnl
IEEE J. Solid State Circuits
Guansheng Lv, Wenhua Chen, Xiaofan Chen, Fei Huang, Zhenghe Feng
2025 B conf
IJCNN
Meng Meng, Shifeng Zhang, Xiaofan Chen, Shifeng Chen, Xu Zhou
2025 conf
WF-IoT
Xiaofeng Jiang, Wei Sun, Xiaofan Chen, Jinlong Tang, Yimao Sun, Yongxin Zhang, Yanbing Yang
2025 J jnl
Ind. Manag. Data Syst.
Xiaofan Chen, Emma L. Slade, Xiaojun Wang, Davit Marikyan
2024 J jnl
IEEE Trans. Circuits Syst. I Regul. Pap.
Guansheng Lv, Wenhua Chen, Xiaofan Chen, Fadhel M. Ghannouchi, Zhenghe Feng
2024 B conf
IJCNN
Yong Zhang, Rui Zhu, Shifeng Zhang, Xu Zhou, Shifeng Chen, Xiaofan Chen
2024 J jnl
CoRR
Yong Zhang, Rui Zhu, Shifeng Zhang, Xu Zhou, Shifeng Chen, Xiaofan Chen
2024 J jnl
Comput. Networks
Hongyang Chen, Pengfei Chen, Benran Wang, Xian Yu, Xiaofan Chen, Dandan Ma, Zibin Zheng
2024 conf
ICIOT
Pinghua Xu, Wenhang Yu, Xu Zhou, Xiaofan Chen, Kejiang Ye
2023 A conf
ICWS
Xian Yu, Kejiang Ye, Zihong Chen, Jia Yi, Xiaofan Chen, Bozhong Liu, Cheng-Zhong Xu
2023 conf
WSSE
Mary Jane C. Samonte, Qian Bian, Zhenduo Wang, Xiaofan Chen
2023 J jnl
IEEE Commun. Lett.
Long Chen, Wenhua Chen, Xiaofan Chen, Youjiang Liu, Fadhel M. Ghannouchi, Zhenghe Feng
2022 conf
ICONIP (6)
Xun Xiao, Xiaofan Chen, Ziyang Kang, Shasha Guo, Lei Wang
2022 conf
ICANN (3)
Xun Xiao, Lei Wang, Xiaofan Chen, Lianhua Qu, Shasha Guo, Yao Wang, Ziyang Kang
2022 J jnl
Open Comput. Sci.
Haijie Shen, Yangyuan Li, Xinzhi Tian, Xiaofan Chen, Caihong Li, Qian Bian, Zhenduo Wang, Weihua Wang
2022 C conf
ICCBR
Fengrui Liu, Yang Wang, Zhenyu Li, Rui Ren, Hongtao Guan, Xian Yu, Xiaofan Chen, Gaogang Xie
2022 A* conf
DAC
Zhijie Yang, Lei Wang, Yao Wang, LingHui Peng, Xiaofan Chen, Xun Xiao, Yaohua Wang, Weixia Xu
2021 J jnl
IEEE Trans. Circuits Syst. II Express Briefs
De-han Wang, Wenhua Chen, Xiaofan Chen, Xin Liu, Fadhel M. Ghannouchi, Zhenghe Feng
2021 conf
ISPA/BDCloud/SocialCom/SustainCom
Zhipeng Li, Yan Ding, Xiaofan Chen, Pan Dong, Chenlin Huang, Liantao Song, Peng Wang
2021 conf
HPCC/DSS/SmartCity/DependSys
Yuchen Qiu, Lei Wang, Xiaofan Chen, Lianhua Qu
2021 J jnl
Integr.
Shasha Guo, Ziyang Kang, Lei Wang, Limeng Zhang, Xiaofan Chen, Shiming Li, Weixia Xu
2021 J jnl
IEEE Trans. Circuits Syst. II Express Briefs
Long Chen, Wenhua Chen, Youjiang Liu, Xiaofan Chen, Fadhel M. Ghannouchi
2021 J jnl
Inf. Softw. Technol.
Sandeep Kaur Kuttal, Xiaofan Chen, Zhendong Wang, Sogol Balali, Anita Sarma
2020 J jnl
CoRR
Shasha Guo, Ziyang Kang, Lei Wang, Limeng Zhang, Xiaofan Chen, Shiming Li, Weixia Xu
2020 J jnl
IEEE Access
Ting Duan, Weiping Wang, Tao Wang, Xiaofan Chen, Xiaobo Li
2020 conf
RICAI
Xiaofan Chen, Songyang Lao, Ting Duan
2020 conf
ICONIP (1)
Xiaofan Chen, Jian Wang, Limeng Zhang, Shasha Guo, Lianhua Qu, Lei Wang
2020 J jnl
CoRR
Shasha Guo, Lei Wang, Xiaofan Chen, Limeng Zhang, Ziyang Kang, Weixia Xu
2018 J jnl
Autom. Softw. Eng.
Xiaofan Chen, John G. Hosking, John C. Grundy, Robert Amor
2017 J jnl
IEEE Trans. Broadcast.
Xiaofan Chen, Wenhua Chen, Fei Huang, Fadhel M. Ghannouchi, Zhenghe Feng, Yuanan Liu
2016 C conf
ICGSE
Anita Sarma, Xiaofan Chen, Sandeep Kaur Kuttal, Laura Dabbish, Zhendong Wang
2013 conf
Australian Software Engineering Conference
Xiaofan Chen, John G. Hosking, John Grundy, Robert Amor
2012 B conf
VL/HCC
Xiaofan Chen, John G. Hosking, John Grundy
2011 A* conf
ICSE
Xiaofan Chen, John G. Hosking, John C. Grundy
2011 A* conf
ASE
Xiaofan Chen, John C. Grundy
2010 A* conf
ASE
Xiaofan Chen
2008 conf
CHINZ
Samuel Hsiao-Heng Chang, Xiaofan Chen, Richard Anthony Priest, Beryl Plimmer
2007 Misc conf
OZCHI
Xiaofan Chen, Beryl Plimmer
2007 A conf
ICME
Xiaofan Chen, Tiejun Huang
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.")