Ran Jin

72 papers A* 1B 3C 1Misc 1Journal 48Unranked 18
YearRankTypeTitle / Venue / Authors
2026 J jnl
IEEE Signal Process. Lett.
Ruiqi Luo, Ran Jin, Kaixi Hu, Chenmiao Gao, Xinrong Hu
2026 A* conf
AAAI
Xiaona Zhou, Yingyan Zeng, Ran Jin, Ismini Lourentzou
2025 J jnl
Int. J. Comput. Intell. Syst.
Ran Jin, Tao Jin, Zhengang Li, Tianzi Wu, Ya Wang, Qinghui Zhu, Min Luo
2025 conf
ICDM (Workshops)
Xuancheng Jin, Yingyan Zeng, Hui Liu, Ran Jin
2025 conf
CASE
Hui Liu, Guixiu Qiao, Pavel Piliptchak, James Moore, Daniela Sawyer, Yingyan Zeng, Ran Jin
2025 C conf
QRS
Jiangqin Fu, Ruiqi Luo, Ran Jin
2025 Misc conf
CSR
Yingyan Zeng, Ismini Lourentzou, Xinwei Deng, Ran Jin
2025 J jnl
CoRR
Yingyan Zeng, Ismini Lourentzou, Xinwei Deng, Ran Jin
2025 J jnl
CoRR
Ruiqi Luo, Ran Jin, Zhenglong Li, Kaixi Hu, Xiaohui Tao, Lin Li
2025 J jnl
CoRR
Xiaona Zhou, Yingyan Zeng, Ran Jin, Ismini Lourentzou
2025 J jnl
IEEE Trans Autom. Sci. Eng.
Yingyan Zeng, Xiaona Zhou, Premith Kumar Chilukuri, Ismini Lourentzou, Ran Jin
2025 J jnl
Qual. Reliab. Eng. Int.
Yuhang Zhou, Ran Jin, Peihua Qiu
2025 conf
ICDM (Workshops)
Yu Wang, Ran Jin, Lulu Kang
2025 J jnl
CoRR
Yu Wang, Ran Jin, Lulu Kang
2025 J jnl
Inf. Sci.
Xiaozhe Gu, Zixun Zhang, Ran Jin, Rick Siow Mong Goh, Tao Luo
2024 J jnl
IEEE Access
Jie Yuan, Ran Jin, Lidong Wang
2024 J jnl
IEEE Trans. Instrum. Meas.
Jie Yuan, Ran Jin, Lidong Wang, Ting Wang
2024 J jnl
EURASIP J. Image Video Process.
Ran Jin, Tengda Hou, Tao Jin, Jie Yuan, Chenjie Du
2024 J jnl
ACM Trans. Intell. Syst. Technol.
Yingyan Zeng, Xiaoyu Chen, Ran Jin
2024 J jnl
Multim. Tools Appl.
Chenjie Du, Chenwei Lin, Ran Jin, Bencheng Chai, Yingbiao Yao, Siyu Su
2024 J jnl
IEEE Trans. Ind. Informatics
Xiaoyu Chen, Ran Jin
2024 J jnl
IEEE Trans. Ind. Informatics
Lening Wang, Xi Vincent Wang, Qinglei Ji, Lihui Wang, Ran Jin
2024 B conf
IJCNN
Xiaozhe Gu, Ran Jin, Mingliang Li
2023 J jnl
Technometrics
Xiaoyu Chen, Xiaoning Kang, Ran Jin, Xinwei Deng
2023 J jnl
J. Intell. Manuf.
Sungku Kang, Ran Jin, Xinwei Deng, Ron S. Kenett
2023 J jnl
CoRR
Yingyan Zeng, Xiaoyu Chen, Ran Jin
2023 conf
SaTML
Yingyan Zeng, Jiachen T. Wang, Si Chen, Hoang Anh Just, Ran Jin, Ruoxi Jia
2023 J jnl
IEEE Trans Autom. Sci. Eng.
Yifu Li, Hao Yan, Ran Jin
2023 J jnl
ACM Trans. Multim. Comput. Commun. Appl.
Song Yang, Qiang Li, Wenhui Li, Xuanya Li, Ran Jin, Bo Lv, Rui Wang, Anan Liu
2023 conf
CASE
Yingyan Zeng, Prithivrajan Thiyagarajan, Brian M. Chan, Ran Jin
2022 J jnl
ACM Trans. Comput. Heal.
Parshin Shojaee, Xiaoyu Chen, Ran Jin
2022 conf
ICPS
Yingyan Zeng, Parshin Shojaee, Syed Hasib Akhter Faruqui, Adel Alaeddini, Ran Jin
2022 J jnl
IISE Trans.
Lening Wang, Xiaoyu Chen, Daniel Henkel, Ran Jin
2022 J jnl
ACM Trans. Intell. Syst. Technol.
Xiaoyu Chen, Yingyan Zeng, Sungku Kang, Ran Jin
2022 J jnl
ACM Trans. Internet Things
Yifu Li, Lening Wang, Dongyoon Lee, Ran Jin
2022 B conf
IEEE Big Data
Parshin Shojaee, Yingyan Zeng, Muntasir Wahed, Avi Seth, Ran Jin, Ismini Lourentzou
2021 J jnl
J. Comput. Inf. Sci. Eng.
Sungku Kang, Xinwei Deng, Ran Jin
2021 J jnl
IEEE Trans. Ind. Informatics
Xiaoyu Chen, Ran Jin
2021 J jnl
CoRR
Parshin Shojaee, Xiaoyu Chen, Ran Jin
2021 conf
ICPS
Parshin Shojaee, Yingyan Zeng, Xiaoyu Chen, Ran Jin, Xinwei Deng, Chuck Zhang
2021 J jnl
CoRR
Yingyan Zeng, Tianhao Wang, Si Chen, Hoang Anh Just, Ran Jin, Ruoxi Jia
2021 J jnl
Sensors
Lening Wang, Pang Du, Ran Jin
2021 J jnl
Comput. Methods Programs Biomed.
Qing Lan, Yifu Li, John Robertson, Ran Jin
2021 J jnl
IISE Trans.
Xiaoning Kang, Xiaoyu Chen, Ran Jin, Hao Wu, Xinwei Deng
2021 J jnl
ACM Trans. Interact. Intell. Syst.
Xiaoyu Chen, Nathan Lau, Ran Jin
2021 conf
CASE
Vignesh Raja Nallendran, Lening Wang, Ran Jin
2021 conf
ICCDA
Ran Jin, Chunhua Wu
2020 conf
ICPS
Lening Wang, Yutong Zhang, Ran Jin
2020 J jnl
Bioinform.
Cheng Peng, Jun Wang, Isaac Asante, Stan Louie, Ran Jin, Lida Chatzi, Graham Casey, Duncan C. Thomas, David V. Conti
2020 J jnl
IISE Trans.
Yifu Li, Hongyue Sun, Xinwei Deng, Chuck Zhang, Hsu-Pin (Ben) Wang, Ran Jin
2020 conf
CASE
Lening Wang, Yutong Zhang, Xiaoyu Chen, Ran Jin
2020 J jnl
IISE Trans.
Hongyue Sun, Ran Jin, Yuan Luo
2019 J jnl
J. Am. Medical Informatics Assoc.
Yifu Li, Ran Jin, Yuan Luo
2019 conf
ICPS
Yutong Zhang, Lening Wang, Xiaoyu Chen, Ran Jin
2019 conf
RICAI
Yunpeng Liu, Renfang Wang, Ran Jin, Dechao Sun, Huixia Xu, Chen Dong
2018 J jnl
KSII Trans. Internet Inf. Syst.
Ran Jin, Gang Chen, Anthony K. H. Tung, Lidan Shou, Beng Chin Ooi
2018 B conf
ICIP
Yunpeng Liu, Wenli Cai, Guobin Hong, Renfang Wang, Ran Jin
2018 J jnl
EURASIP J. Wirel. Commun. Netw.
Ran Jin, Gang Chen, Anthony K. H. Tung, Lidan Shou, Beng Chin Ooi, Yuting Gu
2018 conf
CASE
Xiaoyu Chen, Ran Jin
2018 J jnl
IEEE Trans Autom. Sci. Eng.
Hongyue Sun, Prahalad K. Rao, Zhenyu James Kong, Xinwei Deng, Ran Jin
2018 J jnl
Comput. Methods Programs Biomed.
Qing Lan, Hongyue Sun, John Robertson, Xinwei Deng, Ran Jin
2018 conf
ICPS
Xiaoyu Chen, Lening Wang, Canran Wang, Ran Jin
2017 J jnl
IEEE Robotics Autom. Lett.
Yifu Li, Karuniya Mohan, Hongyue Sun, Ran Jin
2017 J jnl
IEEE Trans Autom. Sci. Eng.
Hongyue Sun, Shuai Huang, Ran Jin
2016 J jnl
Qual. Reliab. Eng. Int.
Yangyang Zang, Kaibo Wang, Ran Jin
2015 J jnl
Technometrics
Xinwei Deng, Ran Jin
2014 J jnl
Qual. Reliab. Eng. Int.
Chenxu Dai, Kaibo Wang, Ran Jin
2013 J jnl
Wirel. Pers. Commun.
Ran Jin, Chunhai Kou, Ruijuan Liu, Yefeng Li
2013 J jnl
J. Cloud Comput.
Ran Jin, Chunhai Kou, Ruijuan Liu, Yefeng Li
2010 conf
SKG
Qin Wang, Ran Jin, Kun Gao
2007 conf
KES (2)
Ran Jin, Kun Gao, Zhigang Chen, Chen Dong, YangHong Zhang, Lifeng Xi
2007 conf
KES (2)
Chen Dong, Jifang Li, Lifeng Xi, Jie Hao, Ran Jin
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)