Hamid-Reza Bahrami

72 papers B 8C 1Misc 2Journal 37Unranked 24
YearRankTypeTitle / Venue / Authors
2026 J jnl
IEEE Commun. Lett.
Mehdi Hosseinali Zadeh, Tarig Sadig, Mehdi Maleki, Nghi H. Tran, Hamid-Reza Bahrami
2025 conf
ICC
Mehdi Hosseinali Zadeh, Mehdi Maleki, Nghi H. Tran, Hamid-Reza Bahrami
2023 J jnl
IEEE Trans. Mol. Biol. Multi Scale Commun.
Musaab Saeed, Mehdi Maleki, Hamid-Reza Bahrami
2023 B conf
WCNC
Tarig Sadig, Mehdi Maleki, Nghi H. Tran, Hamid-Reza Bahrami
2023 conf
WTS 2023
Tarig Sadig, Mehdi Maleki, Nghi H. Tran, Hamid-Reza Bahrami
2022 J jnl
IEEE Trans. Mol. Biol. Multi Scale Commun.
Musaab Saeed, Mehdi Maleki, Pedram Mohseni, Hamid-Reza Bahrami
2020 J jnl
IEEE Trans. Commun.
Tarig Sadig, Mehdi Maleki, Nghi H. Tran, Hamid-Reza Bahrami
2020 J jnl
IEEE Trans. Circuits Syst.
Hossein Zamani, Hamid-Reza Bahrami, Paul A. Garris, Pedram Mohseni
2019 J jnl
IEEE Trans. Smart Grid
Ehsan Saeidpour Parizy, Hamid-Reza Bahrami, Seungdeog Choi
2018 J jnl
IEEE Trans. Veh. Technol.
Husam Elfadil, Mehdi Maleki, Hamid-Reza Bahrami
2018 J jnl
IEEE Trans. Commun.
Mehdi Sadeghzadeh, Mehdi Maleki, Masoud Salehi, Hamid-Reza Bahrami
2018 J jnl
IEEE Trans. Commun.
Husam Elfadil, Mehdi Maleki, Nader Behdad, Hamid-Reza Bahrami
2017 conf
ICC
Mehdi Sadeghzadeh, Mehdi Maleki, Masoud Salehi, Hamid-Reza Bahrami
2017 J jnl
IEEE Trans. Mol. Biol. Multi Scale Commun.
Ardalan Alizadeh, Hamid-Reza Bahrami, Mehdi Maleki, Nghi H. Tran, Pedram Mohseni
2016 conf
SPAWC
Khalil Elkhalil, Mohammed Eltayeb, Abla Kammoun, Tareq Y. Al-Naffouri, Hamid-Reza Bahrami
2016 J jnl
Wirel. Commun. Mob. Comput.
Mehdi Sadeghzadeh, Hamid-Reza Bahrami, Nghi H. Tran
2016 conf
ICC
Mohammad Ranjbar, Nghi H. Tran, Mustafa Cenk Gursoy, Hamid-Reza Bahrami
2016 J jnl
IEEE Trans. Wirel. Commun.
Mehdi Maleki, Hamid-Reza Bahrami, Ardalan Alizadeh
2016 J jnl
IEEE Trans. Wirel. Commun.
Mehdi Maleki, Hamid-Reza Bahrami, Ardalan Alizadeh
2016 J jnl
IEEE Trans. Commun.
Khalil Elkhalil, Mohammed E. Eltayeb, Abla Kammoun, Tareq Y. Al-Naffouri, Hamid-Reza Bahrami
2016 J jnl
IEEE Trans. Commun.
Ardalan Alizadeh, Hamid-Reza Bahrami, Mehdi Maleki
2015 conf
ICC
Mehdi Maleki, Hamid-Reza Bahrami, Ardalan Alizadeh
2015 J jnl
IEEE Trans. Ind. Electron.
Seungdeog Choi, Elham Pazouki, Jeihoon Baek, Hamid-Reza Bahrami
2015 J jnl
IEEE Trans. Commun.
Krishna Ram Budhathoki, Mehdi Maleki, Hamid-Reza Bahrami
2015 J jnl
CoRR
Khalil M. Elkhalil, Mohammed Eltayeb, Abla Kammoun, Tareq Y. Al-Naffouri, Hamid-Reza Bahrami
2015 J jnl
IEEE Trans. Commun.
Mohammed E. Eltayeb, Khalil Elkhalil, Hamid-Reza Bahrami, Tareq Y. Al-Naffouri
2015 J jnl
IEEE J. Sel. Areas Commun.
Ardalan Alizadeh, Hamid-Reza Bahrami, Mehdi Maleki, Shivakumar Sastry
2014 J jnl
IEEE Commun. Lett.
Mehdi Maleki, Hamid-Reza Bahrami, Ardalan Alizadeh
2014 J jnl
IEEE Trans. Veh. Technol.
Mehdi Maleki, Hamid-Reza Bahrami
2014 J jnl
IEEE Trans. Commun.
Mohammed Eltayeb, Tareq Y. Al-Naffouri, Hamid-Reza Bahrami
2014 B conf
WCNC
Mohammed Eltayeb, Tareq Y. Al-Naffouri, Hamid-Reza Bahrami
2014 conf
VTC Spring
Tuyen X. Tran, Nghi H. Tran, Trung Quang Duong, Maged Elkashlan, Hamid-Reza Bahrami
2014 J jnl
IEEE Trans. Commun.
Tuyen X. Tran, Nghi H. Tran, Hamid-Reza Bahrami, Shivakumar Sastry
2014 J jnl
IEEE Trans. Commun.
Mehdi Maleki, Hamid-Reza Bahrami, Ardalan Alizadeh, Nghi H. Tran
2014 B conf
GLOBECOM
Khalil Elkhalil, Mohammed Eltayeb, Hussain Shibli, Hamid-Reza Bahrami, Tareq Y. Al-Naffouri
2014 J jnl
CoRR
Ardalan Alizadeh, Hamid-Reza Bahrami, Mehdi Maleki, Shivakumar Sastry
2013 conf
VTC Spring
Mohammadmehdi Kafashan, Sajjad Beygi, Mehdi Maleki, Ahmad Danaee, Nghi H. Tran, Hamid-Reza Bahrami
2013 Misc conf
ICNC
Mehdi Sadeghzadeh, Hamid-Reza Bahrami, Nghi H. Tran
2013 conf
VTC Spring
Tuyen X. Tran, Nghi H. Tran, Hamid-Reza Bahrami, Hang Dinh, Shivakumar Sastry
2013 conf
VTC Spring
Ardalan Alizadeh, Hamid-Reza Bahrami
2013 conf
ICC
Tuyen X. Tran, Nghi H. Tran, Hamid-Reza Bahrami
2013 conf
VTC Fall
Krishna Ram Budhathoki, Mehdi Maleki, Hamid-Reza Bahrami
2013 conf
ICC
Ahmad Danaee, Hamid-Reza Bahrami, Mehdi Sadeghzadeh
2013 J jnl
IEEE Trans. Veh. Technol.
Nghi H. Tran, Leonardo Jiménez Rodríguez, Tho Le-Ngoc, Hamid-Reza Bahrami
2013 Misc conf
ICNC
Krishna Ram Budhathoki, Mehdi Maleki, Hamid-Reza Bahrami
2013 J jnl
IEEE Trans. Veh. Technol.
Mehdi Maleki, Hamid-Reza Bahrami, Sajjad Beygi, Mohammadmehdi Kafashan, Nghi H. Tran
2013 J jnl
IEEE Trans. Veh. Technol.
Sajjad Beygi, Mohammadmehdi Kafashan, Hamid-Reza Bahrami, Tho Le-Ngoc, Mehdi Maleki
2012 conf
GLOBECOM Workshops
Mohammed Eltayeb, Hamid-Reza Bahrami
2012 conf
ISGT
Samuel Ghebremariam, Sajjad Beygi, Hamid-Reza Bahrami, Yilmaz Sozer, Hamed Mohsenian Rad
2012 conf
ICC
Ahmad Danaee, Mehdi Maleki, John S. Kota, Hamid-Reza Bahrami
2011 B conf
GLOBECOM
Shashwat Jnawali, Sajjad Beygi, Hamid-Reza Bahrami
2011 C conf
ISCAS
Arjuna Madanayake, Hamid-Reza Bahrami, Leonard T. Bruton
2011 J jnl
Int. J. Commun. Syst.
Hamid-Reza Bahrami, Tho Le-Ngoc
2011 conf
VTC Fall
Mohammed Eltayeb, Hamid-Reza Bahrami, Yahya Al-Harthi, Sajjad Beygi
2011 conf
VTC Fall
Mehdi Sadeghzadeh, Sajjad Beygi, Hamid-Reza Bahrami
2011 J jnl
Phys. Commun.
Mohammed Eltayeb, Yahya Al-Harthi, Hamid-Reza Bahrami
2011 conf
VTC Fall
Ahmad Danaee, Hamid-Reza Bahrami
2011 conf
VTC Fall
Shashwat Jnawali, Sajjad Beygi, Hamid-Reza Bahrami
2011 B conf
GLOBECOM
Sajjad Beygi, Hamid-Reza Bahrami, Tho Le-Ngoc
2010 J jnl
Commun. Netw.
Hamid-Reza Bahrami, Tho Le-Ngoc
2010 J jnl
Int. J. Commun. Netw. Syst. Sci.
Hamid-Reza Bahrami, Tho Le-Ngoc
2008 J jnl
IEEE Trans. Veh. Technol.
Hamid-Reza Bahrami, Tho Le-Ngoc
2008 conf
ICC
Hamid-Reza Bahrami, Tho Le-Ngoc
2007 B conf
WCNC
Hamid-Reza Bahrami, Tho Le-Ngoc
2007 J jnl
EURASIP J. Adv. Signal Process.
Hamid-Reza Bahrami, Tho Le-Ngoc
2007 conf
ICC
Hamid-Reza Bahrami, Tho Le-Ngoc
2007 B conf
GLOBECOM
Hamid-Reza Bahrami, Tho Le-Ngoc
2006 B conf
GLOBECOM
Hamid-Reza Bahrami, Tho Le-Ngoc
2006 J jnl
IEEE Trans. Wirel. Commun.
Hamid-Reza Bahrami, Tho Le-Ngoc
2005 conf
WiMob (1)
Hamid-Reza Bahrami, Tho Le-Ngoc
2005 conf
ICC
Hamid-Reza Bahrami, Tho Le-Ngoc, Amir Masoud Nasri Nasrabadi, Seyed Hamidreza Jamali
2004 J jnl
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.
Safar Hatami, M. Yaser Azizi, Hamid-Reza Bahrami, Davoud Motavalizadeh-Naeini, Ali Afzali-Kusha
tests/scripts/test_linking.py
← Index tests/scripts/test_linking.py python
#!/usr/bin/env python3
"""
Test script to verify the linking between decompiled and disassembled functions.
"""

import sys
import os
from pathlib import Path

# Add the redb directory to the path
sys.path.insert(0, str(Path(__file__).parent / "redb"))

from redb.extractors.decompiler.DecompileBinja import DecompileBinja
import logging

def test_linking():
    """Test that decompiled and disassembled functions are properly linked."""
    
    # Setup logging
    logging.basicConfig(level=logging.INFO)
    logger = logging.getLogger("test_linking")
    
    # Use a simple test binary (you'll need to provide a path to a test binary)
    test_binary = "test_files/hello"  # Adjust this path as needed
    
    if not os.path.exists(test_binary):
        print(f"Test binary not found: {test_binary}")
        print("Please provide a valid binary path for testing")
        return False
    
    try:
        # Create and run the extractor
        with DecompileBinja(test_binary, logger) as extractor:
            success = extractor.extract()
            
            if not success:
                print("Extraction failed")
                return False
            
            # Get the analysis results
            results = extractor.analysis_results
            
            if not results:
                print("No analysis results")
                return False
            
            print(f"Analysis completed successfully")
            print(f"Decompiled functions: {len(results['decompiled'])}")
            print(f"Disassembled functions: {len(results['disassembled'])}")
            
            # Test linking
            linking_issues = []
            linked_pairs = 0
            decompiled_only = 0
            disassembled_only = 0
            
            # Check decompiled functions have proper linking
            for decomp_func in results['decompiled']:
                decomp_hash = decomp_func.get('decompiled_function_hash')
                disasm_hash = decomp_func.get('disassembled_function_hash')
                
                if disasm_hash is None:
                    decompiled_only += 1
                    print(f"⚠️  Decompiled function {decomp_func.get('decompiled_function_name')} has no disassembled link (decompiled-only)")
                else:
                    linked_pairs += 1
                    print(f"✓ Decompiled function {decomp_func.get('decompiled_function_name')} linked to disassembled hash: {disasm_hash[:16]}...")
            
            # Check disassembled functions have proper linking
            for disasm_func in results['disassembled']:
                disasm_hash = disasm_func.get('disassembled_function_hash')
                decomp_hash = disasm_func.get('decompiled_function_hash')
                
                if decomp_hash is None:
                    disassembled_only += 1
                    print(f"⚠️  Disassembled function {disasm_func.get('disassembled_function_name')} has no decompiled link (disassembled-only)")
                else:
                    print(f"✓ Disassembled function {disasm_func.get('disassembled_function_name')} linked to decompiled hash: {decomp_hash[:16]}...")
            
            # Verify cross-references are consistent
            decompiled_hashes = {f['decompiled_function_hash']: f for f in results['decompiled']}
            disassembled_hashes = {f['disassembled_function_hash']: f for f in results['disassembled']}
            
            for decomp_func in results['decompiled']:
                decomp_hash = decomp_func.get('decompiled_function_hash')
                disasm_hash = decomp_func.get('disassembled_function_hash')
                
                if disasm_hash and disasm_hash in disassembled_hashes:
                    corresponding_disasm = disassembled_hashes[disasm_hash]
                    if corresponding_disasm.get('decompiled_function_hash') != decomp_hash:
                        linking_issues.append(f"Inconsistent linking: decompiled {decomp_hash[:16]}... -> disassembled {disasm_hash[:16]}... but reverse link doesn't match")
            
            # Summary
            print(f"\n📊 Linking Summary:")
            print(f"  - Linked function pairs: {linked_pairs}")
            print(f"  - Decompiled-only functions: {decompiled_only}")
            print(f"  - Disassembled-only functions: {disassembled_only}")
            print(f"  - Total functions processed: {len(results['decompiled']) + len(results['disassembled'])}")
            
            if linking_issues:
                print(f"\n❌ Linking issues found:")
                for issue in linking_issues:
                    print(f"  - {issue}")
                return False
            else:
                print(f"\n✅ All linking tests passed!")
                print(f"✅ Cross-references are consistent!")
                return True
                
    except Exception as e:
        print(f"Test failed with exception: {e}")
        return False

if __name__ == "__main__":
    success = test_linking()
    sys.exit(0 if success else 1)