Nafiz Arica

60 papers B 5Journal 19Unranked 35
YearRankTypeTitle / Venue / Authors
2025 J jnl
Mach. Vis. Appl.
Mustafa Kagan Gürkan, Nafiz Arica, Fatos T. Yarman-Vural
2025 conf
IPTA
Simge Akay, Duygu Cakir, Nafiz Arica
2025 J jnl
Neural Comput. Appl.
Duygu Cakir, Görkem Yilmaz, Nafiz Arica
2025 J jnl
IEEE Access
Simge Akay, Duygu Cakir, Nafiz Arica
2024 J jnl
Int. J. Comput. Sci. Eng.
Duygu Cakir, Görkem Yilmaz, Nafiz Arica
2023 J jnl
Mach. Vis. Appl.
Bahri Maras, Nafiz Arica, Aysin Ertüzün
2023 conf
IPTA
Duygu Cakir, Nafiz Arica
2023 conf
SIU
Can Yilmaz, Bahri Maras, Nafiz Arica, Aysin Baytan Ertüzün
2023 conf
SIU
Can Yilmaz, Bahri Maras, Görkem Yilmaz, Göksu Ceylan, Önder Hamamcioglu, Nafiz Arica, Aysin Baytan Ertüzün
2023 conf
SIU
Simge Akay, Nafiz Arica
2022 conf
SIU
Mustafa Kagan Gürkan, Nafiz Arica, Fatos T. Yarman-Vural
2022 J jnl
Image Vis. Comput.
Cemal Gurpinar, Seyma Takir, Erhan Biçer, Pinar Uluer, Nafiz Arica, Hatice Kose
2022 J jnl
CoRR
Cenk Bircanoglu, Nafiz Arica
2022 conf
SIU
Kemal Aktas, H. Hakan Kilinc, Nafiz Arica
2022 J jnl
Vis. Comput.
Simge Akay, Nafiz Arica
2022 J jnl
Multim. Tools Appl.
Hassan Imani, Md Baharul Islam, Masum Shah Junayed, Tarkan Aydin, Nafiz Arica
2022 J jnl
Intell. Syst. Appl.
Hassan Imani, Md Baharul Islam, Nafiz Arica
2020 conf
SIU
Cenk Bircanoglu, Nafiz Arica
2019 J jnl
Turkish J. Electr. Eng. Comput. Sci.
Anil Çelik, Nafiz Arica
2018 conf
SIU
Cahit Deniz Gurkaynak, Nafiz Arica
2018 conf
SIU
Cenk Bircanoglu, Nafiz Arica
2018 conf
SIU
Simge Akay, Hande Korkmaz, Nafiz Arica
2018 conf
SIU
Erol Citak, Mustafa Furkan Eseoglu, Ibrahim Omer Celik, Onur Disanli, Sezer Kutluk, Nafiz Arica
2018 conf
SIU
Simge Akay, Nafiz Arica
2017 J jnl
Comput. Intell.
Nafiz Arica, Aysegul Mut, Alper Yörükçü, Kadir Alpaslan Demir
2017 J jnl
IEEE Trans. Neural Networks Learn. Syst.
Emrah Ergul, Nafiz Arica, Narendra Ahuja, Sarp Ertürk
2017 conf
SIU
Anil Celik, Nafiz Arica
2017 conf
SIU
Cenk Bircanoglu, Nafiz Arica
2016 conf
SIU
Bahri Maras, Nafiz Arica, Aysin Baytan Ertüzün
2016 conf
SIU
Pinar Ece Aktan, Gokhan Hatipoglu, Nafiz Arica
2015 J jnl
Int. J. Neural Syst.
Serap Aydin, Nafiz Arica, Emrah Ergul, Oguz Tan
2015 conf
ICIAP (2)
Emrah Ergul, Sarp Ertürk, Nafiz Arica
2014 conf
SIU
Anil Celik, Nafiz Arica
2014 B conf
ICPR
Tufan Caliskan, Nafiz Arica
2014 conf
SIU
Tufan Caliskan, Nafiz Arica
2013 conf
SIU
Caglar Yapicilar, Nafiz Arica
2013 conf
SIU
Recep Doga Siyli, Lale Akarun, Nafiz Arica
2013 conf
SIU
Mehmet Karayel, Nafiz Arica
2013 conf
SIU
Emrah Ergul, Sarp Ertürk, Nafiz Arica
2012 conf
SIU
Aysegul Mut, Alper Yörükçü, Nafiz Arica, Kadir Alpaslan Demir
2010 B conf
ICPR
Mesut Guney, Nafiz Arica
2010 B conf
ICPR
Emrah Ergul, Nafiz Arica
2009 J jnl
J. Electronic Imaging
Nafiz Arica, Ömer Kurtuldu
2005 conf
CIVR
Nafiz Arica
2005 conf
ICIAR
Nafiz Arica, Fatos T. Yarman-Vural
2004 conf
ISCIS
Ömer Önder Tola, Nafiz Arica, Fatos T. Yarman-Vural
2003 conf
CIVR
Nafiz Arica, Fatos T. Yarman-Vural
2003 J jnl
Pattern Recognit. Lett.
Nafiz Arica, Fatos T. Yarman-Vural
2003
Nafiz Arica
2002 conf
ICPR (3)
Nafiz Arica, Fatos T. Yarman-Vural
2002 J jnl
IEEE Trans. Pattern Anal. Mach. Intell.
Nafiz Arica, Fatos T. Yarman-Vural
2001 J jnl
IEEE Trans. Syst. Man Cybern. Syst.
Nafiz Arica, Fatos T. Yarman-Vural
2000 B conf
ICPR
Nafiz Arica, Fatos T. Yarman-Vural
2000 J jnl
Pattern Recognit. Lett.
Nafiz Arica, Fatos T. Yarman-Vural
1999 conf
NSIP
Nafiz Arica, Fatos T. Yarman-Vural
1998 B conf
ICPR
Nafiz Arica, Fatos T. Yarman-Vural
1998 conf
KES (2)
Nafiz Arica, Fatos T. Yarman-Vural
1998 conf
IW-MMDBMS
S. Aygün, Adnan Yazici, Nafiz Arica
1998 conf
ICIP (2)
Nafiz Arica, Fatos T. Yarman-Vural
1997 conf
ICIAP (2)
Mehmet Ali Özdil, Fatos T. Yarman-Vural, Nafiz Arica
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.")