Xiaohua Li

108 papers A* 3A 3B 3C 5Misc 4Journal 58Unranked 32
YearRankTypeTitle / Venue / Authors
2026 J jnl
Inf. Fusion
Chenbo Qi, Xiaohua Li, Xing Yang, Zhengming Li
2026 J jnl
Health Inf. Sci. Syst.
Huashu Wen, Xiaohua Li, Haibo Zhang, Birong Wen, Yaying Ren, Xia Zhao
2025 J jnl
J. Theor. Appl. Electron. Commer. Res.
Jinpeng Wen, Xiaohua Li
2025 Misc conf
WISA
Haidong Xin, Sen Mei, Zhenghao Liu, Xiaohua Li, Minghe Yu, Yu Gu, Ge Yu
2025 J jnl
Int. J. Syst. Sci.
Ying Liu, Xiaohua Li, Xiaoping Liu, Yang Liu
2025 J jnl
CoRR
Jordan Madden, Lhamo Dorje, Xiaohua Li
2025 conf
APWeb-WAIM (3)
Haokai Xu, Xiaomei Dong, Gang Wang, Zeshun Peng, Xiaohua Li, Ge Yu
2025 conf
APWeb-WAIM (3)
Haoyi Ding, Zeshun Peng, Gang Wang, Xiaohua Li, Xiaomei Dong, Ge Yu
2025 J jnl
IEICE Electron. Express
Xiaohua Li, Zhongchuan Han, Ruilin Pei, Zhiye Li, Xu Han
2025 J jnl
J. Theor. Appl. Electron. Commer. Res.
Jinpeng Wen, Xiaohua Li, Hongxing Han
2025 A* conf
SIGIR
Qiushi Xiong, Zhipeng Xu, Zhenghao Liu, Mengjia Wang, Zulong Chen, Yue Sun, Yu Gu, Xiaohua Li, Ge Yu
2025 J jnl
CoRR
Qiushi Xiong, Zhipeng Xu, Zhenghao Liu, Mengjia Wang, Zulong Chen, Yue Sun, Yu Gu, Xiaohua Li, Ge Yu
2025 J jnl
Comput.
Xiaohua Li, Chaiyan Jettanasen, Pathomthat Chiradeja
2025 conf
BIBM
Jin Zhao, Zhiguo Fan, Yu Zhang, Weicong Liang, Zhengxin Zhang, Xiaohua Li
2025 J jnl
Internet Technol. Lett.
Xiaohua Li
2025 A conf
CIKM
Taibo Wang, Yu Gu, Xinning Cui, Zhen Song, Xiaohua Li, Fangfang Li
2025 J jnl
CoRR
Beiming Liu, Zhizhuo Cui, Siteng Hu, Xiaohua Li, Haifeng Lin, Zhengxin Zhang
2025 A* conf
ICDE
Zeshun Peng, Yanfeng Zhang, Tinghao Feng, Weixing Zhou, Xiaohua Li, Ge Yu
2025 J jnl
IEEE Trans. Big Data
Yuqing Lan, Zhenghao Liu, Yu Gu, Xiaoyuan Yi, Xiaohua Li, Liner Yang, Ge Yu
2025 J jnl
J. Comput. Des. Eng.
Renyi Wu, Chengfan Ye, Lei Liu, Xiaohua Li, Lei Chen
2025 J jnl
Int. J. Control
Songnan Zou, Xiaohua Li
2025 J jnl
Comput.
Xiaohua Li, Chaiyan Jettanasen
2025 conf
BIBM
Hanyu Mao, Tiezheng Nie, Minghe Yu, Xiaomei Dong, Xiaohua Li, Ge Yu
2025 J jnl
IEEE Trans. Big Data
Qi Dai, Yu Gu, Xiaofeng Zhu, Xiaohua Li, Fangfang Li, Ge Yu
2025 J jnl
Signal Image Video Process.
Xiaohua Li, Zhenhua Yang
2025 J jnl
IEEE Commun. Lett.
Zhongxia Zhang, Bingsheng Shen, Xiaohua Li, Shaopeng Yang, Pei Wang
2025 conf
APWeb-WAIM (3)
Hanyu Mao, Tiezheng Nie, Minghe Yu, Xiaomei Dong, Xiaohua Li, Ge Yu
2024 J jnl
Database J. Biol. Databases Curation
Wenqian Li, Yinliang Chen, Ruofei Yang, Zilong Hu, Shaozhong Wei, Sheng Hu, Xinjun Xiong, Meijuan Wang, Ammar Lubeiny, Xiaohua Li, Minglei Feng, Shuang Dong, Xinlu Xie, Chao Nie, Jingyi Zhang, Yunhao Luo, Yichen Zhou, Ruodi Liu, Jinhai Pan, De-Xin Kong, Xuebo Hu
2024 J jnl
Sensors
Shigong Fan, Yixi Cai, Zongzhen Zhang, Jinrui Wang, Yunxi Shi, Xiaohua Li
2024 J jnl
IEICE Electron. Express
Xiaohua Li, Xu Han, Zhongchuan Han, Meiying Xue, Ruilin Pei
2024 J jnl
CoRR
Jordan Madden, Moxanki Bhavsar, Lhamo Dorje, Xiaohua Li
2024 J jnl
Briefings Bioinform.
Kexin Li, Hong Yang, Anqi Lin, Jiayi Xie, Haitao Wang, Jianguo Zhou, Shamus R. Carr, Zaoqu Liu, Xiaohua Li, Jian Zhang, Quan Cheng, David S. Schrump, Peng Luo, Ting Wei
2024 conf
DASFAA (6)
Qi Dai, Yumeng Song, Yu Gu, Fangfang Li, Xiaohua Li
2024 B conf
IJCNN
Lihu Pan, Xiaohua Li, Zhengkui Wang, Rui Zhang, Nan Yang, Wen Shan
2024 conf
ICC
Lhamo Dorje, Xiaohua Li, Soamar Homsi
2024 conf
WISE (3)
Tinghao Feng, Zeshun Peng, Yanfeng Zhang, Xiaohua Li, Xiaomei Dong, Ge Yu
2024 A conf
ICDCS
Gang Wang, Yanfeng Zhang, Chenhao Ying, Xiaohua Li, Ge Yu
2024 J jnl
BMC Medical Imaging
Anle Yu, Lanfang Su, Qun Li, Xiaohua Li, Sile Tao, Feng Li, Danqiong Deng
2024 J jnl
CoRR
Yuqing Lan, Zhenghao Liu, Yu Gu, Xiaoyuan Yi, Xiaohua Li, Liner Yang, Ge Yu
2024 J jnl
Comput. Biol. Medicine
Hongliang Guo, Mingyang Li, Hanbo Liu, Xiao Chen, Zhiqiang Cheng, Xiaohua Li, Helong Yu, Qiuxiang He
2024 J jnl
IEICE Electron. Express
Xiaohua Li, Xue Tian, Guangxu Li
2024 J jnl
Expert Syst. Appl.
Shuren Jin, Xu Li, Pengfei Wang, Xiaohua Li, Dianhua Zhang
2024 J jnl
Int. J. Syst. Sci.
Songnan Zou, Xiaohua Li, Yang Liu
2023 J jnl
Comput. Biol. Medicine
Zenglin Qiao, Lynn Li, Xinchao Zhao, Lei Liu, Qian Zhang, Shili Hechmi, Mohamed Atri, Xiaohua Li
2023 conf
DASFAA (2)
Jingbo Wang, Yumeng Song, Yu Gu, Xiaohua Li, Fangfang Li
2023 J jnl
IEEE Access
Xiaohua Li, Guangxiao Niu, Xiangxiang Li, Xiaoli Wang, Gang Shi
2023 J jnl
Neural Process. Lett.
Xiaohua Li, Jusheng Zhang, Fatemeh Safara
2023 A conf
CIKM
Zhenghao Liu, Sen Mei, Chenyan Xiong, Xiaohua Li, Shi Yu, Zhiyuan Liu, Yu Gu, Ge Yu
2023 J jnl
CoRR
Zhenghao Liu, Sen Mei, Chenyan Xiong, Xiaohua Li, Shi Yu, Zhiyuan Liu, Yu Gu, Ge Yu
2022 conf
DASFAA (1)
Yumeng Song, Yu Gu, Xiaohua Li, Chuanwen Li, Ge Yu
2022 J jnl
Int. J. Control
Shuai He, Xiaohua Li
2022 J jnl
Appl. Math. Comput.
Yi Yang, Xiaohua Li, Xiaoping Liu
2022 A* conf
EMNLP
Zhenghao Liu, Han Zhang, Chenyan Xiong, Zhiyuan Liu, Yu Gu, Xiaohua Li
2022 J jnl
CoRR
Zhenghao Liu, Han Zhang, Chenyan Xiong, Zhiyuan Liu, Yu Gu, Xiaohua Li
2022 Misc conf
WISA
Yuhang Su, Yang Song, Xiaohua Li, Fangfang Li, Yu Gu
2022 J jnl
Proc. VLDB Endow.
Zeshun Peng, Yanfeng Zhang, Qian Xu, Haixu Liu, Yuxiao Gao, Xiaohua Li, Ge Yu
2021 J jnl
Int. J. Control
Liyao Hu, Xiaohua Li
2021 J jnl
J. Sensors
Xiaohua Li, Ge Yu
2021 conf
ISAIMS
Xiaohua Li, Yan Zhang, Yutong Tian, Qingyun Cheng, Yue Gao, Mengke Gao
2021 J jnl
CoRR
Hao Chen, Xiaohua Li, Jiliu Zhou
2021 conf
ISAIMS
Yue Gao, Yan Zhang, Mengke Gao, Xiaohua Li, Yixin Lu
2020 J jnl
IEEE Access
Dui Liu, Xiaohua Li, Zexiang Cai
2020 J jnl
IEEE Access
Yu Cai, Zexiang Cai, Ping Liu, Xiaohua Li, Guanquan Dai
2020 J jnl
IEEE Access
Xiaohua Li, Bin Wang, Tao Qiu, Ge Yu, Ning Wang
2020 conf
CSAE
Xiaohua Li, Weijin Zhuang, Hong Zhang
2020 J jnl
J. Intell. Fuzzy Syst.
Gang Shi, Xiaohua Li, Lifen Jia
2019 Misc conf
WISA
Yun Zhang, Xiaohua Li, Jili Fan, Tiezheng Nie, Ge Yu
2019 J jnl
IEEE Access
Ping Liu, Zexiang Cai, Peng Xie, Xiaohua Li, Yongjun Zhang
2019 J jnl
BMC Medical Informatics Decis. Mak.
Xia Zhao, Xiaohua Li, Wei Yang, Qianjin Feng, Yi Zhou, Qiong Wang
2019 J jnl
Int. J. Syst. Sci.
Liyao Hu, Xiaohua Li
2019 J jnl
IEEE Trans. Smart Grid
Peng Xie, Zexiang Cai, Ping Liu, Xiaohua Li, Yongjun Zhang, Dongjie Xu
2019 conf
DPTA
Jianbo Li, Xiaohua Li
2019 J jnl
Comput. Aided Civ. Infrastructure Eng.
Xiaohua Li, Masahiro Kurata
2019 conf
DPTA
Jianbo Li, Xiaohua Li
2019 conf
IHSI
Zhelin Li, Shanxiao Jiang, Yu Zhang, Lijun Jiang, Xiaohua Li, Zhiyong Xiong
2019 J jnl
计算机科学
Jili Fan, Xiaohua Li, Tiezheng Nie, Ge Yu
2018 conf
HCI (20)
Zhen Liu, Yifan Meng, Di Xu, Jun-en He, Xiusheng Gu, Lijun Jiang, Xiaohua Li, Shaoxin Wu, Zhengquan Li
2018 J jnl
BMC Medical Informatics Decis. Mak.
Xia Zhao, Xiaohua Li, Wei Yang, Qianjin Feng, Yi Zhou, Qiong Wang
2018 J jnl
IEEE Trans. Circuits Syst. II Express Briefs
Xiaohua Li, Jianquan Lu, Xiangyong Chen, Jianlong Qiu, Jinde Cao, Fuad E. Alsaadi
2018 C conf
CIS
Xiaohua Li
2017 J jnl
Expert Syst. Appl.
Xiaohua Li, Tao Qiu, Ning Wang, Xiaochun Yang, Bin Wang, Ge Yu
2016 J jnl
J. Circuits Syst. Comput.
Xiaohua Li, Jizhong Shen
2016 conf
WAIM (2)
Xiaohua Li, Ning Wang, Kanggui Peng, Xiaochun Yang, Ge Yu
2015 J jnl
Informatica
Ying Fu, Xi Wu, Xiaohua Li, Kun He, Yi Zhang, Jiliu Zhou
2014 J jnl
Future Gener. Comput. Syst.
Yan Wang, Wenzao Li, Jiliu Zhou, Xiaohua Li, Yifei Pu
2014 C conf
CIS
Guoqiang Hang, Yang Yang, Danyan Zhang, Xiaohua Li
2014 conf
ICST Workshops
Xiaohua Li, Zhao Dong, Huayao Wu, Changhai Nie, Kai-Yuan Cai
2014 C conf
APWeb
Xiaohua Li, Tao Qiu, Xiaochun Yang, Bin Wang, Ge Yu
2013 conf
IEEE WISA
Xiaohua Li, Shimeng Wang, Bin Wang, Xiaochun Yang, Ge Yu
2013 conf
FSKD
Xiaohua Li, Xiaomei Dong, Yulong Wang
2011 J jnl
J. Comput.
Xiao-gang Gong, Jiliu Zhou, Huilin Wu, Gang Lei, Xiaohua Li
2011 B conf
TPDL
Xiaohua Li, Ardiana Sula
2011 conf
QTNA
Xiaohua Li
2010 conf
FSKD
Xiaomei Dong, Fei Liu, Xiaohua Li, Xiaocong Yu
2010 conf
ICEE
Yanan Wang, Xiaohua Li
2010 conf
IITSI
Jianli Hu, Xiaohua Li, Bin Zhou, Yonghua Li
2009 conf
ETT
Xiaohua Li, Jianhua Zhao, Ligang Fan
2009 conf
GCC
Xiaohua Li, Xiangang Zhao, Yujie Wang, Renlong Zhang, Sa Liu
2009 conf
SKG
Xiaohua Li, Jianhua Zhao
2009 conf
HIS (3)
Xiaomei Dong, Xiaohua Li
2009 J jnl
Pattern Recognit. Lett.
Xiaohua Li, Kin-Man Lam, Lansun Shen, Jiliu Zhou
2009 Misc conf
GrC
Gang Lei, Xiaohua Li, Jiliu Zhou, Xiao-gang Gong
2009 conf
ETT
Xiaohua Li, Junshuan Liu, Jianhua Zhao
2008 B conf
GLOBECOM
Xiaohua Li, Sarah Ruepp, Lars Dittmann, Anna V. Manolova
2006 conf
ISCSLP
Yu Zou, Xiaohua Li, Min Hou, Anna
2006 C conf
PACLIC
Zihou Meng, Yudong Chen, Xiaohua Li
2004 C conf
ICARCV
Xiaohua Li, Xue-Bo Chen, Yuanwei Jing
2004 conf
ICINCO (1)
Xue-Bo Chen, Xiaohua Li, Srdjan S. Stankovic
redb/extractors/apk_extractors/apk_inconsistency_tests.py
← Index redb/extractors/apk_extractors/apk_inconsistency_tests.py python
import inspect
import re
from datetime import datetime, timezone
from typing import Any

from redb.extractors.enum import Tag
from redb.extractors.apk_extractor import APKExtractor
from redb.models.dataclasses import APKInconsistencyTests

# Emulator detection indicator strings
EMULATOR_INDICATORS = {
    "generic", "sdk", "google_sdk", "Emulator",
    "goldfish", "ranchu", "Andy", "Genymotion",
    "BlueStacks", "nox", "ttVM_Hdragon",
}

# Root detection indicator strings
ROOT_INDICATORS = {
    "/system/app/Superuser.apk",
    "/system/xbin/su",
    "/system/bin/su",
    "com.noshufou.android.su",
    "com.thirdparty.superuser",
    "eu.chainfire.supersu",
    "com.koushikdutta.superuser",
    "com.topjohnwu.magisk",
}

# Standard DEX filename pattern
STANDARD_DEX_PATTERN = re.compile(r"^classes\d*\.dex$")


class APKInconsistencyTestsExtractor(APKExtractor):

    def __init__(
        self, filepath, log, exporters=None, index_prefix=None,
        known_benign=False, known_malicious=False,
        apk=None,
    ):
        super().__init__(
            filepath, log, exporters, index_prefix,
            known_benign, known_malicious, apk,
        )
        self.test_results = None
        self.log.debug(inspect.currentframe().f_code.co_name)

    def tag(self):
        return Tag.APK_INCONSISTENCY_TESTS.value

    def _test_zip_bomb(self):
        """Check if any ZIP entry has compression ratio > 100:1."""
        try:
            zf = self._get_zip_file()
            if not zf:
                return None
            with zf:
                for info in zf.infolist():
                    if info.compress_size > 0:
                        ratio = info.file_size / info.compress_size
                        if ratio > 100:
                            return True
            return False
        except Exception as e:
            self.log.warning(f"Error in zip bomb test: {e}")
            return None

    def _test_zip_duplicate_entries(self):
        """Check for duplicate filenames in ZIP directory."""
        try:
            zf = self._get_zip_file()
            if not zf:
                return None
            with zf:
                names = [info.filename for info in zf.infolist()]
                return len(names) != len(set(names))
        except Exception as e:
            self.log.warning(f"Error in duplicate entries test: {e}")
            return None

    def _test_zip_path_traversal(self):
        """Check for path traversal (../) in ZIP entry names."""
        try:
            for f in self._list_files():
                if ".." in f or f.startswith("/"):
                    return True
            return False
        except Exception as e:
            self.log.warning(f"Error in path traversal test: {e}")
            return None

    def _test_zip_suspicious_timestamps(self):
        """Check for timestamps at epoch (1980) or in the future."""
        try:
            zf = self._get_zip_file()
            if not zf:
                return None
            now = datetime.now()
            with zf:
                for info in zf.infolist():
                    try:
                        dt = datetime(*info.date_time)
                        if dt.year <= 1980 or dt > now:
                            return True
                    except (ValueError, TypeError):
                        continue
            return False
        except Exception as e:
            self.log.warning(f"Error in suspicious timestamps test: {e}")
            return None

    def _test_hidden_dex_files(self):
        """Check for DEX files not matching classes*.dex pattern."""
        try:
            for f in self._list_files():
                if f.endswith(".dex"):
                    basename = f.split("/")[-1]
                    if not STANDARD_DEX_PATTERN.match(basename):
                        return True
            return False
        except Exception as e:
            self.log.warning(f"Error in hidden DEX files test: {e}")
            return None

    def _test_manifest_component_mismatch(self):
        """Check for declared components that don't exist in DEX."""
        try:
            if not self._is_valid_apk():
                return None

            # Get all class names from DEX
            dex_classes = set()
            try:
                from androguard.core.dex import DEX
                for dex_data in (self.apk.get_all_dex() or []):
                    try:
                        d = DEX(dex_data)
                        for cls in d.get_classes():
                            name = cls.get_name()
                            if name:
                                # Convert "Lcom/example/Foo;" to "com.example.Foo"
                                dex_classes.add(
                                    name[1:-1].replace("/", ".") if name.startswith("L") else name
                                )
                    except Exception:
                        continue
            except Exception:
                return None

            if not dex_classes:
                return None

            # Check manifest components against DEX classes
            components = []
            try:
                components.extend(self.apk.get_activities() or [])
                components.extend(self.apk.get_services() or [])
                components.extend(self.apk.get_receivers() or [])
                components.extend(self.apk.get_providers() or [])
            except Exception:
                return None

            for comp in components:
                if comp and comp not in dex_classes:
                    # Component might use a shorthand; check with package prefix
                    package = self.apk.get_package() or ""
                    full_name = package + comp if comp.startswith(".") else comp
                    if full_name not in dex_classes:
                        return True

            return False
        except Exception as e:
            self.log.warning(f"Error in manifest component mismatch test: {e}")
            return None

    def _test_debuggable_release(self):
        """Check android:debuggable=true combined with a release signature."""
        try:
            if not self._is_valid_apk():
                return None

            is_debuggable = self.apk.get_attribute_value(
                "application", "debuggable"
            ) == "true"

            if not is_debuggable:
                return False

            # Check if it has a signing certificate (release builds have certs)
            try:
                certs = self.apk.get_certificates()
                if certs and len(certs) > 0:
                    return True
            except Exception:
                pass

            return False
        except Exception as e:
            self.log.warning(f"Error in debuggable release test: {e}")
            return None

    def _get_dex_strings(self):
        """Get all string constants from DEX files."""
        all_strings = set()
        try:
            from androguard.core.dex import DEX
            for dex_data in (self.apk.get_all_dex() or []):
                try:
                    d = DEX(dex_data)
                    for s in d.get_strings():
                        if s:
                            all_strings.add(s)
                except Exception:
                    continue
        except Exception:
            pass
        return all_strings

    def _test_emulator_detection_strings(self):
        """Check for emulator detection patterns in DEX strings."""
        try:
            if not self._is_valid_apk():
                return None

            dex_strings = self._get_dex_strings()
            for indicator in EMULATOR_INDICATORS:
                for s in dex_strings:
                    if indicator in s:
                        return True
            return False
        except Exception as e:
            self.log.warning(f"Error in emulator detection test: {e}")
            return None

    def _test_debugger_detection(self):
        """Check for debugger detection API calls in DEX."""
        try:
            if not self._is_valid_apk():
                return None

            dex_strings = self._get_dex_strings()
            debugger_patterns = {
                "isDebuggerConnected",
                "waitingForDebugger",
                "Debug.isDebuggerConnected",
            }
            for pattern in debugger_patterns:
                for s in dex_strings:
                    if pattern in s:
                        return True
            return False
        except Exception as e:
            self.log.warning(f"Error in debugger detection test: {e}")
            return None

    def _test_root_detection(self):
        """Check for root detection patterns in DEX."""
        try:
            if not self._is_valid_apk():
                return None

            dex_strings = self._get_dex_strings()
            for indicator in ROOT_INDICATORS:
                for s in dex_strings:
                    if indicator in s:
                        return True
            return False
        except Exception as e:
            self.log.warning(f"Error in root detection test: {e}")
            return None

    def extract(self):
        if not self._is_valid_apk():
            self.log.error(f"Invalid APK for {self.hash.sha256}")
            return None

        self.test_results = APKInconsistencyTests(
            test_zip_bomb=self._test_zip_bomb(),
            test_zip_duplicate_entries=self._test_zip_duplicate_entries(),
            test_zip_path_traversal=self._test_zip_path_traversal(),
            test_zip_suspicious_timestamps=self._test_zip_suspicious_timestamps(),
            test_hidden_dex_files=self._test_hidden_dex_files(),
            test_manifest_component_mismatch=self._test_manifest_component_mismatch(),
            test_debuggable_release=self._test_debuggable_release(),
            test_emulator_detection_strings=self._test_emulator_detection_strings(),
            test_debugger_detection=self._test_debugger_detection(),
            test_root_detection=self._test_root_detection(),
        )
        return self.test_results

    def _bool_to_nullable(self, val):
        """Convert bool/None to ClickHouse Nullable(UInt8)."""
        if val is None:
            return None
        return int(val)

    def prepare_export_data(self, exporter_type: str) -> Any:
        if exporter_type == "ClickHouseExporter":
            if not self.test_results:
                return None

            current_time = datetime.now(timezone.utc)
            t = self.test_results

            data = [[
                self.sha256,
                self._bool_to_nullable(t.test_zip_bomb),
                self._bool_to_nullable(t.test_zip_duplicate_entries),
                self._bool_to_nullable(t.test_zip_path_traversal),
                self._bool_to_nullable(t.test_zip_suspicious_timestamps),
                self._bool_to_nullable(t.test_hidden_dex_files),
                self._bool_to_nullable(t.test_manifest_component_mismatch),
                self._bool_to_nullable(t.test_debuggable_release),
                self._bool_to_nullable(t.test_emulator_detection_strings),
                self._bool_to_nullable(t.test_debugger_detection),
                self._bool_to_nullable(t.test_root_detection),
                current_time,
            ]]

            column_names = [
                'sha256',
                'test_zip_bomb', 'test_zip_duplicate_entries',
                'test_zip_path_traversal', 'test_zip_suspicious_timestamps',
                'test_hidden_dex_files', 'test_manifest_component_mismatch',
                'test_debuggable_release', 'test_emulator_detection_strings',
                'test_debugger_detection', 'test_root_detection',
                'analysis_date',
            ]

            column_type_names = [
                'FixedString(64)',
                'Nullable(UInt8)', 'Nullable(UInt8)',
                'Nullable(UInt8)', 'Nullable(UInt8)',
                'Nullable(UInt8)', 'Nullable(UInt8)',
                'Nullable(UInt8)', 'Nullable(UInt8)',
                'Nullable(UInt8)', 'Nullable(UInt8)',
                "DateTime64(3, 'UTC')",
            ]

            return (data, column_names, column_type_names)

    def get_clickhouse_table(self) -> str:
        return "redb_apk_inconsistency_tests"