Xiaoke Ma

88 papers A* 2B 1Journal 79Unranked 6
YearRankTypeTitle / Venue / Authors
2026 J jnl
PLoS Comput. Biol.
Haiyue Wang, Wensheng Zhang, Zaiyi Liu, Xiaoke Ma
2026 J jnl
Bioinform.
Yaxiong Ma, Zengfa Dou, Yuhong Zha, Xiaoke Ma
2025 J jnl
Inf. Fusion
Haiyue Wang, Wensheng Zhang, Quan Wang, Xiaoke Ma
2025 J jnl
Briefings Bioinform.
Haiyue Wang, Peng Gao, Shaoqing Feng, Xiaoke Ma
2025 J jnl
Bioinform.
Yuhong Zha, Shaoqing Feng, Peng Gao, Quan Zou, Xiaoke Ma
2025 A* conf
IJCAI
Chen Hu, Hanchi Ren, Jingjing Deng, Xianghua Xie, Xiaoke Ma
2025 J jnl
Pattern Recognit.
Shijie Luo, He Li, Jianbin Huang, Xiaoke Ma, Jiangtao Cui, Shaojie Qiao, Jaesoo Yoo
2025 J jnl
IEEE Trans. Comput. Biol. Bioinform.
Yu Wang, Wei Ma, Yaxiong Ma, Wei Zhao, Xiaoke Ma
2025 J jnl
Neural Networks
Zengfa Dou, Nian Peng, Weiming Hou, Xianghua Xie, Xiaoke Ma
2025 J jnl
IEEE Trans. Big Data
Zhi Wang, Qiang Lin, Yaxiong Ma, Xiaoke Ma
2025 J jnl
IEEE Trans. Emerg. Top. Comput. Intell.
Songen Cao, Xiaoyi Lv, Yaxiong Ma, Xiaoke Ma
2025 J jnl
Neurocomputing
Zengfa Dou, Haodong Ren, Yaxiong Ma, Yue Gao, Guohua Huang, Xiaoke Ma
2025 conf
AIiH (2)
Hanchi Ren, Jingjing Deng, Xianghua Xie, Xiaoke Ma, Jianfeng Ma
2025 J jnl
IEEE Trans. Pattern Anal. Mach. Intell.
Fangfang Li, Quanxue Gao, Xiaoke Ma, Ming Yang, Cheng Deng
2025 J jnl
IET Image Process.
Yaxian Gao, Zhaoyuan Cai, Xianghua Xie, Jingjing Deng, Zengfa Dou, Xiaoke Ma
2024 conf
ISBI
Yiming Li, Hanchi Ren, Jingjing Deng, Xiaoke Ma, Xianghua Xie
2024 J jnl
Knowl. Based Syst.
Yaxiong Ma, Yue Gao, Zengfa Dou, Guohua Huang, Xiaoke Ma
2024 J jnl
Neural Networks
Haiyue Wang, Wensheng Zhang, Xiaoke Ma
2024 J jnl
Neurocomputing
Hanchi Ren, Jingjing Deng, Xianghua Xie, Xiaoke Ma, Yichuan Wang
2024 J jnl
CoRR
Chen Hu, Jingjing Deng, Xianghua Xie, Xiaoke Ma
2024 J jnl
IEEE Trans. Big Data
Yifei Yang, Xiaoke Ma
2024 J jnl
IEEE Trans. Emerg. Top. Comput. Intell.
Yun Ai, Xianghua Xie, Xiaoke Ma
2024 J jnl
IET Image Process.
Zhaoyuan Cai, Xianghua Xie, Jingjing Deng, Zengfa Dou, Bo Tong, Xiaoke Ma
2024 J jnl
Inf. Fusion
Haiyue Wang, Quan Wang, Qiguang Miao, Xiaoke Ma
2024 J jnl
IEEE J. Biomed. Health Informatics
Haiyue Wang, Zaiyi Liu, Xiaoke Ma
2024 J jnl
Neural Networks
Wenming Wu, Xiaoke Ma, Quan Wang, Maoguo Gong, Quanxue Gao
2024 J jnl
IEEE Trans. Knowl. Data Eng.
Wenming Wu, Wensheng Zhang, Maoguo Gong, Xiaoke Ma
2024 A* conf
ACM Multimedia
Dongxiao He, Jinghan Zhang, Xiaobao Wang, Meng Ge, Zhiyong Feng, Longbiao Wang, Xiaoke Ma
2023 J jnl
Inf. Sci.
Linghao Chen, He Li, Wanyuan Zhang, Jianbin Huang, Xiaoke Ma, Jiangtao Cui, Ning Li, Jaesoo Yoo
2023 J jnl
IEEE Trans. Cybern.
Wenming Wu, Maoguo Gong, Xiaoke Ma
2023 J jnl
Appl. Soft Comput.
Wentao Jia, Xiaoke Ma
2023 J jnl
ACM Trans. Knowl. Discov. Data
He Li, Duo Jin, Xuejiao Li, Jianbin Huang, Xiaoke Ma, Jiangtao Cui, Deshuang Huang, Shaojie Qiao, Jaesoo Yoo
2023 J jnl
CoRR
Xingping Xian, Tao Wu, Xiaoke Ma, Shaojie Qiao, Yabin Shao, Chao Wang, Lin Yuan, Yu Wu
2023 J jnl
CoRR
Hanchi Ren, Jingjing Deng, Xianghua Xie, Xiaoke Ma, Jianfeng Ma
2023 J jnl
IEEE Trans. Cybern.
Dongyuan Li, Xiaoke Ma, Maoguo Gong
2023 J jnl
IEEE ACM Trans. Comput. Biol. Bioinform.
Xiaoke Ma, Wei Zhao, Wenming Wu
2023 J jnl
Inf. Sci.
Wenming Wu, Tao Yang, Xiaoke Ma, Wensheng Zhang, He Li, Jianbin Huang, Yanni Li, Jiangtao Cui
2023 J jnl
IEEE ACM Trans. Comput. Biol. Bioinform.
Wenming Wu, Wensheng Zhang, Weimin Hou, Xiaoke Ma
2023 J jnl
IEEE ACM Trans. Comput. Biol. Bioinform.
Xiaowei Gao, Yan Wang, Weimin Hou, Zaiyi Liu, Xiaoke Ma
2023 J jnl
IEEE ACM Trans. Comput. Biol. Bioinform.
Wenming Wu, Xiaoke Ma
2022 J jnl
IEEE Trans. Big Data
He Li, Jianbin Huang, Hang Yuan, Jiangtao Cui, Xiaoke Ma, Shaojie Qiao, Xindong Wu
2022 J jnl
IET Image Process.
Zengfa Dou, Xiaoke Ma, Xianghua Xie, Hui Liu, Chubing Guo
2022 J jnl
IEEE ACM Trans. Comput. Biol. Bioinform.
Xiaoke Ma, Peng Gang Sun, Maoguo Gong
2022 J jnl
IEEE ACM Trans. Comput. Biol. Bioinform.
Zhihao Huang, Yan Wang, Xiaoke Ma
2022 J jnl
Knowl. Based Syst.
Haiyue Wang, Wensheng Zhang, Xiaoke Ma
2022 J jnl
ACM Trans. Intell. Syst. Technol.
Jianbin Huang, Longji Huang, Meijuan Liu, He Li, Qinglin Tan, Xiaoke Ma, Jiangtao Cui, De-Shuang Huang
2022 J jnl
IEEE ACM Trans. Comput. Biol. Bioinform.
Dongyuan Li, Shuyao Zhang, Xiaoke Ma
2022 J jnl
IEEE Trans. Comput. Soc. Syst.
He Li, Hang Yuan, Jianbin Huang, Xiaoke Ma, Jiangtao Cui, Jaesoo Yoo
2022 J jnl
Pattern Recognit.
Xiaoke Ma, Shiyin Tan, Xianghua Xie, Xiaoxiong Zhong, Jingjing Deng
2022 J jnl
Briefings Bioinform.
Haiyue Wang, Xiaoke Ma
2022 J jnl
Briefings Bioinform.
Haiyue Wang, Xiaoke Ma
2022 J jnl
IEEE Trans. Big Data
Xiaowei Gao, Xiaoke Ma, Wensheng Zhang, Jianbin Huang, He Li, Yanni Li, Jiangtao Cui
2022 J jnl
Knowl. Based Syst.
Benhui Zhang, Xiaoke Ma
2022 J jnl
Briefings Bioinform.
Wenming Wu, Wensheng Zhang, Xiaoke Ma
2022 J jnl
IEEE Trans. Commun.
Xiaoxiong Zhong, Xinghan Wang, Tingting Yang, Yuanyuan Yang, Yang Qin, Xiaoke Ma
2022 J jnl
BMC Bioinform.
Fei Song, Shiyin Tan, Zengfa Dou, Xiaogang Liu, Xiaoke Ma
2021 J jnl
ACM Trans. Knowl. Discov. Data
Benhui Zhang, Maoguo Gong, Jianbin Huang, Xiaoke Ma
2021 J jnl
Knowl. Based Syst.
Dongyuan Li, Xiaoxiong Zhong, Zengfa Dou, Maoguo Gong, Xiaoke Ma
2021 J jnl
Appl. Soft Comput.
Zhihao Huang, Zengfa Dou, Xiaoke Ma
2021 J jnl
IEEE Trans. Parallel Distributed Syst.
He Li, Hang Yuan, Jianbin Huang, Jiangtao Cui, Xiaoke Ma, Senzhang Wang, Jaesoo Yoo, Philip S. Yu
2021 J jnl
Neurocomputing
Dongyuan Li, Qiang Lin, Xiaoke Ma
2021 J jnl
Knowl. Based Syst.
Changzhou Ma, Qiang Lin, Yong Lin, Xiaoke Ma
2021 J jnl
Neurocomputing
Yan Wang, Xiaoke Ma
2021 conf
BIBM
Xiaowei Gao, Xiaogang Liu, Xiaoke Ma
2021 J jnl
BMC Bioinform.
Yan Wang, Zuheng Xia, Jingjing Deng, Xianghua Xie, Maoguo Gong, Xiaoke Ma
2021 conf
BIBM
Junyao Zhang, Xiaogang Liu, Xiaoke Ma
2021 conf
BIBM
Fei Song, Xiaogang Liu, Xiaoke Ma
2021 J jnl
Briefings Bioinform.
Wenming Wu, Zaiyi Liu, Xiaoke Ma
2020 J jnl
CoRR
Xiaoxiong Zhong, Xinghan Wang, Yuanyuan Yang, Yang Qin, Xiaoke Ma, Tingting Yang
2020 B conf
GLOBECOM
Xinghan Wang, Xiaoxiong Zhong, Yanbin Zheng, Xiaoke Ma, Tingting Yang, Genglin Zhang
2020 J jnl
IEEE Access
Qiang Lin, Yong Lin, Qiang Yu, Xiaoke Ma
2020 J jnl
Inf. Sci.
Xiaoke Ma, Benhui Zhang, Changzhou Ma, Zhiyu Ma
2020 J jnl
Knowl. Based Syst.
Zhihao Huang, Xiaoxiong Zhong, Qiang Wang, Maoguo Gong, Xiaoke Ma
2020 J jnl
Bioinform.
Wenming Wu, Xiaoke Ma
2020 conf
BIBM
Shiyin Tan, Xiaoke Ma
2019 J jnl
IEEE ACM Trans. Comput. Biol. Bioinform.
Xiaoke Ma, Penggang Sun, Zhong-Yuan Zhang
2019 J jnl
IEEE Trans. Knowl. Data Eng.
Xiaoke Ma, Di Dong, Quan Wang
2018 J jnl
IEEE ACM Trans. Comput. Biol. Bioinform.
Xiaoke Ma, Wanxin Tang, Peizhuo Wang, Xingli Guo, Lin Gao
2018 J jnl
IEEE ACM Trans. Comput. Biol. Bioinform.
Xiaoke Ma, Penggang Sun, Guimin Qin
2017 J jnl
Comput. Biol. Chem.
Xiaoke Ma, Liang Yu, Peizhuo Wang, Xiaofei Yang
2017 J jnl
IEEE Trans. Knowl. Data Eng.
Xiaoke Ma, Di Dong
2017 J jnl
BMC Bioinform.
Xiaoke Ma, Zaiyi Liu, Zhongyuan Zhang, Xiao-Tai Huang, Wanxin Tang
2016 J jnl
BMC Syst. Biol.
Liang Yu, Bingbo Wang, Xiaoke Ma, Lin Gao
2015 J jnl
PLoS Comput. Biol.
Xiaoke Ma, Long Gao, Georgios Karamanlidis, Peng Gao, Chi Fung Lee, Lorena Garcia-Menendez, Rong Tian, Kai Tan
2014 J jnl
Bioinform.
Xiaoke Ma, Long Gao, Kai Tan
2012 J jnl
BMC Syst. Biol.
Xiaoke Ma, Lin Gao
2012 J jnl
Inf. Sci.
Xiaoke Ma, Lin Gao
2010 J jnl
Sci. China Inf. Sci.
Lidong Fu, Lin Gao, Xiaoke Ma
tests/unit/test_extractor_registry.py
← Index tests/unit/test_extractor_registry.py python
"""
Unit tests for the extractor registry (redb/extractor_registry.py).

Verifies that all file-type groups load correctly, return the expected
extractors, and that lookup/filtering logic works as intended.
"""
import pytest

from redb.extractor_registry import (
    get_filetype_modules,
    get_extractor_class,
    FILETYPE_TO_GROUP,
    _REGISTRY,
)

pytestmark = [pytest.mark.unit]


# ============================================================================
# get_filetype_modules — group loading
# ============================================================================

class TestGetFiletypeModules:

    @pytest.mark.parametrize("filetype,expected_names", [
        ("pebin", [
            "PEFeaturesExtractor", "PEImportExtractor", "PEResourceExtractor",
            "PEOverlayExtractor", "PESectionExtractor", "PESignatureExtractor",
            "PEExtraFindings", "PEInconstistencyTestsExtractor", "PEDotNetExtractor",
        ]),
        ("elf", [
            "ELFFeaturesExtractor", "ELFSegmentExtractor", "ELFSectionExtractor",
            "ELFDependencyExtractor", "ELFSymbolExtractor", "ELFImportExtractor",
            "ELFExportExtractor", "ELFRelocationExtractor", "ELFNotesExtractor",
        ]),
        ("macho", [
            "MachOFeaturesExtractor", "MachOSegmentExtractor",
            "MachOImportExtractor", "MachOExportExtractor",
            "MachODylibExtractor", "MachOSignatureExtractor",
        ]),
        ("apk", [
            "APKFeaturesExtractor", "APKManifestExtractor",
            "APKPermissionsExtractor", "APKSignatureExtractor",
            "APKDexExtractor", "APKResourceExtractor",
            "APKNativeLibExtractor", "APKInconsistencyTestsExtractor",
        ]),
    ])
    def test_loads_all_extractors_for_filetype(self, filetype, expected_names):
        """Each filetype group should return all its registered extractors."""
        modules = get_filetype_modules(filetype)
        names = [m.__name__ for m in modules]
        for expected in expected_names:
            assert expected in names, f"{expected} missing from {filetype} modules"

    def test_apk_excludes_decompilers(self):
        """get_filetype_modules should not include DecompileAPK."""
        modules = get_filetype_modules("apk")
        names = [m.__name__ for m in modules]
        assert "DecompileAPK" not in names

    def test_unknown_filetype_returns_empty(self):
        """An unrecognized filetype should return an empty list."""
        assert get_filetype_modules("unknown_format") == []

    def test_returned_classes_are_callable(self):
        """All returned extractor classes should be callable (i.e., actual classes)."""
        for filetype in FILETYPE_TO_GROUP:
            for cls in get_filetype_modules(filetype):
                assert callable(cls), f"{cls} is not callable"


# ============================================================================
# get_extractor_class — single lookup
# ============================================================================

class TestGetExtractorClass:

    def test_finds_pe_extractor(self):
        cls = get_extractor_class("PEFeaturesExtractor")
        assert cls is not None
        assert cls.__name__ == "PEFeaturesExtractor"

    def test_finds_elf_extractor(self):
        cls = get_extractor_class("ELFSectionExtractor")
        assert cls is not None
        assert cls.__name__ == "ELFSectionExtractor"

    def test_finds_macho_extractor(self):
        cls = get_extractor_class("MachOSignatureExtractor")
        assert cls is not None
        assert cls.__name__ == "MachOSignatureExtractor"

    def test_finds_apk_extractor(self):
        cls = get_extractor_class("APKDexExtractor")
        assert cls is not None
        assert cls.__name__ == "APKDexExtractor"

    def test_finds_decompile_apk(self):
        cls = get_extractor_class("DecompileAPK")
        assert cls is not None
        assert cls.__name__ == "DecompileAPK"

    def test_returns_none_for_unknown(self):
        assert get_extractor_class("NonExistentExtractor") is None


# ============================================================================
# Registry completeness
# ============================================================================

class TestRegistryCompleteness:

    def test_all_filetypes_have_registry_group(self):
        """Every filetype in FILETYPE_TO_GROUP should map to a valid registry group."""
        for filetype, group in FILETYPE_TO_GROUP.items():
            assert group in _REGISTRY, f"filetype {filetype} maps to unknown group {group}"

    def test_all_registry_groups_are_reachable(self):
        """Every registry group should be reachable via at least one filetype."""
        reachable = set(FILETYPE_TO_GROUP.values())
        for group in _REGISTRY:
            assert group in reachable, f"registry group {group} has no filetype mapping"


# ============================================================================
# Integration with workers.get_module_by_name
# ============================================================================

class TestWorkersGetModuleByName:

    def test_resolves_common_extractor(self):
        from redb.workers import get_module_by_name
        cls = get_module_by_name("BasicPropertiesExtractor")
        assert cls is not None
        assert cls.__name__ == "BasicPropertiesExtractor"

    def test_resolves_type_specific_extractor(self):
        from redb.workers import get_module_by_name
        cls = get_module_by_name("PEFeaturesExtractor")
        assert cls is not None
        assert cls.__name__ == "PEFeaturesExtractor"

    def test_resolves_decompile_apk(self):
        from redb.workers import get_module_by_name
        cls = get_module_by_name("DecompileAPK")
        assert cls is not None

    def test_returns_none_for_unknown(self):
        from redb.workers import get_module_by_name
        assert get_module_by_name("BogusExtractor") is None