Haitham Abu-Rub

218 papers C 71Journal 99Unranked 48
YearRankTypeTitle / Venue / Authors
2026 J jnl
IEEE Trans. Ind. Electron.
Anas Karaki, Ali Sharida, Sertac Bayhan, Haitham Abu-Rub
2026 J jnl
IEEE Trans. Ind. Electron.
Uzair Asif, Reza Behnam, Ahmed Lakhdar Kouzou, Mohammad B. Shadmand, Haitham Abu-Rub
2026 J jnl
IEEE Trans. Ind. Electron.
Ahmed Lakhdar Kouzou, Ali Sharida, Sertac Bayhan, Haitham Abu-Rub, Irfan Khan
2025 J jnl
IEEE Trans. Ind. Electron.
Mansour Bouzidi, Said Barkat, Haitham Abu-Rub
2025 J jnl
IEEE Trans. Instrum. Meas.
Mohammad AlShaikh Saleh, Ali Ghrayeb, Shady S. Refaat, Haitham Abu-Rub, Sunil P. Khatri, Jörg Kammermann
2025 J jnl
IEEE Trans. Instrum. Meas.
Mohammad AlShaikh Saleh, Ahmad Darwish, Ali Ghrayeb, Shady S. Refaat, Haitham Abu-Rub, Sunil P. Khatri, Ayman H. El-Hag, Celal Fadil Kumru
2025 conf
EUROCON
Alamera Nouran Alquennah, Mohammad AlShaikh Saleh, Shady S. Refaat, Ali Ghrayeb, Haitham Abu-Rub, Marek Olesz, Mohammed Abdullah Al-Hajri, Sunil P. Khatri
2025 J jnl
IEEE Trans. Ind. Electron.
Ali Sharida, Naheel Faisal Kamal, Sertac Bayhan, Haitham Abu-Rub, Ugur Fesli
2025 J jnl
IEEE Internet Things J.
Mohamed Massaoudi, Maymouna Ez Eddin, Haitham Abu-Rub, Ali Ghrayeb, Katherine R. Davis
2025 J jnl
IEEE Access
Jana Sheikh Ali, Yazan Qiblawey, Abdulrahman Alassi, Ahmed M. Massoud, S. M. Muyeen, Haitham Abu-Rub
2025 conf
EUROCON
Ahmed Lakhdar Kouzou, Ali Sharida, Sertac Bayhan, Haitham Abu-Rub, Irfan Khan
2024 C conf
IECON
Uzair Asif, Silvanus D'silva, Mohammad B. Shadmand, Sertac Bayhan, Haitham Abu-Rub
2024 C conf
IECON
Mohamed Massaoudi, Maymouna Ez Eddin, Haitham Abu-Rub, Ali Ghrayeb
2024 C conf
IECON
Reza Behnam, Amirhosein Gohari, Mohammad B. Shadmand, Sertac Bayhan, Haitham Abu-Rub
2024 J jnl
IEEE Access
Nassma Mohandes, Sertac Bayhan, Antonio Sanfilippo, Haitham Abu-Rub
2024 C conf
IECON
Maher Messaoudi, Sayed Mohammad Kameli, Shady S. Refaat, Haitham Abu-Rub, Mohamed Trabelsi
2024 C conf
IECON
Abdullah Berkay Bayindir, Ahmad Al-Khateeb, Ali Sharida, Hussein M. Alnuweiri, Sertac Bayhan, Haitham Abu-Rub
2024 C conf
IECON
Mohamed Massaoudi, Haitham Abu-Rub, Ali Ghrayeb
2024 C conf
IECON
Ahmed Lakhdar Kouzou, Ali Sharida, Sertac Bayhan, Haitham Abu-Rub
2024 C conf
IECON
Naheel Faisal Kamal, Ali Sharida, Sertac Bayhan, Haitham Abu-Rub, Hussein M. Alnuweiri
2024 C conf
IECON
Aya A. Amer, Sertac Bayhan, Haitham Abu-Rub, Mehrdad Ehsani, Ahmed M. Massoud
2024 C conf
IECON
Maymouna Ez Eddin, Mohamed Massaoudi, Haitham Abu-Rub, Mohammad B. Shadmand, Mohamed Abdallah
2024 C conf
IECON
Abdullah Berkay Bayindir, Ali Sharida, Sertac Bayhan, Haitham Abu-Rub
2024 C conf
IECON
Tassneem Zamzam, Muhammad F. Umar, Yazan Qiblawey, Abdulrahman Alassi, Ali Ghrayeb, Haitham Abu-Rub
2024 J jnl
IEEE Access
Ali Sharida, Sertac Bayhan, Haitham Abu-Rub, Ugur Fesli
2024 J jnl
IEEE Trans. Ind. Electron.
Naki Guler, Hasan Komurcugil, Ugur Fesli, Sertac Bayhan, Haitham Abu-Rub
2024 C conf
IECON
Ali Sharida, Sertac Bayhan, Haitham Abu-Rub
2024 C conf
IECON
Ali Sharida, Abdullah Berkay Bayindir, Sertac Bayhan, Haitham Abu-Rub
2024 J jnl
IEEE Trans. Veh. Technol.
Naheel Faisal Kamal, Ali Sharida, Sertac Bayhan, Hussein M. Alnuweiri, Haitham Abu-Rub
2024 C conf
IECON
Azadeh Kermansaravi, Alamera Nouran Alquennah, Aleksandra Lekic, Mohamed Trabelsi, Ali Ghrayeb, Haitham Abu-Rub, Hani Vahedi
2024 C conf
IECON
Alamera Nouran Alquennah, Mohammad AlShaikh Saleh, Ali Ghrayeb, Haitham Abu-Rub, Shady S. Refaat, Mohammed Abdullah Al-Hajri, Sunil P. Khatri
2024 J jnl
IEEE Trans. Ind. Electron.
Naki Guler, Hasan Komurcugil, Sertac Bayhan, Haitham Abu-Rub
2024 C conf
IECON
Mohamed Massaoudi, Haitham Abu-Rub, Ali Ghrayeb
2024 J jnl
IEEE Trans. Ind. Electron.
Silvanus D'silva, Alireza Zare, Mohammad B. Shadmand, Sertac Bayhan, Haitham Abu-Rub
2024 J jnl
IEEE Trans. Instrum. Meas.
Sayed Mohammad Kameli, Shady S. Refaat, Haitham Abu-Rub, Ahmad Darwish, Ali Ghrayeb, Marek Olesz
2023 J jnl
IEEE Trans. Ind. Electron.
Hasan Komurcugil, Sertac Bayhan, Naki Guler, Haitham Abu-Rub
2023 conf
ISIE
Ali Sharida, Sertac Bayhan, Haitham Abu-Rub
2023 J jnl
IEEE Access
Ali Sharida, Sertac Bayhan, Haitham Abu-Rub
2023 C conf
IECON
Mohamed Massaoudi, Mohammad AlShaikh Saleh, Maymouna Ez Eddin, Erchin Serpedin, Ali Ghrayeb, Haitham Abu-Rub
2023 C conf
IECON
Naheel Faisal Kamal, Ali Sharida, Sertac Bayhan, Haitham Abu-Rub, Hussein M. Alnuweiri
2023 C conf
IECON
Ali Sharida, Sertac Bayhan, Haitham Abu-Rub
2023 J jnl
IEEE Access
Mohamed Massaoudi, Haitham Abu-Rub, Ali Ghrayeb
2023 C conf
IECON
Ali Sharida, Sertac Bayhan, Haitham Abu-Rub
2023 J jnl
IEEE Access
Nassma Mohandes, Sertac Bayhan, Antonio Sanfilippo, Haitham Abu-Rub
2023 J jnl
IEEE Trans. Ind. Electron.
Eshet T. Wodajo, Malik E. Elbuluk, Seungdeog Choi, Haitham Abu-Rub
2022 C conf
IECON
Maher Messaoudi, Shady S. Refaat, Mohamed Massaoudi, Ali Ghrayeb, Haitham Abu-Rub
2022 J jnl
IEEE Access
Mohamed Trabelsi, Lazhar Ben-Brahim, Adel Gastli, Haitham Abu-Rub
2022 C conf
IECON
Ali Sharida, Sertac Bayhan, Haitham Abu-Rub
2022 J jnl
IEEE Access
Abdelbaset Laib, Abdelbasset Krama, Abdeslem Sahli, Abbes Kihal, Haitham Abu-Rub
2021 C conf
IECON
Qasim Khan, Shady S. Refaat, Haitham Abu-Rub, Hamid A. Toliyat
2021 J jnl
IEEE Trans. Ind. Electron.
Hamza Makhamreh, Mohamed Trabelsi, Ösman Kükrer, Haitham Abu-Rub
2021 J jnl
IEEE Access
Ameema Zainab, Dabeeruddin Syed, Ali Ghrayeb, Haitham Abu-Rub, Shady S. Refaat, Mahdi Houchati, Othmane Bouhali, Santiago Bañales Lopez
2021 J jnl
IEEE Access
Iresha Poonahela, Sertac Bayhan, Haitham Abu-Rub, Miroslav M. Begovic, Mohammad B. Shadmand
2021 J jnl
IEEE Access
Mohamed Massaoudi, Ines Chihi, Lilia Sidhom, Mohamed Trabelsi, Shady S. Refaat, Haitham Abu-Rub, Fakhreddine S. Oueslati
2021 J jnl
IEEE Access
Ameema Zainab, Ali Ghrayeb, Dabeeruddin Syed, Haitham Abu-Rub, Shady S. Refaat, Othmane Bouhali
2021 J jnl
IEEE Trans. Instrum. Meas.
Qasim Khan, Shady S. Refaat, Haitham Abu-Rub, Hamid A. Toliyat, Marek Olesz, Ahmad Darwish
2021 J jnl
IEEE Trans. Ind. Electron.
Mitchell Easley, Mohammad B. Shadmand, Haitham Abu-Rub
2021 J jnl
IEEE Access
Mohamed Massaoudi, Ines Chihi, Haitham Abu-Rub, Shady S. Refaat, Fakhreddine S. Oueslati
2021 J jnl
IEEE Access
Mohamed Massaoudi, Haitham Abu-Rub, Shady S. Refaat, Ines Chihi, Fakhreddine S. Oueslati
2021 J jnl
IEEE Access
Dabeeruddin Syed, Haitham Abu-Rub, Ali Ghrayeb, Shady S. Refaat, Mahdi Houchati, Othmane Bouhali, Santiago Bañales Lopez
2021 J jnl
IEEE Access
Ameema Zainab, Ali Ghrayeb, Haitham Abu-Rub, Shady S. Refaat, Othmane Bouhali
2021 J jnl
IEEE Access
Mohamed Massaoudi, Haitham Abu-Rub, Shady S. Refaat, Mohamed Trabelsi, Ines Chihi, Fakhreddine S. Oueslati
2021 J jnl
IEEE Access
Dabeeruddin Syed, Haitham Abu-Rub, Ali Ghrayeb, Shady S. Refaat
2021 conf
SSD
Ali Teta, Abdellah Kouzou, Mohamed Mounir Rezaoui, Haitham Abu-Rub
2021 C conf
IECON
Dabeeruddin Syed, Haitham Abu-Rub, Ameema Zainab, Mahdi Houchati, Othmane Bouhali, Ali Ghrayeb, Shady S. Refaat
2021 conf
ISIE
Saad Khadar, Haitham Abu-Rub, Abdellah Kouzou
2021 C conf
IECON
Iresha Poonahela, Sertac Bayhan, Haitham Abu-Rub, Miroslav Begovic, Mohammad B. Shadmand
2021 J jnl
IEEE Trans. Ind. Electron.
Ahmad Khan, Silvanus D'silva, Amin Y. Fard, Mohammad B. Shadmand, Haitham Abu-Rub
2021 J jnl
IEEE Access
Md Rashid Hussain, Shady S. Refaat, Haitham Abu-Rub
2021 J jnl
IEEE Trans. Instrum. Meas.
Ahmad Darwish, Graeme Coapes, Shady S. Refaat, Haitham Abu-Rub, Hamid A. Toliyat
2021 conf
SSD
Saad Khadar, Haitham Abu-Rub, Abdellah Kouzou
2021 J jnl
IEEE Access
Dabeeruddin Syed, Ameema Zainab, Ali Ghrayeb, Shady S. Refaat, Haitham Abu-Rub, Othmane Bouhali
2020 C conf
IECON
Abdelbasset Krama, Shady S. Refaat, Haitham Abu-Rub
2020 J jnl
IEEE Trans. Ind. Electron.
Hamza Makhamreh, Mohamed Trabelsi, Ösman Kükrer, Haitham Abu-Rub
2020 C conf
IECON
Khaled Rayane, Atallah Benalia, Shady S. Refaat, Mohamed Trabelsi, Kamel Guesmi, Haitham Abu-Rub
2020 J jnl
IEEE Access
Khaled Rayane, Mohamed Bougrine, Abdelbasset Krama, Atallah Benalia, Mohamed Trabelsi, Haitham Abu-Rub
2020 conf
IEEE BigData
Dabeeruddin Syed, Haitham Abu-Rub, Shady S. Refaat, Le Xie
2020 J jnl
IEEE Access
Md Rashid Hussain, Qasim Khan, Asfar Ali Khan, Shady S. Refaat, Haitham Abu-Rub
2020 J jnl
IEEE Trans. Ind. Informatics
Yupeng Liu, Yushan Liu, Baoming Ge, Haitham Abu-Rub
2020 conf
IEEE BigData
Ameema Zainab, Ali Ghrayeb, Mahdi Houchati, Shady S. Refaat, Haitham Abu-Rub
2020 C conf
IECON
Saad Khadar, Abdellah Kouzou, Shady S. Refaat, Haitham Abu-Rub
2020 conf
ICIT
Ahmed Lakhdar Kouzou, Abdelbasset Krama, Shady S. Refaat, Haitham Abu-Rub
2020 C conf
IECON
Mohamed Massaoudi, Shady S. Refaat, Ines Chihi, Mohamed Trabelsi, Haitham Abu-Rub, Fakhreddine S. Oueslati
2019 conf
ISIE
Pandav Kiran Maroti, Rashid Al-Ammari, Atif Iqbal, Lazhar Ben-Brahim, Sanjeevikumar Padmanaban, Haitham Abu-Rub
2019 C conf
IECON
Hamza Makhamreh, Mohamed Trabelsi, Ösman Kükrer, Haitham Abu-Rub
2019 conf
IEEE BigData
Dabeeruddin Syed, Shady S. Refaat, Haitham Abu-Rub, Othmane Bouhali, Ameema Zainab, Le Xie
2019 J jnl
IEEE Access
Mitchell Easley, Sarthak Jain, Mohammad B. Shadmand, Haitham Abu-Rub
2019 conf
IINTEC
Sondes Gharsellaoui, Majdi Mansouri, Shady S. Refaat, Haitham Abu-Rub, Hassani Messaoud
2019 conf
IEEE BigData
Ameema Zainab, Shady S. Refaat, Dabeeruddin Syed, Ali Ghrayeb, Haitham Abu-Rub
2019 J jnl
IEEE Access
Sertac Bayhan, S. Sajjad Seyedalipour, Hasan Komurcugil, Haitham Abu-Rub
2019 conf
ISIE
Sertac Bayhan, Haitham Abu-Rub
2019 J jnl
IEEE Access
Ahmad Darwish, Shady S. Refaat, Hamid A. Toliyat, Haitham Abu-Rub
2019 conf
ICIT
Mohammad Meraj, Syed Rahman, Atif Iqbal, Lazhar Ben-Brahim, Rashid Alammari, Haitham Abu-Rub
2018 J jnl
IEEE Trans. Ind. Electron.
Yushan Liu, Haitham Abu-Rub, Yaosuo Xue, Fei Tao
2018 C conf
IECON
Sertac Bayhan, Hasan Komurcugil, Haitham Abu-Rub, Yushan Liu
2018 conf
ISIE
Sertac Bayhan, Haitham Abu-Rub
2018 J jnl
IEEE Trans. Ind. Electron.
Baoming Ge, Xiao Li, Haiyu Zhang, Yushan Liu, Robert S. Balog, Haitham Abu-Rub, Lance Alpuerto
2018 J jnl
IEEE Trans. Ind. Electron.
Weihua Liang, Yushan Liu, Baoming Ge, Haitham Abu-Rub, Robert S. Balog, Yaosuo Xue
2018 C conf
IECON
Lilia Sidhom, Ines Chihi, Mohamed Trabelsi, Haitham Abu-Rub
2018 conf
ISIE
Mohamed Trabelsi, Hani Vahedi, Hasan Komurcugil, Haitham Abu-Rub, Kamal Al-Haddad
2018 conf
ICIT
Mohamed Trabelsi, Hasan Komurcugil, Shady S. Refaat, Haitham Abu-Rub
2018 J jnl
IEEE Trans. Ind. Electron.
Hasan Komurcugil, Sertac Bayhan, Farzaneh Bagheri, Osman Kukrer, Haitham Abu-Rub
2018 conf
ISIE
Sertac Bayhan, Mohamed Trabelsi, Haitham Abu-Rub, Marco Rivera
2018 J jnl
IEEE Trans. Ind. Electron.
Mingzhu Guo, Yushan Liu, Baoming Ge, Haitham Abu-Rub
2018 J jnl
IEEE Trans. Ind. Informatics
Panagiotis E. Kakosimos, Haitham Abu-Rub
2018 J jnl
IEEE Trans. Ind. Electron.
Yushan Liu, Weihua Liang, Baoming Ge, Haitham Abu-Rub, Ning Nie
2018 conf
ICIT
Shady S. Refaat, Haitham Abu-Rub, Mohamed Trabelsi, Amira Mohamed
2018 J jnl
IEEE Trans. Syst. Man Cybern. Syst.
Xing He, Daniel W. C. Ho, Tingwen Huang, Junzhi Yu, Haitham Abu-Rub, Chaojie Li
2018 J jnl
IEEE Trans. Ind. Electron.
Baoming Ge, Yushan Liu, Haitham Abu-Rub, Fang Zheng Peng
2017 conf
ICIT
Yushan Liu, Baoming Ge, Haitham Abu-Rub
2017 conf
IEEE BigData
Shady S. Refaat, Amira Mohamed, Haitham Abu-Rub
2017 C conf
IECON
Mohamed Trabelsi, Haitham Abu-Rub, Lazhar Ben-Brahim, Yushan Liu
2017 J jnl
IEEE Trans. Ind. Electron.
Sertac Bayhan, Mohamed Trabelsi, Haitham Abu-Rub, Mariusz Malinowski
2017 J jnl
IEEE Trans. Ind. Electron.
Yushan Liu, Haitham Abu-Rub, Baoming Ge
2017 J jnl
IEEE Trans. Ind. Electron.
Yushan Liu, Haitham Abu-Rub, Baoming Ge
2017 conf
ICIT
Shady S. Refaat, Haitham Abu-Rub, Amira Mohamed, Mohamed Trabelsi
2017 conf
ISIE
Morcos Metry, Yushan Liu, Robert S. Balog, Haitham Abu-Rub
2017 conf
ISIE
Maoxing Li, Yushan Liu, Haitham Abu-Rub
2017 C conf
IECON
Yushan Liu, Haitham Abu-Rub, Yichang Wu, Baoming Ge, Mohamed Trabelsi
2017 conf
ISIE
Yi Li, Yushan Liu, Haitham Abu-Rub
2017 C conf
IECON
Sertac Bayhan, Haitham Abu-Rub, José I. Leon, Sergio Vazquez, Leopoldo García Franquelo
2017 C conf
IECON
Panagiotis E. Kakosimos, Sertac Bayhan, Haitham Abu-Rub
2017 C conf
IECON
Panagiotis E. Kakosimos, Sertac Bayhan, Haitham Abu-Rub
2017 J jnl
IEEE Trans. Cybern.
Huiwei Wang, Tingwen Huang, Xiaofeng Liao, Haitham Abu-Rub, Guo Chen
2017 J jnl
Proc. IEEE
Mariusz Malinowski, Jose Ignacio León Galván, Haitham Abu-Rub
2017 conf
ISGT
Shady S. Refaat, Haitham Abu-Rub, Amira Mohamed
2017 J jnl
IEEE Trans. Ind. Electron.
Hasan Komurcugil, Sertac Bayhan, Haitham Abu-Rub
2016 conf
ICIT
Mohamed Trabelsi, Haitham Abu-Rub, Baoming Ge
2016 C conf
IECON
Shunlong Xiao, Morcos Metry, Mohamed Trabelsi, Robert S. Balog, Haitham Abu-Rub
2016 J jnl
J. Frankl. Inst.
Zao Fu, Xing He, Tingwen Huang, Haitham Abu-Rub
2016 C conf
IECON
Sertac Bayhan, Mohamed Trabelsi, Omar Ellabban, Haitham Abu-Rub, Robert S. Balog
2016 C conf
IECON
Mohammad Meraj, Syed Rahman, Atif Iqbal, Lazhar Ben-Brahim, Rashid Alammari, Haitham Abu-Rub
2016 J jnl
IEEE Trans. Ind. Electron.
Baoming Ge, Yushan Liu, Haitham Abu-Rub, Robert S. Balog, Fang Zheng Peng, Hexu Sun, Xiao Li
2016 C conf
IECON
Yushan Liu, Baoming Ge, Haitham Abu-Rub
2016 conf
IEEE BigData
Shady S. Refaat, Haitham Abu-Rub, Amira Mohamed
2016 J jnl
Int. J. Circuit Theory Appl.
Xuyang You, Baoming Ge, Shuo Liu, Ning Nie, Xinjian Jiang, Haitham Abu-Rub
2016 J jnl
IEEE Trans. Ind. Informatics
Baoming Ge, Yushan Liu, Haitham Abu-Rub, Robert S. Balog, Fang Zheng Peng, Stephen McConnell, Xiao Li
2016 conf
ICIT
Mohamed Trabelsi, Sertac Bayhan, Haitham Abu-Rub, Lazhar Ben-Brahim, Pericle Zanchetta
2016 J jnl
IEEE Trans. Ind. Electron.
Mohamed Trabelsi, Sertac Bayhan, Khalid A. Ghazi, Haitham Abu-Rub, Lazhar Ben-Brahim
2016 J jnl
IEEE Trans. Ind. Informatics
Yushan Liu, Baoming Ge, Haitham Abu-Rub, Hexu Sun
2016 J jnl
J. Control. Decis.
Sofiane Khadraoui, Mohamed Amine Fnaiech, Hazem N. Nounou, Mohamed N. Nounou, Jaroslaw Guzinski, Haitham Abu-Rub, Aniruddha Datta, S. P. Bhattacharyya
2016 J jnl
IEEE Trans. Ind. Electron.
Sertac Bayhan, Haitham Abu-Rub, Robert S. Balog
2016 J jnl
IEEE Trans. Ind. Informatics
Yushan Liu, Baoming Ge, Haitham Abu-Rub, Hexu Sun, Fang Zheng Peng, Yaosuo Xue
2016 C conf
IECON
Sertac Bayhan, Panagiotis E. Kakosimos, Haitham Abu-Rub, José R. Rodríguez
2016 conf
ICIT
Yushan Liu, Yupeng Liu, Haitham Abu-Rub, Baoming Ge
2016 J jnl
IEEE Trans. Ind. Electron.
Lazhar Ben-Brahim, Adel Gastli, Mohamed Trabelsi, Khalid A. Ghazi, Mahdi Houchati, Haitham Abu-Rub
2016 conf
ICIT
Yushan Liu, Haitham Abu-Rub, Baoming Ge
2016 J jnl
IEEE Trans. Ind. Electron.
Huiwei Wang, Tingwen Huang, Xiaofeng Liao, Haitham Abu-Rub, Guo Chen
2016 J jnl
IEEE Trans. Ind. Electron.
Malek Ghanes, Mohamed Trabelsi, Haitham Abu-Rub, Lazhar Ben-Brahim
2016 C conf
IECON
Panagiotis E. Kakosimos, Sertac Bayhan, Haitham Abu-Rub
2015 C conf
IECON
Mohammad Meraj, Atif Iqbal, Lazhar Ben-Brahim, Rashid Alammari, Haitham Abu-Rub
2015 J jnl
Int. J. Circuit Theory Appl.
Shuo Liu, Baoming Ge, Xuyang You, Xinjian Jiang, Haitham Abu-Rub, Fang Zheng Peng
2015 C conf
IECON
Shady S. Refaat, Haitham Abu-Rub
2015 J jnl
IEEE Trans. Ind. Electron.
Dongsen Sun, Baoming Ge, Weihua Liang, Haitham Abu-Rub, Fang Zheng Peng
2015 J jnl
IEEE Trans. Ind. Electron.
Sk Moin Ahmed, Zainal Salam, Haitham Abu-Rub
2015 J jnl
IEEE Trans. Ind. Electron.
Sk Moin Ahmed, Haitham Abu-Rub, Zainal Salam
2015 J jnl
IEEE Trans. Ind. Electron.
Shuo Liu, Baoming Ge, Xinjian Jiang, Haitham Abu-Rub, Fang Zheng Peng
2015 J jnl
IEEE Trans. Ind. Electron.
Yushan Liu, Baoming Ge, Haitham Abu-Rub, Dongsen Sun
2015 C conf
IECON
Ahmad Anad Abduallah, Atif Iqbal, Mohammad Meraj, Lazhar Ben-Brahim, Rashid Alammari, Haitham Abu-Rub
2015 C conf
IECON
Morcos Metry, Mohammad B. Shadmand, Robert S. Balog, Haitham Abu-Rub
2015 conf
ICIT
Matias Aguirre, Samir Kouro, José Rodríguez, Haitham Abu-Rub
2015 C conf
IECON
Sertac Bayhan, Haitham Abu-Rub
2015 conf
ICIT
Shaikh Moinoddin, Haitham Abu-Rub, Atif Iqbal, Rashid Alammari
2015 conf
ISIE
Milan Darijevic, Martin Jones, Emil Levi, Atif Iqbal, Haitham Abu-Rub
2015 conf
ICIT
Atif Iqbal, Khaliqur Rahman, Rashid Al-Ammari, Haitham Abu-Rub
2015 J jnl
Int. J. Circuit Theory Appl.
Shuo Liu, Baoming Ge, Xinjian Jiang, Haitham Abu-Rub, Fang Zheng Peng
2015 conf
ICIT
Atif Iqbal, Khaliqur Rahman, Rashid Alammari, Haitham Abu-Rub
2014 J jnl
IEEE Trans. Ind. Informatics
Yushan Liu, Baoming Ge, Haitham Abu-Rub, Fang Zheng Peng
2014 J jnl
IEEE Trans. Ind. Electron.
Yushan Liu, Baoming Ge, Haitham Abu-Rub, Fang Zheng Peng
2014 C conf
IECON
Cristian Garcia, José R. Rodríguez, César A. Silva, Christian A. Rojas, Pericle Zanchetta, Haitham Abu-Rub
2014 conf
ISIE
Khaliqur Rahman, M. V. Aware, Atif Iqbal, Rashid Al-Ammari, Haitham Abu-Rub
2014 conf
ISIE
Sk Moin Ahmed, Haitham Abu-Rub, Zainal Salam, Atif Iqbal
2014 conf
ISIE
Atif Iqbal, Rashid Alammari, Mostafa Mosa, Haitham Abu-Rub
2014 conf
ISIE
Pawel Stec, Jaroslaw Guzinski, Patryk Strankowski, Atif Iqbal, Ahmad Anad Abduallah, Haitham Abu-Rub
2014 C conf
IECON
Sk Moin Ahmed, Haitham Abu-Rub, Zainal Salarti, Marco Rivera, Omar Ellabban
2014 conf
ISIE
Yushan Liu, Haitham Abu-Rub, Baoming Ge, Fang Zheng Peng
2014 C conf
IECON
Sk Moin Ahmed, Haitham Abu-Rub, Zainal Salam
2014 C conf
IECON
Mohammad B. Shadmand, Robert S. Balog, Haitham Abu-Rub
2014 C conf
IECON
Sertac Bayhan, Haitham Abu-Rub
2014 J jnl
IEEE Trans. Ind. Electron.
Dongsen Sun, Baoming Ge, Xingyu Yan, Daqiang Bi, Hao Zhang, Yushan Liu, Haitham Abu-Rub, Lazhar Ben-Brahim, Fang Zheng Peng
2014 C conf
IECON
Shady S. Refaat, Haitham Abu-Rub, Mohamed S. Saad, Atif Iqbal
2014 C conf
IECON
Omar Abdel-Rahim, Omar Ellabban, Haitham Abu-Rub
2014 C conf
IECON
Gamal M. Dousoky, Haitham Abu-Rub
2013 J jnl
IEEE Trans. Ind. Electron.
P. P. Rajeevan, K. Sivakumar, K. Gopakumar, Chintan Patel, Haitham Abu-Rub
2013 J jnl
IEEE Trans. Ind. Electron.
Baoming Ge, Haitham Abu-Rub, Fang Zheng Peng, Qin Lei, Aníbal T. de Almeida, Fernando J. T. E. Ferreira, Dongsen Sun, Yushan Liu
2013 C conf
IECON
Sk Moin Ahmed, Haitham Abu-Rub, Omar Ellabban
2013 C conf
IECON
Shaikh Moinoddin, Haitham Abu-Rub, Atif Iqbal
2013 C conf
IECON
Gamal M. Dousoky, Masahito Shoyama, Haitham Abu-Rub
2013 conf
SSD
Majdi Mansouri, Mostefa Mohamed-Seghir, Hazem N. Nounou, Mohamed N. Nounou, Haitham Abu-Rub
2013 C conf
IECON
Omar Ellabban, Haitham Abu-Rub, Baoming Ge
2013 C conf
IECON
Omar Ellabban, Haitham Abu-Rub
2013 C conf
IECON
Mostafa Mosa, Haitham Abu-Rub, José Rodríguez
2013 C conf
IECON
Javier Echeverria, Samir Kouro, Marcelo A. Pérez, Haitham Abu-Rub
2013 conf
SSD
Abdellah Kouzou, Saifullah Payami, Atif Iqbal, Haitham Abu-Rub
2013 C conf
IECON
Omar Ellabban, Haitham Abu-Rub, José Rodríguez
2013 C conf
IECON
Sk Moin Ahmed, Haitham Abu-Rub, Zainal Salam, Atif Iqbal
2013 C conf
IECON
Sk Moin Ahmed, Haitham Abu-Rub, Zainal Salam, Abdellah Kouzou
2013 J jnl
IEEE Trans. Ind. Electron.
Jaroslaw Guzinski, Haitham Abu-Rub
2013 J jnl
IEEE Trans. Ind. Informatics
José R. Rodríguez, Marian P. Kazmierkowski, José R. Espinoza, Pericle Zanchetta, Haitham Abu-Rub, Héctor A. Young, Christian A. Rojas
2013 conf
SSD
Majdi Mansouri, Mostefa Mohamed-Seghir, Hazem N. Nounou, Mohamed N. Nounou, Haitham Abu-Rub
2012 conf
ISIE
Dongsen Sun, Baoming Ge, Fang Zheng Peng, Haitham Abu-Rub, Daqiang Bi, Yushan Liu
2012 conf
ISIE
Marcelo A. Pérez, Christian A. Rojas, José R. Rodríguez, Haitham Abu-Rub
2012 conf
ISIE
Yushan Liu, Haitham Abu-Rub, Baoming Ge, Fang Zheng Peng, Aníbal T. de Almeida, Fernando J. T. E. Ferreira
2012 C conf
IECON
Yushan Liu, Haitham Abu-Rub, Baoming Ge, Fang Zheng Peng
2012 C conf
IECON
Omar Ellabban, Haitham Abu-Rub
2012 J jnl
IEEE Trans. Ind. Informatics
Marco Rivera, José R. Rodríguez, José R. Espinoza, Haitham Abu-Rub
2012 C conf
IECON
Mostafa Mosa, Haitham Abu-Rub, Mahrous E. Ahmed, José Rodríguez
2012 C conf
IECON
Shuo Liu, Baoming Ge, Haitham Abu-Rub, Fang Zheng Peng, Yushan Liu
2011 J jnl
IEEE Trans. Ind. Electron.
Sk Moin Ahmed, Atif Iqbal, Haitham Abu-Rub
2011 J jnl
IEEE Trans. Ind. Electron.
Sk Moin Ahmed, Atif Iqbal, Haitham Abu-Rub, José R. Rodríguez, Christian A. Rojas, Mohammad Saleh
2011 J jnl
IEEE Trans. Ind. Electron.
Arkadiusz Lewicki, Zbigniew Krzeminski, Haitham Abu-Rub
2010 J jnl
IEEE Trans. Ind. Electron.
Baoming Ge, Fang Zheng Peng, Aníbal T. de Almeida, Haitham Abu-Rub
2010 J jnl
IEEE Trans. Ind. Electron.
Haitham Abu-Rub, Joachim Holtz, José R. Rodríguez, Baoming Ge
2010 J jnl
IEEE Trans. Ind. Electron.
Patricio Cortes, Alan Wilson, Samir Kouro, José R. Rodríguez, Haitham Abu-Rub
2010 J jnl
IEEE Trans. Ind. Electron.
Jaroslaw Guzinski, Haitham Abu-Rub, Marc Diguet, Zbigniew Krzeminski, Arkadiusz Lewicki
2009 J jnl
IEEE Trans. Ind. Electron.
Jaroslaw Guzinski, Marc Diguet, Zbigniew Krzeminski, Arkadiusz Lewicki, Haitham Abu-Rub
2004 J jnl
IEEE Trans. Ind. Electron.
Haitham Abu-Rub, Jaroslaw Guzinski, Zbigniew Krzeminski, Hamid A. Toliyat
2004 J jnl
IEEE Trans. Ind. Electron.
Haitham Abu-Rub, Jaroslaw Guzinski, Zbigniew Krzeminski, Hamid A. Toliyat
tests/unit/conftest.py
← Index tests/unit/conftest.py python
"""
Unit test configuration.

Replaces the redb.extractors package with a minimal stub so that
``from redb.extractors.database_exporters import ...`` works without
pulling in the heavy __init__.py import chain (pefile, elftools,
signify, magic, etc.).

Also stubs out redb.settings so that Elasticsearch / ClickHouse
clients are never actually created during unit tests.

Additionally installs binaryninja stubs for decompiler unit tests.

Stubs heavy third-party packages (pefile, magic, psutil, etc.) so that
redb.workers, redb.queries, redb.ingestor, and redb.s3_utils can all
be imported and patched in unit tests without requiring the real packages.
"""
import sys
import types
from pathlib import Path
from unittest.mock import MagicMock

# ---------------------------------------------------------------------------
# 0. Install binaryninja stubs FIRST — must happen before any decompiler
#    module is imported (triggered by __init__.py chain).
# ---------------------------------------------------------------------------
from tests.unit.conftest_binja_stubs import install_binja_stubs as _install_binja_stubs
_install_binja_stubs()

# ---------------------------------------------------------------------------
# 1. Stub external packages required by database_exporters.py itself,
#    the decompiler chain, and the workers/ingestor modules.
# ---------------------------------------------------------------------------
_heavy_deps = [
    # Database / networking
    "elasticsearch", "clickhouse_connect", "dotenv",
    # Binary analysis — top-level packages
    "pefile", "magic", "machofile",
    # Archive handling
    "py7zr", "pyzipper",
    # File type detection
    "magika",
    # System monitoring
    "psutil",
    # S3 / MinIO (submodule paths needed for `from minio.error import S3Error`)
    "minio", "minio.error",
    # YARA
    "yara_x",
    # Binary parsing — elftools tree
    "elftools", "elftools.elf", "elftools.elf.elffile",
    "elftools.common", "elftools.common.exceptions",
    # Code signing — signify tree
    "signify", "signify.fingerprinter", "signify.authenticode",
    # LIEF
    "lief",
    # Fuzzy hashing
    "ppdeep",
    # .NET analysis
    "dotnetfile",
    # Crypto / ASN.1
    "asn1crypto", "asn1crypto.cms", "asn1crypto.pem", "asn1crypto.x509", "asn1crypto.core",
    # Hashing
    "xxhash", "blake3", "mmh3", "numpy",
    # APK analysis
    "androguard", "androguard.core", "androguard.core.apk",
    "androguard.core.dex", "androguard.core.api_specific_resources",
    "androguard.misc",
    "permhash",
]
for _mod in _heavy_deps:
    if _mod not in sys.modules:
        try:
            __import__(_mod)
        except (ImportError, ModuleNotFoundError):
            sys.modules[_mod] = MagicMock()

# Stub urllib3 with a real Warning subclass (warnings.filterwarnings needs a class)
if "urllib3" not in sys.modules or isinstance(sys.modules.get("urllib3"), MagicMock):
    try:
        import urllib3  # noqa: F401
    except (ImportError, ModuleNotFoundError):
        _urllib3_mod = types.ModuleType("urllib3")
        _urllib3_exc = types.ModuleType("urllib3.exceptions")

        class _InsecureRequestWarning(UserWarning):
            pass

        _urllib3_exc.InsecureRequestWarning = _InsecureRequestWarning
        _urllib3_mod.exceptions = _urllib3_exc
        sys.modules["urllib3"] = _urllib3_mod
        sys.modules["urllib3.exceptions"] = _urllib3_exc

# Provide a functional ppdeep stub (tests call ppdeep.hash() and expect a string).
# Must overwrite the MagicMock that the loop above may have installed.
_ppdeep_existing = sys.modules.get("ppdeep")
if _ppdeep_existing is None or isinstance(_ppdeep_existing, MagicMock):
    _ppdeep_mod = types.ModuleType("ppdeep")
    _ppdeep_mod.__name__ = "ppdeep"

    def _ppdeep_hash(data):
        """Fake ssdeep hash — returns a deterministic placeholder."""
        if isinstance(data, str):
            data = data.encode("utf-8")
        if len(data) < 50:
            return None
        import hashlib
        h = hashlib.md5(data).hexdigest()
        return f"3:{h[:16]}:{h[16:]}"

    _ppdeep_mod.hash = _ppdeep_hash
    sys.modules["ppdeep"] = _ppdeep_mod

# Stub mmh3 if the C extension is not available
_mmh3_existing = sys.modules.get("mmh3")
if _mmh3_existing is None or isinstance(_mmh3_existing, MagicMock):
    _mmh3_mod = types.ModuleType("mmh3")
    _mmh3_mod.__name__ = "mmh3"

    def _mmh3_hash(data, seed=0):
        """Fake MurmurHash3 — deterministic hash using built-in hashlib."""
        import hashlib
        if isinstance(data, str):
            data = data.encode("utf-8")
        seed_bytes = (seed & 0xFFFFFFFF).to_bytes(8, "little")
        h = hashlib.md5(data + seed_bytes).digest()
        return int.from_bytes(h[:4], "little", signed=True)

    _mmh3_mod.hash = _mmh3_hash
    sys.modules["mmh3"] = _mmh3_mod

# Stub tlsh if the C extension is not available
if "tlsh" not in sys.modules:
    try:
        import tlsh as _real_tlsh  # noqa: F401
    except (ImportError, ModuleNotFoundError):
        _tlsh_mock = types.ModuleType("tlsh")
        _tlsh_mock.__name__ = "tlsh"

        def _tlsh_hash(data):
            """Fake TLSH hash — returns a deterministic placeholder.

            Returns empty string for data < 50 bytes or data with very
            low entropy (e.g. repeating patterns), mimicking the real
            TLSH library's "TNULL" behaviour.
            """
            if isinstance(data, str):
                data = data.encode("utf-8")
            if len(data) < 50:
                return ""
            # Real TLSH returns "" for low-entropy input
            if len(set(data)) < 8:
                return ""
            import hashlib
            return "T1" + hashlib.sha256(data).hexdigest()[:70].upper()

        _tlsh_mock.hash = _tlsh_hash
        sys.modules["tlsh"] = _tlsh_mock

# ---------------------------------------------------------------------------
# 2. Stub redb.settings (package) so module-level code never runs
# ---------------------------------------------------------------------------
_settings_mock = MagicMock()
_settings_mock.__name__ = "redb.settings"
sys.modules["redb.settings"] = _settings_mock
sys.modules["redb.settings.elasticsearch"] = MagicMock()
sys.modules["redb.settings.clickhouse"] = MagicMock()

# ---------------------------------------------------------------------------
# 3. Replace redb.extractors with a minimal package that does NOT eagerly
#    import every extractor (and their heavy deps).  Sub-module imports
#    like ``from redb.extractors.database_exporters import ...`` still work
#    because __path__ points to the real package directory.
# ---------------------------------------------------------------------------
_repo_root = Path(__file__).resolve().parents[2]
_extractors_pkg = types.ModuleType("redb.extractors")
_extractors_pkg.__path__ = [str(_repo_root / "redb" / "extractors")]
_extractors_pkg.__package__ = "redb.extractors"
sys.modules["redb.extractors"] = _extractors_pkg

# ---------------------------------------------------------------------------
# 4. Force-import redb submodules so that @patch('redb.workers.xxx'),
#    @patch('redb.queries.xxx'), etc. can resolve at decoration time.
#    This works because all heavy deps are already stubbed above.
# ---------------------------------------------------------------------------
import redb.logging_utils   # noqa: F401, E402
import redb.s3_utils         # noqa: F401, E402
import redb.queries          # noqa: F401, E402
import redb.workers          # noqa: F401, E402
import redb.ingestor         # noqa: F401, E402