Wei Shen

249 papers A* 52A 3B 3C 1Misc 4Journal 153Unranked 31
YearRankTypeTitle / Venue / Authors
2026 A* conf
AAAI
Zelin Peng, Zhengqin Xu, Feilong Tang, Wei Shen
2026 J jnl
CoRR
Tongkun Guan, Zhibo Yang, Jianqiang Wan, Mingkun Yang, Zhengtao Guo, Zijian Hu, Ruilin Luo, Ruize Chen, Songtao Jiang, Peng Wang, Wei Shen, Junyang Lin, Xiaokang Yang
2026 A* conf
AAAI
Jichen Hu, Chen Yang, Zanwei Zhou, Jiemin Fang, Qi Tian, Wei Shen
2026 J jnl
Biomed. Signal Process. Control.
Dichao Hu, He Liu, Mingyang Li, Zekun Jiang, Wenbo Wu, Minghui Sun, Wei Shen, Mingmin Liu, Haitao Liu
2026 A* conf
AAAI
Changsong Wen, Zelin Peng, Yu Huang, Wei Shen
2026 A* conf
AAAI
Zanwei Zhou, Taoran Yi, Jiemin Fang, Chen Yang, Lingxi Xie, Xinggang Wang, Wei Shen, Qi Tian
2026 J jnl
CoRR
Jiazhong Cen, Jiemin Fang, Sikuang Li, Guanjun Wu, Chen Yang, Taoran Yi, Zanwei Zhou, Zhikuan Bao, Lingxi Xie, Wei Shen, Qi Tian
2026 J jnl
CoRR
Yichen Zhao, Zelin Peng, Piao Yang, Xiaokang Yang, Wei Shen
2026 A* conf
AAAI
Sikuang Li, Chen Yang, Jiemin Fang, Taoran Yi, Jia Lu, Jiazhong Cen, Lingxi Xie, Wei Shen, Qi Tian
2025 J jnl
CoRR
Tongkun Guan, Zining Wang, Pei Fu, Zhengtao Guo, Wei Shen, Kai Zhou, Tiezhu Yue, Chen Duan, Hao Sun, Qianyi Jiang, Junfeng Luo, Xiaokang Yang
2025 J jnl
CoRR
Chongjie Si, Debing Zhang, Wei Shen
2025 J jnl
IEEE Trans. Pattern Anal. Mach. Intell.
Tongkun Guan, Wei Shen, Xiaokang Yang
2025 J jnl
CoRR
Jichen Hu, Chen Yang, Zanwei Zhou, Jiemin Fang, Xiaokang Yang, Qi Tian, Wei Shen
2025 A* conf
CVPR
Changsong Wen, Zelin Peng, Yu Huang, Xiaokang Yang, Wei Shen
2025 conf
MICCAI (9)
Zanwei Zhou, Chen Yang, Piao Yang, Xiaokang Yang, Wei Shen
2025 conf
BIBM
Kailing Wang, Chen Yang, Rong Lin, Xiaokang Yang, Wei Shen
2025 A* conf
AAAI
Zhengqin Xu, Zelin Peng, Xiaokang Yang, Wei Shen
2025 J jnl
CoRR
Zanwei Zhou, Taoran Yi, Jiemin Fang, Chen Yang, Lingxi Xie, Xinggang Wang, Wei Shen, Qi Tian
2025 J jnl
CoRR
Chongjie Si, Zhiyi Shi, Xuehui Wang, Yichen Xiao, Xiaokang Yang, Wei Shen
2025 J jnl
CoRR
Zhaolin Cai, Huiyu Duan, Zitong Xu, Fan Li, Zhi Liu, Jing Liu, Wei Shen, Xiongkuo Min, Guangtao Zhai
2025 J jnl
CoRR
Zelin Peng, Zhengqin Xu, Qingyang Liu, Xiaokang Yang, Wei Shen
2025 J jnl
CoRR
Chongjie Si, Zhiyi Shi, Yadao Wang, Xiaokang Yang, Susanto Rahardja, Wei Shen
2025 Misc conf
ICASSP
Shijie Lin, Boxiang Yun, Wei Shen, Qingli Li, Anqiang Yang, Yan Wang
2025 J jnl
CoRR
Xuehui Wang, Zhenyu Wu, Jingjing Xie, Zichen Ding, Bowen Yang, Zehao Li, Zhaoyang Liu, Qingyun Li, Xuan Dong, Zhe Chen, Weiyun Wang, Xiangyu Zhao, Jixuan Chen, Haodong Duan, Tianbao Xie, Chenyu Yang, Shiqian Su, Yue Yu, Yuan Huang, Yiqian Liu, Xiao Zhang, Yanting Zhang, Xiangyu Yue, Weijie Su, Xizhou Zhu, Wei Shen, Jifeng Dai, Wenhai Wang
2025 A* conf
ICLR
Chongjie Si, Xuehui Wang, Xue Yang, Zhengqin Xu, Qingyun Li, Jifeng Dai, Yu Qiao, Xiaokang Yang, Wei Shen
2025 A* conf
CVPR
Zining Wang, Tongkun Guan, Pei Fu, Chen Duan, Qianyi Jiang, Zhentao Guo, Shan Guo, Junfeng Luo, Wei Shen, Xiaokang Yang
2025 J jnl
CoRR
Zining Wang, Tongkun Guan, Pei Fu, Chen Duan, Qianyi Jiang, Zhentao Guo, Shan Guo, Junfeng Luo, Wei Shen, Xiaokang Yang
2025 J jnl
CoRR
Yu Huang, Zelin Peng, Yichen Zhao, Piao Yang, Xiaokang Yang, Wei Shen
2025 J jnl
CoRR
Chongjie Si, Kangtao Lv, Jingjing Jiang, Yadao Wang, Yongwei Wang, Xiaokang Yang, Wenbo Su, Bo Zheng, Wei Shen
2025 J jnl
CoRR
Zelin Peng, Yichen Zhao, Yu Huang, Piao Yang, Feilong Tang, Zhengqin Xu, Xiaokang Yang, Wei Shen
2025 A* conf
CVPR
Zelin Peng, Zhengqin Xu, Zhilin Zeng, Yu Huang, Yaoming Wang, Wei Shen
2025 J jnl
CoRR
Chongjie Si, Yidan Cui, Fuchao Yang, Xiaokang Yang, Wei Shen
2025 A* conf
AAAI
Jiazhong Cen, Jiemin Fang, Chen Yang, Lingxi Xie, Xiaopeng Zhang, Wei Shen, Qi Tian
2025 J jnl
Int. J. Comput. Vis.
Jiazhong Cen, Jiemin Fang, Zanwei Zhou, Chen Yang, Lingxi Xie, Xiaopeng Zhang, Wei Shen, Qi Tian
2025 J jnl
CoRR
Jia Lu, Taoran Yi, Jiemin Fang, Chen Yang, Chuiyun Wu, Wei Shen, Wenyu Liu, Qi Tian, Xinggang Wang
2025 A* conf
CVPR
Zelin Peng, Yu Huang, Zhengqin Xu, Feilong Tang, Ming Hu, Xiaokang Yang, Wei Shen
2025 A* conf
ICML
Jiazhong Cen, Xudong Zhou, Jiemin Fang, Changsong Wen, Lingxi Xie, Xiaopeng Zhang, Wei Shen, Qi Tian
2025 J jnl
CoRR
Jiazhong Cen, Xudong Zhou, Jiemin Fang, Changsong Wen, Lingxi Xie, Xiaopeng Zhang, Wei Shen, Qi Tian
2025 A* conf
CVPR
Zelin Peng, Zhengqin Xu, Zhilin Zeng, Changsong Wen, Yu Huang, Menglin Yang, Feilong Tang, Wei Shen
2025 A* conf
ICLR
Chongjie Si, Zhiyi Shi, Shifan Zhang, Xiaokang Yang, Hanspeter Pfister, Wei Shen
2025 J jnl
CoRR
Yu Huang, Zelin Peng, Changsong Wen, Xiaokang Yang, Wei Shen
2025 J jnl
CoRR
Chongjie Si, Jingjing Jiang, Wei Shen
2025 J jnl
CoRR
Chongjie Si, Xuankun Yang, Muqing Liu, Yadao Wang, Xiaokang Yang, Wenbo Su, Bo Zheng, Wei Shen
2025 J jnl
CoRR
Chongjie Si, Yidan Cui, Fuchao Yang, Xiaokang Yang, Wei Shen
2025 J jnl
CoRR
Sikuang Li, Chen Yang, Jiemin Fang, Taoran Yi, Jia Lu, Jiazhong Cen, Lingxi Xie, Wei Shen, Qi Tian
2024 J jnl
Pattern Recognit. Lett.
Kai Zhao, Tao Wang, Ruixin Zhang, Wei Shen
2024 conf
ECCV (44)
Tongkun Guan, Wei Shen, Xue Yang, Xuehui Wang, Xiaokang Yang
2024 J jnl
CoRR
Haoyu Zhao, Hao Wang, Chen Yang, Wei Shen
2024 J jnl
IEEE Trans. Circuits Syst. Video Technol.
Jiazhong Cen, Zekun Jiang, Lingxi Xie, Dongsheng Jiang, Wei Shen, Qi Tian
2024 conf
BIBM
Zhilin Zeng, Zelin Peng, Xiaokang Yang, Wei Shen
2024 Misc conf
ICASSP
Huayu Wang, Zekun Jiang, Lingxi Xie, Dongsheng Jiang, Wei Shen, Qi Tian
2024 J jnl
IEEE Trans. Medical Imaging
Chen Yang, Kailing Wang, Yuehao Wang, Qi Dou, Xiaokang Yang, Wei Shen
2024 conf
MICCAI (6)
Kailing Wang, Chen Yang, Yuehao Wang, Sikuang Li, Yan Wang, Qi Dou, Xiaokang Yang, Wei Shen
2024 J jnl
CoRR
Kailing Wang, Chen Yang, Yuehao Wang, Sikuang Li, Yan Wang, Qi Dou, Xiaokang Yang, Wei Shen
2024 J jnl
CoRR
Chongjie Si, Xuehui Wang, Xue Yang, Zhengqin Xu, Qingyun Li, Jifeng Dai, Yu Qiao, Xiaokang Yang, Wei Shen
2024 J jnl
ACM Trans. Graph.
Chen Yang, Sikuang Li, Jiemin Fang, Ruofan Liang, Lingxi Xie, Xiaopeng Zhang, Wei Shen, Qi Tian
2024 J jnl
CoRR
Chen Yang, Sikuang Li, Jiemin Fang, Ruofan Liang, Lingxi Xie, Xiaopeng Zhang, Wei Shen, Qi Tian
2024 J jnl
CoRR
Ming Li, Wei Shen, Qingli Li, Yan Wang
2024 J jnl
CoRR
Yabo Chen, Chen Yang, Jiemin Fang, Xiaopeng Zhang, Lingxi Xie, Wei Shen, Wenrui Dai, Hongkai Xiong, Qi Tian
2024 conf
MICCAI (8)
Zhilin Zeng, Zelin Peng, Xiaokang Yang, Wei Shen
2024 A* conf
CVPR
Zelin Peng, Zhengqin Xu, Zhilin Zeng, Lingxi Xie, Qi Tian, Wei Shen
2024 J jnl
CoRR
Zelin Peng, Zhengqin Xu, Zhilin Zeng, Yaoming Wang, Lingxi Xie, Qi Tian, Wei Shen
2024 A* conf
AAAI
Chongjie Si, Zekun Jiang, Xuehui Wang, Yan Wang, Xiaokang Yang, Wei Shen
2024 conf
ECCV (22)
Tongkun Guan, Chengyu Lin, Wei Shen, Xiaokang Yang
2024 J jnl
CoRR
Tongkun Guan, Chengyu Lin, Wei Shen, Xiaokang Yang
2024 J jnl
CoRR
Kailing Wang, Chen Yang, Keyang Zhao, Xiaokang Yang, Wei Shen
2024 A* conf
AAAI
Zelin Peng, Zhengqin Xu, Zhilin Zeng, Xiaokang Yang, Wei Shen
2024 J jnl
CoRR
Haoyu Zhao, Chen Yang, Hao Wang, Xingyue Zhao, Wei Shen
2024 J jnl
CoRR
Chongjie Si, Xiaokang Yang, Wei Shen
2024 J jnl
IEEE Trans. Circuits Syst. Video Technol.
Boxiang Yun, Baiying Lei, Jieneng Chen, Huiyu Wang, Song Qiu, Wei Shen, Qingli Li, Yan Wang
2024 conf
ECCV (35)
Chongjie Si, Xuehui Wang, Xiaokang Yang, Wei Shen
2024 J jnl
CoRR
Chongjie Si, Xuehui Wang, Xiaokang Yang, Wei Shen
2024 J jnl
IEEE Trans. Circuits Syst. Video Technol.
Danyang Tu, Wei Shen, Wei Sun, Xiongkuo Min, Guangtao Zhai, Changwen Chen
2024 conf
ECCV (67)
Huiyu Duan, Xiongkuo Min, Sijing Wu, Wei Shen, Guangtao Zhai
2024 J jnl
CoRR
Huiyu Duan, Xiongkuo Min, Sijing Wu, Wei Shen, Guangtao Zhai
2024 J jnl
CoRR
Chongjie Si, Zhiyi Shi, Shifan Zhang, Xiaokang Yang, Hanspeter Pfister, Wei Shen
2023 J jnl
IEEE Trans. Pattern Anal. Mach. Intell.
Wei Shen, Zelin Peng, Xuehui Wang, Huayu Wang, Jiazhong Cen, Dongsheng Jiang, Lingxi Xie, Xiaokang Yang, Qi Tian
2023 A* conf
ICCV
Danyang Tu, Wei Sun, Guangtao Zhai, Wei Shen
2023 J jnl
CoRR
Danyang Tu, Wei Sun, Guangtao Zhai, Wei Shen
2023 J jnl
IEEE Trans. Pattern Anal. Mach. Intell.
Yuhui Xu, Lingxi Xie, Cihang Xie, Wenrui Dai, Jieru Mei, Siyuan Qiao, Wei Shen, Hongkai Xiong, Alan L. Yuille
2023 A* conf
CVPR
Yunhao Bai, Duowen Chen, Qingli Li, Wei Shen, Yan Wang
2023 J jnl
CoRR
Yunhao Bai, Duowen Chen, Qingli Li, Wei Shen, Yan Wang
2023 J jnl
CoRR
Tongkun Guan, Wei Shen, Xue Yang, Xuehui Wang, Xiaokang Yang
2023 J jnl
IEEE Trans. Multim.
Yuzhi Zhao, Lai-Man Po, Xuehui Wang, Qiong Yan, Wei Shen, Yujia Zhang, Wei Liu, Chun Kit Wong, Chiu-Sing Pang, Weifeng Ou, Wing Yin Yu, Buhua Liu
2023 J jnl
IEEE Trans. Multim.
Huiyu Duan, Wei Shen, Xiongkuo Min, Yuan Tian, Jae-Hyun Jung, Xiaokang Yang, Guangtao Zhai
2023 J jnl
CoRR
Chen Yang, Kailing Wang, Yuehao Wang, Qi Dou, Xiaokang Yang, Wei Shen
2023 A* conf
AAAI
Xintian Mao, Yiming Liu, Fengze Liu, Qingli Li, Wei Shen, Yan Wang
2023 J jnl
CoRR
Danyang Tu, Wei Shen, Wei Sun, Xiongkuo Min, Guangtao Zhai
2023 A* conf
CVPR
Duowen Chen, Yunhao Bai, Wei Shen, Qingli Li, Lequan Yu, Yan Wang
2023 J jnl
CoRR
Huiyu Duan, Wei Shen, Xiongkuo Min, Danyang Tu, Long Teng, Jia Wang, Guangtao Zhai
2023 A* conf
CVPR
Chen Yang, Peihao Li, Zanwei Zhou, Shanxin Yuan, Bingbing Liu, Xiaokang Yang, Weichao Qiu, Wei Shen
2023 J jnl
CoRR
Chen Yang, Peihao Li, Zanwei Zhou, Shanxin Yuan, Bingbing Liu, Xiaokang Yang, Weichao Qiu, Wei Shen
2023 conf
MICCAI (9)
Chen Yang, Kailing Wang, Yuehao Wang, Xiaokang Yang, Wei Shen
2023 J jnl
CoRR
Chen Yang, Kailing Wang, Yuehao Wang, Xiaokang Yang, Wei Shen
2023 J jnl
CoRR
Zelin Peng, Zhengqin Xu, Zhilin Zeng, Lingxi Xie, Qi Tian, Wei Shen
2023 J jnl
CoRR
Chongjie Si, Zekun Jiang, Xuehui Wang, Yan Wang, Xiaokang Yang, Wei Shen
2023 J jnl
Int. J. Comput. Assist. Radiol. Surg.
Keyang Zhao, Xiaozhong Zhu, Mingzi Zhang, Zhaozhi Xie, Xu Yan, Sheng-Hui Wu, Peng Liao, Hongtao Lu, Wei Shen, Chicheng Fu, Haoyang Cui, Chuan He, Qu Fang, Jiong Mei
2023 J jnl
CoRR
Zelin Peng, Zhengqin Xu, Zhilin Zeng, Xiaokang Yang, Wei Shen
2023 J jnl
CoRR
Jiazhong Cen, Jiemin Fang, Chen Yang, Lingxi Xie, Xiaopeng Zhang, Wei Shen, Qi Tian
2023 A* conf
NeurIPS
Jiazhong Cen, Zanwei Zhou, Jiemin Fang, Chen Yang, Wei Shen, Lingxi Xie, Dongsheng Jiang, Xiaopeng Zhang, Qi Tian
2023 J jnl
CoRR
Jiazhong Cen, Zanwei Zhou, Jiemin Fang, Wei Shen, Lingxi Xie, Dongsheng Jiang, Xiaopeng Zhang, Qi Tian
2023 A* conf
CVPR
Tongkun Guan, Chaochen Gu, Jingzheng Tu, Xue Yang, Qi Feng, Yudi Zhao, Wei Shen
2023 A* conf
ICCV
Tongkun Guan, Wei Shen, Xue Yang, Qi Feng, Zekun Jiang, Xiaokang Yang
2023 A* conf
ICCV
Zelin Peng, Guanchun Wang, Lingxi Xie, Dongsheng Jiang, Wei Shen, Qi Tian
2023 J jnl
CoRR
Zelin Peng, Guanchun Wang, Lingxi Xie, Dongsheng Jiang, Wei Shen, Qi Tian
2022 J jnl
CoRR
Zanwei Zhou, Ruizhe Zhong, Chen Yang, Yan Wang, Xiaokang Yang, Wei Shen
2022 J jnl
CoRR
Wei Shen, Zelin Peng, Xuehui Wang, Huayu Wang, Jiazhong Cen, Dongsheng Jiang, Lingxi Xie, Xiaokang Yang, Qi Tian
2022 Misc conf
ICASSP
Huiyu Duan, Xiongkuo Min, Wei Shen, Guangtao Zhai
2022 conf
ECCV (13)
Kai Zhao, Lei Shen, Yingyi Zhang, Chuhan Zhou, Tao Wang, Ruixin Zhang, Shouhong Ding, Wei Jia, Wei Shen
2022 conf
ECCV (30)
Feng Wang, Huiyu Wang, Chen Wei, Alan L. Yuille, Wei Shen
2022 J jnl
CoRR
Feng Wang, Huiyu Wang, Chen Wei, Alan L. Yuille, Wei Shen
2022 J jnl
CoRR
Yuzhi Zhao, Lai-Man Po, Xuehui Wang, Qiong Yan, Wei Shen, Yujia Zhang, Wei Liu, Chun Kit Wong, Chiu-Sing Pang, Weifeng Ou, Wing Yin Yu, Buhua Liu
2022 A* conf
CVPR
Xuehui Wang, Kai Zhao, Ruixin Zhang, Shouhong Ding, Yan Wang, Wei Shen
2022 J jnl
CoRR
Xuehui Wang, Kai Zhao, Ruixin Zhang, Shouhong Ding, Yan Wang, Wei Shen
2022 J jnl
Pattern Recognit.
Lei Shen, Yingyi Zhang, Kai Zhao, Ruixin Zhang, Wei Shen
2022 A* conf
CVPR
Danyang Tu, Xiongkuo Min, Huiyu Duan, Guodong Guo, Guangtao Zhai, Wei Shen
2022 J jnl
CoRR
Danyang Tu, Xiongkuo Min, Huiyu Duan, Guodong Guo, Guangtao Zhai, Wei Shen
2022 J jnl
IEEE Trans. Medical Imaging
Yuyin Zhou, David Dreizin, Yan Wang, Fengze Liu, Wei Shen, Alan L. Yuille
2022 J jnl
CoRR
Yuyin Zhou, David Dreizin, Yan Wang, Fengze Liu, Wei Shen, Alan L. Yuille
2022 J jnl
CoRR
Kai Zhao, Lei Shen, Yingyi Zhang, Chuhan Zhou, Tao Wang, Ruixin Zhang, Shouhong Ding, Wei Jia, Wei Shen
2022 A* conf
ICLR
Jinghao Zhou, Chen Wei, Huiyu Wang, Wei Shen, Cihang Xie, Alan L. Yuille, Tao Kong
2022 conf
ECCV (4)
Danyang Tu, Xiongkuo Min, Huiyu Duan, Guodong Guo, Guangtao Zhai, Wei Shen
2022 J jnl
CoRR
Danyang Tu, Xiongkuo Min, Huiyu Duan, Guodong Guo, Guangtao Zhai, Wei Shen
2022 J jnl
CoRR
Duowen Chen, Yunhao Bai, Wei Shen, Qingli Li, Lequan Yu, Yan Wang
2022 J jnl
IEEE Trans. Circuits Syst. Video Technol.
Chen Yang, Shunyu Yao, Zanwei Zhou, Bin Ji, Guangtao Zhai, Wei Shen
2022 conf
Cell Segmentation Challenge @ NeurIPS
Haotian Lu, Jinghao Feng, Zelin Peng, Wei Shen
2022 J jnl
Neurocomputing
Kai Zhao, Xuehui Wang, Xingyu Chen, Ruixin Zhang, Wei Shen
2022 A* conf
ACM Multimedia
Huiyu Duan, Wei Shen, Xiongkuo Min, Danyang Tu, Jing Li, Guangtao Zhai
2022 J jnl
CoRR
Huiyu Duan, Wei Shen, Xiongkuo Min, Danyang Tu, Jing Li, Guangtao Zhai
2022 J jnl
CoRR
Tongkun Guan, Wei Shen
2022 A* conf
ACM Multimedia
Yunhao Li, Zhenbo Yu, Yucheng Zhu, Bingbing Ni, Guangtao Zhai, Wei Shen
2022 J jnl
CoRR
Yunhao Li, Zhenbo Yu, Yucheng Zhu, Bingbing Ni, Guangtao Zhai, Wei Shen
2022 conf
MIDL
Yuan Yao, Fengze Liu, Zongwei Zhou, Yan Wang, Wei Shen, Alan L. Yuille, Yongyi Lu
2022 J jnl
CoRR
Yuan Yao, Fengze Liu, Zongwei Zhou, Yan Wang, Wei Shen, Alan L. Yuille, Yongyi Lu
2022 A* conf
NeurIPS
Danyang Tu, Wei Sun, Xiongkuo Min, Guangtao Zhai, Wei Shen
2022 J jnl
CoRR
Danyang Tu, Wei Sun, Xiongkuo Min, Guangtao Zhai, Wei Shen
2022 conf
CICAI (2)
Xiaoyu Ren, Huiyu Duan, Xiongkuo Min, Yucheng Zhu, Wei Shen, Linlin Wang, Fangyu Shi, Lei Fan, Xiaokang Yang, Guangtao Zhai
2021 A* conf
ICLR
Chen Wei, Huiyu Wang, Wei Shen, Alan L. Yuille
2021 J jnl
CoRR
Jiazhong Cen, Zenkun Jiang, Lingxi Xie, Qi Tian, Xiaokang Yang, Wei Shen
2021 J jnl
IEEE Trans. Pattern Anal. Mach. Intell.
Wei Shen, Yilu Guo, Yan Wang, Kai Zhao, Bo Wang, Alan L. Yuille
2021 J jnl
CoRR
Xintian Mao, Yiming Liu, Wei Shen, Qingli Li, Yan Wang
2021 A* conf
CVPR
Hao Ding, Siyuan Qiao, Alan L. Yuille, Wei Shen
2021 A* conf
CVPR
Yi Fang, Jiapeng Tang, Wang Shen, Wei Shen, Xiao Gu, Li Song, Guangtao Zhai
2021 A* conf
NeurIPS
Qihang Yu, Yingda Xia, Yutong Bai, Yongyi Lu, Alan L. Yuille, Wei Shen
2021 J jnl
CoRR
Qihang Yu, Yingda Xia, Yutong Bai, Yongyi Lu, Alan L. Yuille, Wei Shen
2021 J jnl
CoRR
Yan Wang, Peng Tang, Yuyin Zhou, Wei Shen, Elliot K. Fishman, Alan L. Yuille
2021 J jnl
IEEE Trans. Medical Imaging
Yan Wang, Peng Tang, Yuyin Zhou, Wei Shen, Elliot K. Fishman, Alan L. Yuille
2021 A* conf
ICCV
Yunhao Li, Wei Shen, Zhongpai Gao, Yucheng Zhu, Guangtao Zhai, Guodong Guo
2021 J jnl
CoRR
Yilin Wang, Shaozuo Yu, Xiaokang Yang, Wei Shen
2021 conf
ICCVW
Zhuotun Zhu, Yongyi Lu, Wei Shen, Elliot K. Fishman, Alan L. Yuille
2021 A* conf
ICLR
Yingwei Li, Qihang Yu, Mingxing Tan, Jieru Mei, Peng Tang, Wei Shen, Alan L. Yuille, Cihang Xie
2021 J jnl
CoRR
Boxiang Yun, Yan Wang, Jieneng Chen, Huiyu Wang, Wei Shen, Qingli Li
2021 J jnl
CoRR
Jinghao Zhou, Chen Wei, Huiyu Wang, Wei Shen, Cihang Xie, Alan L. Yuille, Tao Kong
2020 J jnl
CoRR
Yuhui Xu, Lingxi Xie, Cihang Xie, Jieru Mei, Siyuan Qiao, Wei Shen, Hongkai Xiong, Alan L. Yuille
2020 J jnl
CoRR
Chen Wei, Huiyu Wang, Wei Shen, Alan L. Yuille
2020 A* conf
CVPR
Yan Wang, Xu Wei, Fengze Liu, Jieneng Chen, Yuyin Zhou, Wei Shen, Elliot K. Fishman, Alan L. Yuille
2020 J jnl
CoRR
Yingda Xia, Qihang Yu, Wei Shen, Yuyin Zhou, Alan L. Yuille
2020 conf
MICCAI (3)
Yingda Xia, Qihang Yu, Wei Shen, Yuyin Zhou, Elliot K. Fishman, Alan L. Yuille
2020 J jnl
CoRR
Shuhao Fu, Yongyi Lu, Yan Wang, Yuyin Zhou, Wei Shen, Elliot K. Fishman, Alan L. Yuille
2020 conf
MICCAI (1)
Shuhao Fu, Yongyi Lu, Yan Wang, Yuyin Zhou, Wei Shen, Elliot K. Fishman, Alan L. Yuille
2020 J jnl
IEEE Trans. Pattern Anal. Mach. Intell.
Peng Tang, Xinggang Wang, Song Bai, Wei Shen, Xiang Bai, Wenyu Liu, Alan L. Yuille
2020 A conf
WACV
Yunhan Zhao, Ye Tian, Charless C. Fowlkes, Wei Shen, Alan L. Yuille
2020 A conf
WACV
Zhishuai Zhang, Wei Shen, Siyuan Qiao, Yan Wang, Bo Wang, Alan L. Yuille
2020 J jnl
CoRR
Zhuotun Zhu, Yongyi Lu, Wei Shen, Elliot K. Fishman, Alan L. Yuille
2020 J jnl
CoRR
Yingwei Li, Qihang Yu, Mingxing Tan, Jieru Mei, Peng Tang, Wei Shen, Alan L. Yuille, Cihang Xie
2020 conf
ECCV (1)
Yingda Xia, Yi Zhang, Fengze Liu, Wei Shen, Alan L. Yuille
2020 J jnl
CoRR
Yingda Xia, Yi Zhang, Fengze Liu, Wei Shen, Alan L. Yuille
2020 conf
ECCV Workshops (2)
Mingqing Xiao, Adam Kortylewski, Ruihai Wu, Siyuan Qiao, Wei Shen, Alan L. Yuille
2020 J jnl
CoRR
Yingwei Li, Zhuotun Zhu, Yuyin Zhou, Yingda Xia, Wei Shen, Elliot K. Fishman, Alan L. Yuille
2019 ch.
Deep Learning and Convolutional Neural Networks for Medical Imaging and Clinical Informatics
Yuyin Zhou, Qihang Yu, Yan Wang, Lingxi Xie, Wei Shen, Elliot K. Fishman, Alan L. Yuille
2019 J jnl
Medical Image Anal.
Yan Wang, Yuyin Zhou, Wei Shen, Seyoun Park, Elliot K. Fishman, Alan L. Yuille
2019 J jnl
CoRR
Wei Shen, Yilu Guo, Yan Wang, Kai Zhao, Bo Wang, Alan L. Yuille
2019 J jnl
CoRR
Yan Wang, Xu Wei, Fengze Liu, Jieneng Chen, Yuyin Zhou, Wei Shen, Elliot K. Fishman, Alan L. Yuille
2019 J jnl
Pattern Recognit. Lett.
Dan Zeng, Fan Zhao, Shiming Ge, Wei Shen
2019 J jnl
KSII Trans. Internet Inf. Syst.
Bin Wang, Wei Shen, Fansheng Chen, Dan Zeng
2019 conf
MLMI@MICCAI
Zhishuai Zhang, Yuyin Zhou, Wei Shen, Elliot K. Fishman, Alan L. Yuille
2019 J jnl
Inf. Sci.
Dan Zeng, Han Liu, Fan Zhao, Shiming Ge, Wei Shen, Zhijiang Zhang
2019 J jnl
CoRR
Siyuan Qiao, Huiyu Wang, Chenxi Liu, Wei Shen, Alan L. Yuille
2019 A conf
WACV
Yuyin Zhou, Yan Wang, Peng Tang, Song Bai, Wei Shen, Elliot K. Fishman, Alan L. Yuille
2019 J jnl
CoRR
Hao Ding, Siyuan Qiao, Wei Shen, Alan L. Yuille
2019 J jnl
CoRR
Mingqing Xiao, Adam Kortylewski, Ruihai Wu, Siyuan Qiao, Wei Shen, Alan L. Yuille
2019 ch.
Deep Learning and Convolutional Neural Networks for Medical Imaging and Clinical Informatics
Yingwei Li, Zhuotun Zhu, Yuyin Zhou, Yingda Xia, Wei Shen, Elliot K. Fishman, Alan L. Yuille
2019 J jnl
CoRR
Siyuan Qiao, Huiyu Wang, Chenxi Liu, Wei Shen, Alan L. Yuille
2018 conf
3DV
Zhuotun Zhu, Yingda Xia, Wei Shen, Elliot K. Fishman, Alan L. Yuille
2018 J jnl
CoRR
Yan Wang, Yuyin Zhou, Wei Shen, Seyoun Park, Elliot K. Fishman, Alan L. Yuille
2018 J jnl
Pattern Recognit. Lett.
Wei Shen, Chenting Du, Yuan Jiang, Dan Zeng, Zhijiang Zhang
2018 J jnl
Cogn. Comput.
Dan Zeng, Fan Zhao, Wei Shen, Shiming Ge
2018 conf
ECCV (15)
Siyuan Qiao, Wei Shen, Zhishuai Zhang, Bo Wang, Alan L. Yuille
2018 J jnl
CoRR
Siyuan Qiao, Wei Shen, Zhishuai Zhang, Bo Wang, Alan L. Yuille
2018 A* conf
CVPR
Wei Shen, Yilu Guo, Yan Wang, Kai Zhao, Bo Wang, Alan L. Yuille
2018 A* conf
CVPR
Siyuan Qiao, Chenxi Liu, Wei Shen, Alan L. Yuille
2018 A* conf
ICML
Siyuan Qiao, Zhishuai Zhang, Wei Shen, Bo Wang, Alan L. Yuille
2018 A* conf
IJCAI
Kai Zhao, Wei Shen, Shanghua Gao, Dandan Li, Ming-Ming Cheng
2018 J jnl
CoRR
Kai Zhao, Wei Shen, Shanghua Gao, Dandan Li, Ming-Ming Cheng
2018 J jnl
Signal Process. Image Commun.
Yuanwang Wei, Wei Shen, Dan Zeng, Lihua Ye, Zhijiang Zhang
2018 J jnl
CoRR
Peng Tang, Xinggang Wang, Song Bai, Wei Shen, Xiang Bai, Wenyu Liu, Alan L. Yuille
2018 J jnl
CoRR
Zhishuai Zhang, Wei Shen, Siyuan Qiao, Yan Wang, Bo Wang, Alan L. Yuille
2018 J jnl
CoRR
Yuyin Zhou, Yan Wang, Peng Tang, Wei Shen, Elliot K. Fishman, Alan L. Yuille
2018 A* conf
CVPR
Zhishuai Zhang, Siyuan Qiao, Cihang Xie, Wei Shen, Bo Wang, Alan L. Yuille
2018 J jnl
CoRR
Yunhan Zhao, Ye Tian, Wei Shen, Alan L. Yuille
2018 conf
MICCAI (4)
Yan Wang, Yuyin Zhou, Peng Tang, Wei Shen, Elliot K. Fishman, Alan L. Yuille
2018 J jnl
CoRR
Yan Wang, Yuyin Zhou, Peng Tang, Wei Shen, Elliot K. Fishman, Alan L. Yuille
2017 J jnl
CoRR
Zhuotun Zhu, Yingda Xia, Wei Shen, Elliot K. Fishman, Alan L. Yuille
2017 conf
MICCAI (1)
Yuyin Zhou, Lingxi Xie, Wei Shen, Yan Wang, Elliot K. Fishman, Alan L. Yuille
2017 J jnl
J. Electronic Imaging
Yaping Yu, Wei Shen, He Huang, Zhijiang Zhang
2017 J jnl
CoRR
Wei Shen, Yilu Guo, Yan Wang, Kai Zhao, Bo Wang, Alan L. Yuille
2017 J jnl
IEEE Trans. Image Process.
Wei Shen, Kai Zhao, Yuan Jiang, Yan Wang, Xiang Bai, Alan L. Yuille
2017 J jnl
J. Comput. Sci. Technol.
Xiang Bai, Zheng Zhang, Hongyang Wang, Wei Shen
2017 J jnl
CoRR
Siyuan Qiao, Chenxi Liu, Wei Shen, Alan L. Yuille
2017 J jnl
CoRR
Siyuan Qiao, Zhishuai Zhang, Wei Shen, Bo Wang, Alan L. Yuille
2017 conf
NIPS
Wei Shen, Kai Zhao, Yilu Guo, Alan L. Yuille
2017 J jnl
CoRR
Wei Shen, Kai Zhao, Yilu Guo, Alan L. Yuille
2017 A* conf
ICCV
Wei Shen, Bin Wang, Yuan Jiang, Yan Wang, Alan L. Yuille
2017 J jnl
CoRR
Wei Shen, Bin Wang, Yuan Jiang, Yan Wang, Alan L. Yuille
2017 J jnl
Neurocomputing
Dan Zeng, Ting Zhang, Rui Fang, Wei Shen, Qi Tian
2017 A* conf
ICCV
Siyuan Qiao, Wei Shen, Weichao Qiu, Chenxi Liu, Alan L. Yuille
2017 J jnl
CoRR
Siyuan Qiao, Wei Shen, Weichao Qiu, Chenxi Liu, Alan L. Yuille
2017 B conf
ICIP
Wei Shen, Wenjing Gao, Yuan Jiang, Dan Zeng, Zhijiang Zhang
2017 J jnl
CoRR
Zhishuai Zhang, Siyuan Qiao, Cihang Xie, Wei Shen, Bo Wang, Alan L. Yuille
2017 J jnl
Remote. Sens.
Dan Zeng, Lidan Wu, Boyang Chen, Wei Shen
2017 J jnl
Signal Process. Image Commun.
Yuanwang Wei, Zhijiang Zhang, Wei Shen, Dan Zeng, Mei Fang, Shifu Zhou
2016 J jnl
CoRR
Wei Shen, Kai Zhao, Yuan Jiang, Yan Wang, Xiang Bai, Alan L. Yuille
2016 J jnl
CoRR
Zheng Zhang, Chengquan Zhang, Wei Shen, Cong Yao, Wenyu Liu, Xiang Bai
2016 A* conf
CVPR
Zheng Zhang, Chengquan Zhang, Wei Shen, Cong Yao, Wenyu Liu, Xiang Bai
2016 J jnl
Pattern Recognit.
Wei Shen, Xiang Bai, Zihao Hu, Zhijiang Zhang
2016 A* conf
CVPR
Wei Shen, Kai Zhao, Yuan Jiang, Yan Wang, Zhijiang Zhang, Xiang Bai
2016 J jnl
CoRR
Wei Shen, Kai Zhao, Yuan Jiang, Yan Wang, Zhijiang Zhang, Xiang Bai
2016 J jnl
CoRR
Yuyin Zhou, Lingxi Xie, Wei Shen, Elliot K. Fishman, Alan L. Yuille
2016 J jnl
CoRR
Wei Shen, Yuan Jiang, Wenjing Gao, Dan Zeng, Xinggang Wang
2016 J jnl
Pattern Recognit. Lett.
Wei Shen, Yuan Jiang, Wenjing Gao, Dan Zeng, Xinggang Wang
2016 J jnl
Signal Process. Image Commun.
Shifu Zhou, Wei Shen, Dan Zeng, Mei Fang, Yuanwang Wei, Zhijiang Zhang
2015 A* conf
CVPR
Wei Shen, Xinggang Wang, Yan Wang, Xiang Bai, Zhijiang Zhang
2015 J jnl
J. Electronic Imaging
Shifu Zhou, Dan Zeng, Wei Shen, Zhijiang Zhang, Qi Tian
2015 conf
DSP
Yanpeng Yin, Dan Zeng, Wei Shen, Cheng Cheng, Zhijiang Zhang
2015 A* conf
CVPR
Zheng Zhang, Wei Shen, Cong Yao, Xiang Bai
2015 Misc conf
ICASSP
Shifu Zhou, Wei Shen, Dan Zeng, Zhijiang Zhang
2014 J jnl
IEEE Trans. Cybern.
Wei Shen, Ke Deng, Xiang Bai, Tommer Leyvand, Baining Guo, Zhuowen Tu
2014 conf
ACCV (2)
Wei Shen, Rui Lei, Dan Zeng, Zhijiang Zhang
2014 conf
CCPR (1)
Wei Shen, Xinggang Wang, Cong Yao, Xiang Bai
2013 B conf
FG
Ying Li, Wei Shen, Xun Shi, Zhijiang Zhang
2013 J jnl
Neurocomputing
Wei Shen, Bo Wang, Yueming Wang, Xiang Bai, Longin Jan Latecki
2013 J jnl
Pattern Recognit.
Wei Shen, Yan Wang, Xiang Bai, Hongyuan Wang, Longin Jan Latecki
2013 J jnl
Sci. China Inf. Sci.
Wei Shen, Xiang Bai, Xingwei Yang, Longin Jan Latecki
2012 A* conf
CVPR
Wei Shen, Ke Deng, Xiang Bai, Tommer Leyvand, Baining Guo, Zhuowen Tu
2012 conf
ICIMCS
Wei Shen, Shuai Xiao, Nan Jiang, Wenyu Liu
2011 C conf
ICICS
Cong Yao, Wei Shen, Xiang Bai, Wenyu Liu
2011 J jnl
Pattern Recognit.
Wei Shen, Xiang Bai, Rong Hu, Hongyuan Wang, Longin Jan Latecki
2010 J jnl
Neurocomputing
Rong Hu, Wei Shen, Hongyuan Wang
2010 B conf
ICPR
Bo Wang, Wei Shen, Wenyu Liu, Xinge You, Xiang Bai
tests/integration/test_elf_extractors.py
← Index tests/integration/test_elf_extractors.py python
"""
Integration tests for ELF-specific extractors.
"""
import pytest
from unittest.mock import Mock, patch, MagicMock

pytestmark = [pytest.mark.integration, pytest.mark.elf]


# ============================================================================
# ELFFeaturesExtractor Tests
# ============================================================================

class TestELFFeaturesExtractor:
    """Tests for ELFFeaturesExtractor class."""

    def test_extract_valid_elf(self, elf_binary_path, mock_logger):
        """Test extracting features from valid ELF file."""
        from redb.extractors.elf_extractors.elf_features import ELFFeaturesExtractor
        from redb.models.dataclasses import ELFFeatures

        with patch('redb.settings.ELASTIC_BINARIES_COLLECTION', 'test'):
            extractor = ELFFeaturesExtractor(elf_binary_path, mock_logger)

            result = extractor.extract()

            assert result is not None
            assert isinstance(result, ELFFeatures)

    def test_extract_header_data(self, elf_binary_path, mock_logger):
        """Test ELF header data extraction."""
        from redb.extractors.elf_extractors.elf_features import ELFFeaturesExtractor

        with patch('redb.settings.ELASTIC_BINARIES_COLLECTION', 'test'):
            extractor = ELFFeaturesExtractor(elf_binary_path, mock_logger)

            result = extractor.extract()

            assert result is not None
            # Check header fields
            assert isinstance(result.ei_class, int)
            assert isinstance(result.ei_data, int)
            assert isinstance(result.e_type, int)
            assert isinstance(result.e_machine, int)
            assert isinstance(result.e_entry, int)

    def test_extract_human_readable_strings(self, elf_binary_path, mock_logger):
        """Test human-readable string fields."""
        from redb.extractors.elf_extractors.elf_features import ELFFeaturesExtractor

        with patch('redb.settings.ELASTIC_BINARIES_COLLECTION', 'test'):
            extractor = ELFFeaturesExtractor(elf_binary_path, mock_logger)

            result = extractor.extract()

            assert result is not None
            assert result.ei_class_str in ['32-bit', '64-bit', 'unknown']
            assert result.ei_data_str in ['Little-endian', 'Big-endian', 'unknown']
            assert result.e_type_str is not None
            assert result.e_machine_str is not None

    def test_extract_security_properties(self, elf_binary_path, mock_logger):
        """Test security property extraction."""
        from redb.extractors.elf_extractors.elf_features import ELFFeaturesExtractor

        with patch('redb.settings.ELASTIC_BINARIES_COLLECTION', 'test'):
            extractor = ELFFeaturesExtractor(elf_binary_path, mock_logger)

            result = extractor.extract()

            assert result is not None
            # Security flags should be 0 or 1
            assert result.is_pie in [0, 1]
            assert result.has_canary in [0, 1]
            assert result.has_nx in [0, 1]
            assert result.has_relro in [0, 1]
            assert result.has_fortify in [0, 1]

    def test_extract_counts(self, elf_binary_path, mock_logger):
        """Test section/segment/symbol counts."""
        from redb.extractors.elf_extractors.elf_features import ELFFeaturesExtractor

        with patch('redb.settings.ELASTIC_BINARIES_COLLECTION', 'test'):
            extractor = ELFFeaturesExtractor(elf_binary_path, mock_logger)

            result = extractor.extract()

            assert result is not None
            assert result.number_of_segments >= 0
            assert result.number_of_sections >= 0
            assert result.number_of_symbols >= 0
            assert result.number_of_dynamic_symbols >= 0
            assert result.number_of_relocations >= 0
            assert result.number_of_dependencies >= 0

    def test_extract_build_info(self, elf_binary_path, mock_logger):
        """Test build information extraction."""
        from redb.extractors.elf_extractors.elf_features import ELFFeaturesExtractor

        with patch('redb.settings.ELASTIC_BINARIES_COLLECTION', 'test'):
            extractor = ELFFeaturesExtractor(elf_binary_path, mock_logger)

            result = extractor.extract()

            assert result is not None
            # Build ID may or may not be present
            if result.build_id is not None:
                assert isinstance(result.build_id, str)
            assert result.gnu_hash_present in [0, 1]
            assert result.has_debug_info in [0, 1]

    def test_extract_invalid_elf(self, pe_binary_path, mock_logger):
        """Test extraction with non-ELF file."""
        from redb.extractors.elf_extractors.elf_features import ELFFeaturesExtractor

        with patch('redb.settings.ELASTIC_BINARIES_COLLECTION', 'test'):
            extractor = ELFFeaturesExtractor(pe_binary_path, mock_logger)

            result = extractor.extract()

            # Should return None for invalid ELF
            assert result is None


# ============================================================================
# ELFSectionExtractor Tests
# ============================================================================

class TestELFSectionExtractor:
    """Tests for ELFSectionExtractor class."""

    def test_extract_sections(self, elf_binary_path, mock_logger):
        """Test section extraction."""
        from redb.extractors.elf_extractors.elf_sections import ELFSectionExtractor

        with patch('redb.settings.ELASTIC_BINARIES_COLLECTION', 'test'):
            extractor = ELFSectionExtractor(elf_binary_path, mock_logger)

            result = extractor.extract()

            assert result is not None
            assert isinstance(result, list)
            assert len(result) > 0

    def test_section_properties(self, elf_binary_path, mock_logger):
        """Test section property extraction."""
        from redb.extractors.elf_extractors.elf_sections import ELFSectionExtractor
        from redb.models.dataclasses import ELFSection

        with patch('redb.settings.ELASTIC_BINARIES_COLLECTION', 'test'):
            extractor = ELFSectionExtractor(elf_binary_path, mock_logger)

            result = extractor.extract()

            if result is not None and len(result) > 0:
                section = result[0]
                assert isinstance(section, ELFSection)
                assert section.section_name is not None
                assert isinstance(section.section_type, int)
                assert isinstance(section.section_flags, int)
                assert section.section_entropy >= 0

    def test_section_hashes(self, elf_binary_path, mock_logger):
        """Test section hash computation."""
        from redb.extractors.elf_extractors.elf_sections import ELFSectionExtractor

        with patch('redb.settings.ELASTIC_BINARIES_COLLECTION', 'test'):
            extractor = ELFSectionExtractor(elf_binary_path, mock_logger)

            result = extractor.extract()

            if result is not None and len(result) > 0:
                for section in result:
                    if section.section_sha256:
                        assert len(section.section_sha256) == 64
                    if section.section_md5:
                        assert len(section.section_md5) == 32


# ============================================================================
# ELFSegmentExtractor Tests
# ============================================================================

class TestELFSegmentExtractor:
    """Tests for ELFSegmentExtractor class."""

    def test_extract_segments(self, elf_binary_path, mock_logger):
        """Test segment extraction."""
        from redb.extractors.elf_extractors.elf_segments import ELFSegmentExtractor

        with patch('redb.settings.ELASTIC_BINARIES_COLLECTION', 'test'):
            extractor = ELFSegmentExtractor(elf_binary_path, mock_logger)

            result = extractor.extract()

            assert result is not None
            assert isinstance(result, list)

    def test_segment_properties(self, elf_binary_path, mock_logger):
        """Test segment property extraction."""
        from redb.extractors.elf_extractors.elf_segments import ELFSegmentExtractor
        from redb.models.dataclasses import ELFSegment

        with patch('redb.settings.ELASTIC_BINARIES_COLLECTION', 'test'):
            extractor = ELFSegmentExtractor(elf_binary_path, mock_logger)

            result = extractor.extract()

            if result is not None and len(result) > 0:
                segment = result[0]
                assert isinstance(segment, ELFSegment)
                assert isinstance(segment.segment_type, int)
                assert isinstance(segment.segment_flags, int)


# ============================================================================
# ELFSymbolExtractor Tests
# ============================================================================

class TestELFSymbolExtractor:
    """Tests for ELFSymbolExtractor class."""

    def test_extract_symbols(self, elf_binary_path, mock_logger):
        """Test symbol extraction."""
        from redb.extractors.elf_extractors.elf_symbols import ELFSymbolExtractor

        with patch('redb.settings.ELASTIC_BINARIES_COLLECTION', 'test'):
            extractor = ELFSymbolExtractor(elf_binary_path, mock_logger)

            result = extractor.extract()

            # May be None if stripped
            if result is not None:
                assert isinstance(result, list)

    def test_symbol_properties(self, elf_binary_path, mock_logger):
        """Test symbol property extraction."""
        from redb.extractors.elf_extractors.elf_symbols import ELFSymbolExtractor
        from redb.models.dataclasses import ELFSymbol

        with patch('redb.settings.ELASTIC_BINARIES_COLLECTION', 'test'):
            extractor = ELFSymbolExtractor(elf_binary_path, mock_logger)

            result = extractor.extract()

            if result is not None and len(result) > 0:
                symbol = result[0]
                assert isinstance(symbol, ELFSymbol)
                assert symbol.symbol_name is not None
                assert isinstance(symbol.symbol_type, int)
                assert isinstance(symbol.symbol_bind, int)


# ============================================================================
# ELFImportExtractor Tests
# ============================================================================

class TestELFImportExtractor:
    """Tests for ELFImportExtractor class."""

    def test_extract_imports(self, elf_binary_path, mock_logger):
        """Test import extraction."""
        from redb.extractors.elf_extractors.elf_imports import ELFImportExtractor

        with patch('redb.settings.ELASTIC_BINARIES_COLLECTION', 'test'):
            extractor = ELFImportExtractor(elf_binary_path, mock_logger)

            result = extractor.extract()

            # May be None if no imports
            if result is not None:
                assert hasattr(result, 'elf_imports_total')

    def test_import_functions(self, elf_binary_path, mock_logger):
        """Test import function extraction."""
        from redb.extractors.elf_extractors.elf_imports import ELFImportExtractor
        from redb.models.dataclasses import ELFImport

        with patch('redb.settings.ELASTIC_BINARIES_COLLECTION', 'test'):
            extractor = ELFImportExtractor(elf_binary_path, mock_logger)

            result = extractor.extract()

            if result is not None:
                assert isinstance(result, ELFImport)
                assert isinstance(result.elf_imports_total, int)


# ============================================================================
# ELFExportExtractor Tests
# ============================================================================

class TestELFExportExtractor:
    """Tests for ELFExportExtractor class."""

    def test_extract_exports(self, elf_binary_path, mock_logger):
        """Test export extraction."""
        from redb.extractors.elf_extractors.elf_exports import ELFExportExtractor

        with patch('redb.settings.ELASTIC_BINARIES_COLLECTION', 'test'):
            extractor = ELFExportExtractor(elf_binary_path, mock_logger)

            result = extractor.extract()

            # May be None if no exports
            if result is not None:
                assert hasattr(result, 'elf_exports_total')

    def test_export_functions(self, elf_binary_path, mock_logger):
        """Test export function extraction."""
        from redb.extractors.elf_extractors.elf_exports import ELFExportExtractor
        from redb.models.dataclasses import ELFExport

        with patch('redb.settings.ELASTIC_BINARIES_COLLECTION', 'test'):
            extractor = ELFExportExtractor(elf_binary_path, mock_logger)

            result = extractor.extract()

            if result is not None:
                assert isinstance(result, ELFExport)


# ============================================================================
# ELFDependencyExtractor Tests
# ============================================================================

class TestELFDependencyExtractor:
    """Tests for ELFDependencyExtractor class."""

    def test_extract_dependencies(self, elf_binary_path, mock_logger):
        """Test dependency extraction."""
        from redb.extractors.elf_extractors.elf_dependencies import ELFDependencyExtractor

        with patch('redb.settings.ELASTIC_BINARIES_COLLECTION', 'test'):
            extractor = ELFDependencyExtractor(elf_binary_path, mock_logger)

            result = extractor.extract()

            # May be None if no dependencies
            if result is not None:
                assert isinstance(result, list)

    def test_dependency_properties(self, elf_binary_path, mock_logger):
        """Test dependency property extraction."""
        from redb.extractors.elf_extractors.elf_dependencies import ELFDependencyExtractor
        from redb.models.dataclasses import ELFDependency

        with patch('redb.settings.ELASTIC_BINARIES_COLLECTION', 'test'):
            extractor = ELFDependencyExtractor(elf_binary_path, mock_logger)

            result = extractor.extract()

            if result is not None and len(result) > 0:
                dep = result[0]
                assert isinstance(dep, ELFDependency)
                assert dep.dependency_name is not None


# ============================================================================
# ELFRelocationExtractor Tests
# ============================================================================

class TestELFRelocationExtractor:
    """Tests for ELFRelocationExtractor class."""

    def test_extract_relocations(self, elf_binary_path, mock_logger):
        """Test relocation extraction."""
        from redb.extractors.elf_extractors.elf_relocations import ELFRelocationExtractor

        with patch('redb.settings.ELASTIC_BINARIES_COLLECTION', 'test'):
            extractor = ELFRelocationExtractor(elf_binary_path, mock_logger)

            result = extractor.extract()

            # May be None if no relocations
            if result is not None:
                assert isinstance(result, list)

    def test_relocation_properties(self, elf_binary_path, mock_logger):
        """Test relocation property extraction."""
        from redb.extractors.elf_extractors.elf_relocations import ELFRelocationExtractor
        from redb.models.dataclasses import ELFRelocation

        with patch('redb.settings.ELASTIC_BINARIES_COLLECTION', 'test'):
            extractor = ELFRelocationExtractor(elf_binary_path, mock_logger)

            result = extractor.extract()

            if result is not None and len(result) > 0:
                reloc = result[0]
                assert isinstance(reloc, ELFRelocation)
                assert isinstance(reloc.relocation_offset, int)
                assert isinstance(reloc.relocation_type, int)


# ============================================================================
# ELFNotesExtractor Tests
# ============================================================================

class TestELFNotesExtractor:
    """Tests for ELFNotesExtractor class."""

    def test_extract_notes(self, elf_binary_path, mock_logger):
        """Test notes extraction."""
        from redb.extractors.elf_extractors.elf_notes import ELFNotesExtractor

        with patch('redb.settings.ELASTIC_BINARIES_COLLECTION', 'test'):
            extractor = ELFNotesExtractor(elf_binary_path, mock_logger)

            result = extractor.extract()

            # May be None if no notes
            if result is not None:
                assert isinstance(result, list)

    def test_note_properties(self, elf_binary_path, mock_logger):
        """Test note property extraction."""
        from redb.extractors.elf_extractors.elf_notes import ELFNotesExtractor
        from redb.models.dataclasses import ELFNote

        with patch('redb.settings.ELASTIC_BINARIES_COLLECTION', 'test'):
            extractor = ELFNotesExtractor(elf_binary_path, mock_logger)

            result = extractor.extract()

            if result is not None and len(result) > 0:
                note = result[0]
                assert isinstance(note, ELFNote)
                assert note.note_name is not None
                assert isinstance(note.note_type, int)


# ============================================================================
# Integration Tests
# ============================================================================

class TestELFExtractorIntegration:
    """Integration tests for ELF extractors."""

    def test_all_extractors_valid_elf(self, elf_binary_path, mock_logger):
        """Test all ELF extractors with valid ELF file."""
        from redb.extractors.elf_extractors.elf_features import ELFFeaturesExtractor
        from redb.extractors.elf_extractors.elf_sections import ELFSectionExtractor
        from redb.extractors.elf_extractors.elf_segments import ELFSegmentExtractor

        with patch('redb.settings.ELASTIC_BINARIES_COLLECTION', 'test'):
            features_ext = ELFFeaturesExtractor(elf_binary_path, mock_logger)
            sections_ext = ELFSectionExtractor(elf_binary_path, mock_logger)
            segments_ext = ELFSegmentExtractor(elf_binary_path, mock_logger)

            features_result = features_ext.extract()
            sections_result = sections_ext.extract()
            segments_result = segments_ext.extract()

            # All should extract something
            assert features_result is not None
            assert sections_result is not None
            assert segments_result is not None

    def test_hash_consistency_across_extractors(self, elf_binary_path, mock_logger):
        """Test that hashes are consistent across all extractors."""
        from redb.extractors.elf_extractors.elf_features import ELFFeaturesExtractor
        from redb.extractors.elf_extractors.elf_sections import ELFSectionExtractor

        with patch('redb.settings.ELASTIC_BINARIES_COLLECTION', 'test'):
            features_ext = ELFFeaturesExtractor(elf_binary_path, mock_logger)
            sections_ext = ELFSectionExtractor(elf_binary_path, mock_logger)

            # Hashes should be the same
            assert features_ext.sha256 == sections_ext.sha256
            assert features_ext.md5 == sections_ext.md5
            assert features_ext.sha1 == sections_ext.sha1

    def test_clickhouse_tables_unique(self, elf_binary_path, mock_logger):
        """Test that each extractor has a unique ClickHouse table."""
        from redb.extractors.elf_extractors.elf_features import ELFFeaturesExtractor
        from redb.extractors.elf_extractors.elf_sections import ELFSectionExtractor
        from redb.extractors.elf_extractors.elf_segments import ELFSegmentExtractor

        with patch('redb.settings.ELASTIC_BINARIES_COLLECTION', 'test'):
            features_ext = ELFFeaturesExtractor(elf_binary_path, mock_logger)
            sections_ext = ELFSectionExtractor(elf_binary_path, mock_logger)
            segments_ext = ELFSegmentExtractor(elf_binary_path, mock_logger)

            tables = {
                features_ext.get_clickhouse_table(),
                sections_ext.get_clickhouse_table(),
                segments_ext.get_clickhouse_table(),
            }

            # All tables should be unique
            assert len(tables) == 3


# ============================================================================
# Advanced Binary Tests
# ============================================================================

class TestELFAdvancedBinary:
    """Tests using the hello_advanced binary."""

    def test_advanced_features_extraction(self, elf_advanced_binary_path, mock_logger):
        """Test feature extraction from advanced ELF binary."""
        from redb.extractors.elf_extractors.elf_features import ELFFeaturesExtractor

        with patch('redb.settings.ELASTIC_BINARIES_COLLECTION', 'test'):
            extractor = ELFFeaturesExtractor(elf_advanced_binary_path, mock_logger)

            result = extractor.extract()

            assert result is not None
            assert result.number_of_sections > 0

    def test_advanced_sections_extraction(self, elf_advanced_binary_path, mock_logger):
        """Test section extraction from advanced ELF binary."""
        from redb.extractors.elf_extractors.elf_sections import ELFSectionExtractor

        with patch('redb.settings.ELASTIC_BINARIES_COLLECTION', 'test'):
            extractor = ELFSectionExtractor(elf_advanced_binary_path, mock_logger)

            result = extractor.extract()

            assert result is not None
            assert len(result) > 0

            # Check for common ELF sections
            section_names = [s.section_name for s in result]
            # Most ELF files have .text section
            assert any('.text' in name for name in section_names)

    def test_advanced_segments_extraction(self, elf_advanced_binary_path, mock_logger):
        """Test segment extraction from advanced ELF binary."""
        from redb.extractors.elf_extractors.elf_segments import ELFSegmentExtractor

        with patch('redb.settings.ELASTIC_BINARIES_COLLECTION', 'test'):
            extractor = ELFSegmentExtractor(elf_advanced_binary_path, mock_logger)

            result = extractor.extract()

            assert result is not None
            assert len(result) > 0


# ============================================================================
# Export Data Tests
# ============================================================================

class TestELFExtractorExportData:
    """Tests for export data preparation."""

    def test_features_prepare_export_clickhouse(self, elf_binary_path, mock_logger):
        """Test ClickHouse export preparation for features."""
        from redb.extractors.elf_extractors.elf_features import ELFFeaturesExtractor

        with patch('redb.settings.ELASTIC_BINARIES_COLLECTION', 'test'):
            extractor = ELFFeaturesExtractor(elf_binary_path, mock_logger)
            extractor.extract()

            result = extractor.prepare_export_data("ClickHouseExporter")

            assert result is not None
            data, column_names, column_type_names = result

            assert 'sha256' in column_names
            assert 'ei_class' in column_names
            assert 'e_machine' in column_names
            assert 'is_pie' in column_names

    def test_sections_prepare_export_clickhouse(self, elf_binary_path, mock_logger):
        """Test ClickHouse export preparation for sections."""
        from redb.extractors.elf_extractors.elf_sections import ELFSectionExtractor

        with patch('redb.settings.ELASTIC_BINARIES_COLLECTION', 'test'):
            extractor = ELFSectionExtractor(elf_binary_path, mock_logger)
            extractor.extract()

            result = extractor.prepare_export_data("ClickHouseExporter")

            if result is not None:
                data, column_names, column_type_names = result
                assert 'section_name' in column_names
                assert 'section_entropy' in column_names

    def test_segments_prepare_export_clickhouse(self, elf_binary_path, mock_logger):
        """Test ClickHouse export preparation for segments."""
        from redb.extractors.elf_extractors.elf_segments import ELFSegmentExtractor

        with patch('redb.settings.ELASTIC_BINARIES_COLLECTION', 'test'):
            extractor = ELFSegmentExtractor(elf_binary_path, mock_logger)
            extractor.extract()

            result = extractor.prepare_export_data("ClickHouseExporter")

            if result is not None:
                data, column_names, column_type_names = result
                assert 'segment_type' in column_names