Wei Yi

90 papers A 2B 2C 15Journal 34Unranked 37
YearRankTypeTitle / Venue / Authors
2026 J jnl
IEEE Trans. Circuits Syst. Video Technol.
Muhao Xu, Baochen Fu, Dongyu Liu, Wenzhi Deng, Wei Yi, Yi Wan, Hua Wei, Weiye Song
2026 J jnl
Neurocomputing
Baochen Fu, Muhao Xu, Yun Wang, Changyu Wu, Hongmei Yan, Wei Yi, Hua Wei, Lizhen Cui, Weiye Song, Yi Wan
2026 J jnl
Pattern Recognit.
Zihan Nie, Muhao Xu, Yuan Cui, Hua Wei, Wei Yi, Sijie Niu, Yi Wan, Xunbin Wei, Weiye Song
2026 J jnl
J. Cloud Comput.
Xue Fan, Wei Zou, M. K. Moghimi, Wei Yi
2025 J jnl
Frontiers Robotics AI
Defu Liu, Yixiao Zhu, Zhe Liu, Yi Liu, Changlin Han, Jinkai Tian, Ruihao Li, Wei Yi
2025 conf
ICIC (17)
Guanyu Chen, Ruihao Li, Defu Liu, Wei Yi
2025 B conf
IJCNN
Guanyu Chen, Ruihao Li, Defu Liu, Wei Yi
2025 J jnl
IEEE Trans. Geosci. Remote. Sens.
Mou Wang, Yanbo Wen, Shunjun Wei, Jiangbo Hu, Wei Yi, Jun Shi
2025 C conf
IV
Jie Hua, Wei Yi
2024 conf
FSDM
Jie Hua, Wei Yi
2024 J jnl
NeuroImage
Wei Yi, Wangxiao Chen, Biqi Lan, Linlin Yan, Xiaoqing Hu, Jianhui Wu
2024 conf
ICCAIS
Yuhuan Xiong, Jiaye Yang, Boxiang Zhang, Xi Cao, Wei Yi
2024 conf
IEEE SENSORS
Ye Yuan, Zishi Zhang, Lei Zhu, Jing He, Wei Yi
2024 conf
ICPR (30)
Wenwen Ming, Xucan Chen, Zhe Liu, Ruihao Li, Wei Yi
2024 J jnl
Sensors
Zeqing Yang, Beibei Liu, Yanrui Zhang, Yingshu Chen, Hongwei Zhao, Guofeng Zhang, Wei Yi, Zonghua Zhang
2024 conf
ICCAIS
Cong Wang, Guoxin Zhang, Yunfei Liang, Gao Yue, Wei Yi
2024 C conf
FUSION
Jiaye Yang, Yuhuan Xiong, Xi Cao, Cong Peng, Wei Yi
2024 conf
IEEE SENSORS
Zishi Zhang, Ye Yuan, Lei Zhu, Jing He, Wei Yi
2024 J jnl
CoRR
Wei Yi
2024 conf
ICCAIS
Yunfei Liang, Guoxin Zhang, Cong Wang, Xi Cao, Wei Yi
2024 C conf
IGARSS
Tai Luo, Yuanhang Wu, Zhiyuan Zou, Wei Yi
2024 B conf
AVSS
Ruotong Sun, Fayang Liao, Jing He, Ying Liu, Wei Yi, Qinrui Fan, Shu Hu, Xin Wang, Jing Hu
2024 J jnl
Signal Process.
Jianwei Wei, Chengxin Yang, Ye Yuan, Wei Yi
2024 conf
ICCAIS
Linao Zhang, Yuhuan Xiong, Xinwei Wei, Xiaolong Wan, Sinuo Zheng, Wei Yi
2023 conf
ICCAIS
Hang Bai, Hongfu Li, Wei Yi, Zhiyuan Zou
2023 conf
ROBIO
Wei Yi, Bin Di, Ruihao Li, Mengyuan Dai, Xiaodong Yi, Yanzhen Wang, Xuejun Yang
2023 conf
ICCAIS
Yunlian Tian, Zhiyuan Zou, Jiaye Yang, Wei Yi
2023 conf
ICCAIS
Jiaye Yang, Yunlian Tian, Haiyi Mao, Zhiyuan Zou, Wei Yi
2023 C conf
FUSION
Haiyi Mao, Boxiang Zhang, Jiaye Yang, Xingyue Long, Cong Peng, Wei Yi
2023 J jnl
Int. J. Grid Util. Comput.
Wei Yi
2023 J jnl
CoRR
Haiyi Mao, Cong Peng, Yue Liu, Jinping Tang, Hua Peng, Wei Yi
2023 conf
ICCAIS
Ziyi Cao, Xuanqi Wang, Ye Yuan, Wei Yi, Junkun Yan
2023 conf
ICCAIS
Zishi Zhang, Ye Yuan, Wei Yi, Junkun Yan
2023 J jnl
IEEE Trans. Pattern Anal. Mach. Intell.
Jinkai Tian, Xiaoyu Sun, Yuxuan Du, Shanshan Zhao, Qing Liu, Kaining Zhang, Wei Yi, Wanrong Huang, Chaoyue Wang, Xingyao Wu, Min-Hsiu Hsieh, Tongliang Liu, Wenjing Yang, Dacheng Tao
2023 J jnl
CoRR
Yuqi Li, Yizhi Luo, Xiaoshuai Hao, Chuanguang Yang, Zhulin An, Dantong Song, Wei Yi
2023 C conf
IV
Jie Hua, Wei Yi
2022 C conf
IGARSS
Dongxu Yang, Wei Yi, Zhouchang Ren, Haoran Wang, Yuxuan Huang
2022 conf
ICCAIS
Wei Zhang, Kai Zeng, Chuan Zhu, Xingyue Long, Wei Yi
2022 C conf
FUSION
Xile Li, Yangming Lai, Shixing Yang, Wei Yi
2022 conf
MFI
Jiazheng Fu, Lei Chai, Boxiang Zhang, Wei Yi
2022 J jnl
Frontiers Inf. Technol. Electron. Eng.
Weimin Bao, Chun Yin, Xuegang Huang, Wei Yi, Sara Dadras
2022 conf
ICCAIS
Chuan Zhu, Jie Deng, Xingyue Long, Wei Zhang, Wei Yi
2022 C conf
IV
Zuyuan Guo, Haoran Wang, Wei Yi, Jiahao Zhang
2022 J jnl
J. Circuits Syst. Comput.
Hui Hu, Yuebiao Wang, Wei Yi, Yang Li, Jiande Yan, Wei Xiao, Junqi Yuan
2022 C conf
FUSION
Xiujuan Lu, Wei Yi, Yangming Lai, Yang Su
2022 conf
ICCAIS
Xingyue Long, Wen Qin, Wei Zhang, Chuan Zhu, Yong Zhao, Wei Yi
2022 conf
ICCAIS
Ke Chen, Lei Chai, Wei Yi
2022 conf
ICCAIS
Xi Cao, Chuan Zhu, Wei Yi
2022 J jnl
CoRR
Jinkai Tian, Xiaoyu Sun, Yuxuan Du, Shanshan Zhao, Qing Liu, Kaining Zhang, Wei Yi, Wanrong Huang, Chaoyue Wang, Xingyao Wu, Min-Hsiu Hsieh, Tongliang Liu, Wenjing Yang, Dacheng Tao
2022 J jnl
Sensors
Wei Yi, Feng Xu
2022 J jnl
Digit. Signal Process.
Zhouchang Ren, Gang Mei, Yuxuan Huang, Dongxu Yang, Wei Yi
2022 C conf
FUSION
Wenxin Li, Wei Yi, Shixing Yang
2021 J jnl
Sensors
Qiuhua Rao, Zelin Liu, Chunde Ma, Wei Yi, Weibin Xie
2021 J jnl
IEEE Access
Wei Yi, Qiuhua Rao, Zhuo Li, Charlie Chun-Lin Li
2021 J jnl
Frontiers Robotics AI
Ruihao Li, Chunlian Fu, Wei Yi, Xiaodong Yi
2021 J jnl
ISPRS Int. J. Geo Inf.
Wei Yi, Yuhao Wang, Yong Zeng, Yaqin Wang, Jianfei Xu
2021 J jnl
J. Circuits Syst. Comput.
Hui Hu, Yang Li, Wei Yi, Yuebiao Wang, Fan Qu, Xiaofeng Wang
2021 J jnl
CoRR
Wei Yi, Lei Chai
2021 C conf
FUSION
Shaoxiu Wei, Boxiang Zhang, Wei Yi
2021 conf
ROBIO
Zhe Xu, Wei Yi, Muxin Chen, Chunfang Liu
2021 conf
UCET
Zuyuan Guo, Wei Yi, Yuanhang Wu, Tai Luo
2021 conf
IEEE SENSORS
Wei Yi, Jiachen Liu, Zhongyang Cheng, Tung-Shi Huang, Kenny V. Brock
2021 C conf
FUSION
Boxiang Zhang, Wei Yi
2021 C conf
FUSION
Hang Xiao, Shixing Yang, Wei Yi
2020 A conf
IROS
Wei Yi, Bin Di, Ruihao Li, Huadong Dai, Xiaodong Yi, Yanzhen Wang, Xuejun Yang
2019 J jnl
CoRR
Wei Yi, Yaoran Sun, Tao Ding, Sailing He
2019 conf
OFC
Wei Yi, Zibo Zheng, Nan Cui, Liyuan Qiu, Xiaoguang Zhang, Nannan Zhang, Wenbo Zhang, Lixia Xi
2019 conf
OECC/PSC
Nannan Zhang, Wei Yi, Zibo Zheng, Nan Cui, Ruipu Guo, Liyuan Qiu, Lixia Xi, Xiaoguang Zhang
2019 A conf
CIKM
Mingkun Wang, Dianxi Shi, Naiyang Guan, Wei Yi, Tao Zhang, Zunlin Fan
2019 C conf
FUSION
Qi Yang, Wei Yi
2018 J jnl
CoRR
Wei Yi, Kenneth K. Tsang, Stephen K. Lam, Xiwei Bai, Jack A. Crowell, Elias A. Flores
2018 conf
ICSI (2)
Weiwei Xun, Wei Yi, Xi Liu, Xiaodong Yi, Yanzhen Wang
2018 conf
RCAR
Ning Li, Minglong Li, Yanzhen Wang, Da Huang, Wei Yi
2018 J jnl
J. Syst. Control. Eng.
Xichang Liang, Yi Wan, Chengrui Zhang, Yanyun Kou, Qianqian Xin, Wei Yi
2018 J jnl
J. Intell. Fuzzy Syst.
Guo Hailong, Wei Yi
2017 J jnl
IEICE Electron. Express
Nan Li, Qiyou Xie, Yinan Wang, Xiangyu Liu, Husheng Liu, Wei Yi
2017 conf
ICCAIS
Guanghong Liu, Ming Li, Wei Yi, Lijiang Kong
2017 conf
ICIRA (1)
Jianhong Zhao, Wei Yi, Yuanxi Peng, Xuefeng Peng
2015 J jnl
IEICE Electron. Express
Wei Yi, Hui Xu, Qiyou Xie, Nan Li
2014 J jnl
IEICE Electron. Express
Wei Yi, Hui Xu, Kai Bu, Nan Li
2011 conf
ICDMA
Jietao Diao, Qingjiang Li, Wei Yi, Meng Wang, Haijun Liu, Hongqi Yu, Zhaolin Sun, Xin Xu
2010 conf
PAAP
Wei Yi, Yuhua Tang, Guibin Wang, Xudong Fang
2010 C conf
ISCAS
Wei Yi, Hongbing Pan, Peng Pan, Li Li, Minglun Gao, Ning Hou, Gaoming Du, Duoli Zhang
2010 conf
GreenCom/CPSCom
Guibin Wang, Yisong Lin, Wei Yi
2008 J jnl
IEEE Intell. Syst.
Linet Özdamar, Wei Yi
2007 J jnl
Eur. J. Oper. Res.
Wei Yi, Linet Özdamar
2006 conf
CNSR
Ashraf Matrawy, Wei Yi, Ioannis Lambadaris, Chung-Horng Lung
2004 conf
ICC
Wei Yi, Rupinder Makkar, Ioannis Lambadaris, Ioannis Marmorkos
2001 conf
Active Media Technology
Wei Yi
2000 conf
EUSIPCO
Wei Yi, Stephen Marshall
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