Kailiang Wu

108 papers A* 1Journal 107
YearRankTypeTitle / Venue / Authors
2026 J jnl
J. Comput. Phys.
Huihui Cao, Yunqing Huang, Zhuoyun Li, Kailiang Wu
2026 J jnl
J. Comput. Phys.
Caiyou Yuan, Zhihao Zhang, Huazhong Tang, Kailiang Wu
2026 J jnl
SIAM J. Sci. Comput.
Manting Peng, Kailiang Wu, Caiyou Yuan
2025 J jnl
SIAM J. Sci. Comput.
Rémi Abgrall, Miaosen Jiao, Yongle Liu, Kailiang Wu
2025 J jnl
CoRR
Mengqing Liu, Dongwen Pang, Rémi Abgrall, Kailiang Wu
2025 J jnl
CoRR
Wei Chen, Shumo Cui, Kailiang Wu, Tao Xiong, Baoyue Yu
2025 J jnl
J. Comput. Phys.
Wei Chen, Shumo Cui, Kailiang Wu, Tao Xiong
2025 J jnl
CoRR
Yuchen Huang, Manting Peng, Kailiang Wu
2025 J jnl
CoRR
Junfeng Chen, Kailiang Wu, Dongbin Xiu
2025 J jnl
SIAM Rev.
Junfeng Chen, Kailiang Wu, Dongbin Xiu
2025 J jnl
CoRR
Kailiang Wu, Xiangxiong Zhang, Chi-Wang Shu
2025 J jnl
J. Comput. Phys.
Zhihao Zhang, Huazhong Tang, Kailiang Wu
2025 J jnl
CoRR
Shumo Cui, Kailiang Wu, Linfeng Xu
2025 J jnl
CoRR
Manting Peng, Kailiang Wu, Caiyou Yuan
2025 J jnl
J. Sci. Comput.
Lae Yin Win, Yaping Chen, Yufeng Nie, Li Cai, Kailiang Wu
2025 J jnl
J. Comput. Phys.
Shumo Cui, Yaguang Gu, Alexander Kurganov, Kailiang Wu, Ruixiao Xin
2025 J jnl
SIAM J. Numer. Anal.
Chaoyi Cai, Jianxian Qiu, Kailiang Wu
2025 J jnl
J. Comput. Phys.
Dongwen Pang, Kailiang Wu
2025 J jnl
CoRR
Ruifang Yan, Huihui Cao, Kailiang Wu
2025 J jnl
CoRR
Chuan Fan, Qian Huang, Kailiang Wu
2025 J jnl
J. Comput. Phys.
Shengrong Ding, Shumo Cui, Kailiang Wu
2025 J jnl
J. Comput. Phys.
Huihui Cao, Manting Peng, Kailiang Wu
2025 J jnl
SIAM J. Sci. Comput.
Zhuoyun Li, Kailiang Wu
2025 J jnl
J. Comput. Phys.
Mengqing Liu, Kailiang Wu
2024 J jnl
SIAM J. Sci. Comput.
Shengrong Ding, Kailiang Wu
2024 J jnl
SIAM J. Sci. Comput.
Alina Chertock, Alexander Kurganov, Michael Redle, Kailiang Wu
2024 J jnl
CoRR
Rémi Abgrall, Miaosen Jiao, Yongle Liu, Kailiang Wu
2024 J jnl
CoRR
Rémi Abgrall, Miaosen Jiao, Yongle Liu, Kailiang Wu
2024 J jnl
CoRR
Shumo Cui, Alexander Kurganov, Kailiang Wu
2024 J jnl
SIAM J. Sci. Comput.
Shumo Cui, Alexander Kurganov, Kailiang Wu
2024 J jnl
CoRR
Wei Chen, Shumo Cui, Kailiang Wu, Tao Xiong
2024 J jnl
IEEE Trans. Artif. Intell.
Ce Zhang, Kailiang Wu, Zhihai He
2024 J jnl
CoRR
Shengrong Ding, Kailiang Wu
2024 J jnl
J. Comput. Phys.
Shengrong Ding, Kailiang Wu
2024 J jnl
J. Sci. Comput.
Wei Chen, Kailiang Wu, Tao Xiong
2024 J jnl
J. Sci. Comput.
Linfeng Xu, Shengrong Ding, Kailiang Wu
2024 J jnl
CoRR
Chuan Fan, Kailiang Wu
2024 J jnl
CoRR
Linfeng Xu, Shengrong Ding, Kailiang Wu
2024 J jnl
CoRR
Jiangfu Wang, Huazhong Tang, Kailiang Wu
2024 J jnl
J. Comput. Phys.
Jiangfu Wang, Huazhong Tang, Kailiang Wu
2024 J jnl
CoRR
Zhihao Zhang, Huazhong Tang, Kailiang Wu
2024 J jnl
J. Comput. Phys.
Chuan Fan, Kailiang Wu
2024 J jnl
SIAM J. Numer. Anal.
Shumo Cui, Shengrong Ding, Kailiang Wu
2024 A* conf
ICML
Junfeng Chen, Kailiang Wu
2024 J jnl
CoRR
Junfeng Chen, Kailiang Wu
2024 J jnl
CoRR
Chaoyi Cai, Jianxian Qiu, Kailiang Wu
2024 J jnl
CoRR
Dongwen Pang, Kailiang Wu
2024 J jnl
J. Comput. Phys.
Chaoyi Cai, Jianxian Qiu, Kailiang Wu
2024 J jnl
CoRR
Shengrong Ding, Shumo Cui, Kailiang Wu
2024 J jnl
CoRR
Huihui Cao, Manting Peng, Kailiang Wu
2024 J jnl
CoRR
Zhuoyun Li, Kailiang Wu
2024 J jnl
CoRR
Mengqing Liu, Kailiang Wu
2023 J jnl
CoRR
Shengrong Ding, Kailiang Wu
2023 J jnl
CoRR
Ce Zhang, Kailiang Wu, Zhihai He
2023 J jnl
CoRR
Junfeng Chen, Kailiang Wu
2023 J jnl
J. Comput. Phys.
Junfeng Chen, Kailiang Wu
2023 J jnl
SIAM Rev.
Kailiang Wu, Chi-Wang Shu
2023 J jnl
J. Comput. Phys.
Wei Chen, Kailiang Wu, Tao Xiong
2023 J jnl
J. Comput. Phys.
Shumo Cui, Shengrong Ding, Kailiang Wu
2023 J jnl
CoRR
Manting Peng, Zheng Sun, Kailiang Wu
2023 J jnl
J. Comput. Phys.
Yupeng Ren, Kailiang Wu, Jianxian Qiu, Yulong Xing
2023 J jnl
SIAM J. Numer. Anal.
Kailiang Wu, Haili Jiang, Chi-Wang Shu
2023 J jnl
CoRR
Chaoyi Cai, Jianxian Qiu, Kailiang Wu
2022 J jnl
CoRR
Alina Chertock, Alexander Kurganov, Michael Redle, Kailiang Wu
2022 J jnl
CoRR
Yaping Chen, Kailiang Wu
2022 J jnl
J. Comput. Phys.
Yaping Chen, Kailiang Wu
2022 J jnl
J. Comput. Phys.
Zhen Chen, Victor Churchill, Kailiang Wu, Dongbin Xiu
2022 J jnl
CoRR
Wei Chen, Kailiang Wu, Tao Xiong
2022 J jnl
CoRR
Shumo Cui, Shengrong Ding, Kailiang Wu
2022 J jnl
CoRR
Zheng Sun, Yuanzhe Wei, Kailiang Wu
2022 J jnl
SIAM J. Numer. Anal.
Zheng Sun, Yuanzhe Wei, Kailiang Wu
2022 J jnl
CoRR
Shumo Cui, Shengrong Ding, Kailiang Wu
2022 J jnl
CoRR
Haili Jiang, Huazhong Tang, Kailiang Wu
2022 J jnl
J. Comput. Phys.
Haili Jiang, Huazhong Tang, Kailiang Wu
2022 J jnl
CoRR
Kailiang Wu, Haili Jiang, Chi-Wang Shu
2021 J jnl
CoRR
Zhen Chen, Victor Churchill, Kailiang Wu, Dongbin Xiu
2021 J jnl
CoRR
Kailiang Wu, Chi-Wang Shu
2021 J jnl
CoRR
Kailiang Wu
2021 J jnl
SIAM J. Sci. Comput.
Kailiang Wu
2021 J jnl
Numerische Mathematik
Kailiang Wu, Chi-Wang Shu
2021 J jnl
SIAM J. Sci. Comput.
Kailiang Wu, Yulong Xing
2020 J jnl
CoRR
Jun Hou, Tong Qin, Kailiang Wu, Dongbin Xiu
2020 J jnl
J. Comput. Phys.
Kailiang Wu, Dongbin Xiu
2020 J jnl
SIAM J. Sci. Comput.
Kailiang Wu, Chi-Wang Shu
2020 J jnl
CoRR
Zhen Chen, Kailiang Wu, Dongbin Xiu
2020 J jnl
J. Sci. Comput.
Zhen Chen, Kailiang Wu, Dongbin Xiu
2020 J jnl
CoRR
Kailiang Wu, Chi-Wang Shu
2020 J jnl
SIAM J. Sci. Comput.
Kailiang Wu, Tong Qin, Dongbin Xiu
2020 J jnl
CoRR
Kailiang Wu, Yulong Xing
2019 J jnl
J. Comput. Phys.
Tong Qin, Kailiang Wu, Dongbin Xiu
2019 J jnl
CoRR
Kailiang Wu, Dongbin Xiu
2019 J jnl
CoRR
Kailiang Wu, Chi-Wang Shu
2019 J jnl
J. Comput. Phys.
Kailiang Wu, Dongbin Xiu
2019 J jnl
Numerische Mathematik
Kailiang Wu, Chi-Wang Shu
2019 J jnl
CoRR
Kailiang Wu, Tong Qin, Dongbin Xiu
2018 J jnl
SIAM J. Sci. Comput.
Kailiang Wu, Chi-Wang Shu
2018 J jnl
CoRR
Kailiang Wu, Dongbin Xiu
2018 J jnl
CoRR
Tong Qin, Kailiang Wu, Dongbin Xiu
2018 J jnl
CoRR
Kailiang Wu, Dongbin Xiu
2018 J jnl
SIAM J. Numer. Anal.
Kailiang Wu
2018 J jnl
J. Comput. Phys.
Kailiang Wu, Dongbin Xiu
2018 J jnl
J. Comput. Phys.
Yeonjong Shin, Kailiang Wu, Dongbin Xiu
2017 J jnl
SIAM J. Sci. Comput.
Kailiang Wu, Yeonjong Shin, Dongbin Xiu
2017 J jnl
J. Comput. Phys.
Kailiang Wu, Huazhong Tang, Dongbin Xiu
2016 J jnl
SIAM J. Sci. Comput.
Kailiang Wu, Huazhong Tang
2015 J jnl
J. Comput. Phys.
Kailiang Wu, Huazhong Tang
2014 J jnl
J. Comput. Phys.
Kailiang Wu, Zhicheng Yang, Huazhong Tang
2014 J jnl
J. Comput. Phys.
Kailiang Wu, Huazhong Tang
tests/unit/test_decompile_function_type.py
← Index tests/unit/test_decompile_function_type.py python
"""Unit tests for bninja/function_type.py."""
import sys
import pytest
from unittest.mock import MagicMock

# Install binaryninja stubs before importing
from tests.unit.conftest_binja_stubs import install_binja_stubs, SymbolType
install_binja_stubs()

from redb.extractors.decompiler.bninja.function_type import (
    FunctionType,
    FunctionTypeAnalysis,
)


# ============================================================================
# 4a. FunctionType / FunctionTypeAnalysis
# ============================================================================


class TestFunctionTypeEnum:
    def test_function_type_enum_values(self):
        assert FunctionType.USER.value == "USER"
        assert FunctionType.LIBRARY.value == "LIBRARY"
        assert FunctionType.EXTERNAL.value == "EXTERNAL"
        assert FunctionType.THUNK.value == "THUNK"
        assert FunctionType.UNKNOWN.value == "UNKNOWN"


class TestFunctionTypeAnalysis:
    def _make_function(self, symbol_type=None, is_thunk=False, raise_on_symbol=False):
        func = MagicMock()
        func.is_thunk = is_thunk
        if raise_on_symbol:
            type(func).symbol = property(lambda self: (_ for _ in ()).throw(Exception("no symbol")))
        else:
            func.symbol.type = symbol_type if symbol_type is not None else SymbolType.FunctionSymbol
        return func

    def test_user_function_type(self):
        func = self._make_function(symbol_type=SymbolType.FunctionSymbol)
        analysis = FunctionTypeAnalysis(func)
        assert analysis.get_function_type() == FunctionType.USER

    def test_external_function_type(self):
        func = self._make_function(symbol_type=SymbolType.ImportedFunctionSymbol)
        analysis = FunctionTypeAnalysis(func)
        assert analysis.get_function_type() == FunctionType.EXTERNAL

    def test_library_function_type(self):
        func = self._make_function(symbol_type=SymbolType.LibraryFunctionSymbol)
        analysis = FunctionTypeAnalysis(func)
        assert analysis.get_function_type() == FunctionType.LIBRARY

    def test_thunk_function_type(self):
        # Thunk overrides the symbol type
        func = self._make_function(
            symbol_type=SymbolType.FunctionSymbol, is_thunk=True
        )
        analysis = FunctionTypeAnalysis(func)
        assert analysis.get_function_type() == FunctionType.THUNK

    def test_exception_returns_unknown(self):
        func = self._make_function(raise_on_symbol=True)
        analysis = FunctionTypeAnalysis(func)
        assert analysis.get_function_type() == FunctionType.UNKNOWN