Hai-Lin Liu

152 papers B 15C 24Journal 87Unranked 26
YearRankTypeTitle / Venue / Authors
2026 J jnl
Swarm Evol. Comput.
Yutao Lai, Hairu Fan, Hai-Lin Liu, Huangxu Sheng
2026 J jnl
IEEE Trans. Emerg. Top. Comput. Intell.
TingJie Zhang, Hai-Lin Liu, Songyi Xiao, Lei Chen
2026 J jnl
CoRR
Kezhao Lai, Yutao Lai, Hai-Lin Liu
2026 J jnl
IEEE Trans. Evol. Comput.
Ning Yang, Hai-Lin Liu
2026 J jnl
IEEE Trans. Emerg. Top. Comput. Intell.
Weizhong Wang, Hai-Lin Liu, Kay Chen Tan
2025 J jnl
IEEE Trans. Evol. Comput.
Weizhong Wang, Hai-Lin Liu, Kay Chen Tan
2025 J jnl
Swarm Evol. Comput.
Yutao Lai, Hai-Lin Liu, Yukai Xu, Lei Chen
2025 J jnl
IEEE Trans. Emerg. Top. Comput. Intell.
Huangxu Sheng, Hai-Lin Liu, Yutao Lai, Shaoda Zeng, Lei Chen
2025 J jnl
IEEE Trans. Evol. Comput.
Lei Chen, Yiu-ming Cheung, Hai-Lin Liu, Yutao Lai
2024 B conf
CEC
Ning Yang, Hai-Lin Liu, Lei Chen, Yuping Wang, Yiu-ming Cheung
2024 J jnl
IEEE Trans. Emerg. Top. Comput. Intell.
Ning Yang, Hai-Lin Liu
2024 J jnl
IEEE Trans. Netw. Sci. Eng.
Pei-Qiu Huang, Shaoda Zeng, Xilei Wu, Hai-Lin Liu, Qingfu Zhang
2024 J jnl
Appl. Soft Comput.
Jingjing Fang, Hai-Lin Liu, Fangqing Gu
2024 J jnl
Swarm Evol. Comput.
Jiawei Yuan, Hai-Lin Liu, Shuiping Yang
2024 J jnl
Swarm Evol. Comput.
Ning Yang, Hai-Lin Liu, Junrong Xiao
2024 J jnl
IEEE Trans. Evol. Comput.
Weizhong Wang, Hai-Lin Liu
2024 J jnl
IEEE Trans. Evol. Comput.
Lei Chen, Hai-Lin Liu, Ke Li, Kay Chen Tan
2024 J jnl
Appl. Soft Comput.
Lei Chen, Kuntao Li, Hai-Lin Liu
2024 B conf
CEC
Xilei Wu, Pei-Qiu Huang, Linqi Song, Hai-Lin Liu, Qingfu Zhang
2024 J jnl
IEEE Trans. Emerg. Top. Comput. Intell.
Zicheng Cai, Lei Chen, Tongtao Ling, Hai-Lin Liu
2024 J jnl
Neural Networks
Tongtao Ling, Lei Chen, Yutao Lai, Hai-Lin Liu
2024 J jnl
Memetic Comput.
Xuan Lu, Lei Chen, Hai-Lin Liu
2024 J jnl
Expert Syst. Appl.
Tingting Li, Lei Chen, Yutao Lai, Hai-Lin Liu
2023 J jnl
Inf. Sci.
Kuntao Li, Weizhong Wang, Hai-Lin Liu
2023 conf
KSEM (4)
Xuan Lu, Lei Chen, Hai-Lin Liu
2023 J jnl
IEEE Trans. Evol. Comput.
Hongyan Chen, Hai-Lin Liu, Fangqing Gu, Kay Chen Tan
2023 conf
DASC/PiCom/CBDCom/CyberSciTech
Botian Jiang, Chunyang Wang, Yuanyuan Fu, Hai-Lin Liu, Ping Guo, Yuping Wang
2023 J jnl
IEEE Trans. Cybern.
Weizhong Wang, Hai-Lin Liu, Kay Chen Tan
2023 J jnl
Knowl. Based Syst.
Fangqing Gu, Haosen Liu, Yiu-ming Cheung, Hai-Lin Liu
2023 conf
ICACI
Yutao Lai, Hai-Lin Liu, Fangqing Gu, Jiechang Wen
2023 J jnl
Neural Networks
Zicheng Cai, Lei Chen, Hai-Lin Liu
2023 J jnl
Appl. Soft Comput.
Zicheng Cai, Lei Chen, Shaoda Zeng, Yutao Lai, Hai-Lin Liu
2023 conf
KSEM (4)
Tongtao Ling, Lei Chen, Yutao Lai, Hai-Lin Liu
2023 J jnl
CoRR
Tongtao Ling, Lei Chen, Yutao Lai, Hai-Lin Liu
2023 conf
ADMA (4)
Tongtao Ling, Lei Chen, Huangxu Sheng, Zicheng Cai, Hai-Lin Liu
2023 J jnl
CoRR
Tongtao Ling, Lei Chen, Huangxu Sheng, Zicheng Cai, Hai-Lin Liu
2023 J jnl
Appl. Intell.
Jiaheng Huang, Jiechang Wen, Lei Chen, Hai-Lin Liu
2022 J jnl
IEEE Trans. Cybern.
Fangqing Gu, Hai-Lin Liu, Yiu-ming Cheung, Minyi Zheng
2022 J jnl
Memetic Comput.
Lei Chen, Haosen Liu, Hai-Lin Liu, Fangqing Gu
2022 J jnl
Swarm Evol. Comput.
Jiawei Yuan, Hai-Lin Liu, Zhaoshui He
2022 J jnl
Connect. Sci.
Weizhong Wang, Hai-Lin Liu, Hongjian Shi
2022 J jnl
Knowl. Based Syst.
Chaoda Peng, Hai-Lin Liu, Erik D. Goodman, Kay Chen Tan
2022 J jnl
IEEE Access
Benxiang Jiang, Songze Zhang, Mengyao Shi, Hai-Lin Liu, Hongjian Shi
2022 J jnl
IEEE Trans. Evol. Comput.
Jiawei Yuan, Hai-Lin Liu, Yew-Soon Ong, Zhaoshui He
2022 C conf
CIS
Ping Wang, Fangqing Gu, Hai-Lin Liu
2022 J jnl
IEEE Trans. Evol. Comput.
Lei Chen, Hai-Lin Liu, Kay Chen Tan, Ke Li
2021 J jnl
IEEE Trans. Cybern.
Chaoda Peng, Hai-Lin Liu, Erik D. Goodman
2021 C conf
CIS
Weizhong Wang, Hai-Lin Liu
2021 conf
ICACI
Hongyan Chen, Hai-Lin Liu, Fangqing Gu, Lei Chen
2021 J jnl
Int. J. Pattern Recognit. Artif. Intell.
Ning Yang, Hai-Lin Liu
2021 J jnl
IEEE Trans. Cybern.
Jiabin Lin, Hai-Lin Liu, Kay Chen Tan, Fangqing Gu
2021 J jnl
Integr. Comput. Aided Eng.
Hai-Lin Liu, Fangqing Gu, Zixian Lin
2021 J jnl
Evol. Comput.
Lei Chen, Kalyanmoy Deb, Hai-Lin Liu, Qingfu Zhang
2021 J jnl
IEEE Trans. Evol. Comput.
Jiawei Yuan, Hai-Lin Liu, Fangqing Gu, Qingfu Zhang, Zhaoshui He
2021 J jnl
Int. J. Sens. Networks
Qiang Wang, Hai-Lin Liu
2021 J jnl
Neurocomputing
Ning Yang, Hai-Lin Liu, Jiawei Yuan
2021 B conf
CEC
Lei Chen, Hai-Lin Liu
2020 J jnl
Swarm Evol. Comput.
Zhenhua Li, Xi Lin, Qingfu Zhang, Hai-Lin Liu
2020 J jnl
Inf. Sci.
Weisen Tang, Hai-Lin Liu, Lei Chen, Kay Chen Tan, Yiu-ming Cheung
2020 J jnl
Swarm Evol. Comput.
Chaoda Peng, Hai-Lin Liu, Erik D. Goodman
2020 J jnl
IEEE Trans. Evol. Comput.
Jiabin Lin, Hai-Lin Liu, Bing Xue, Mengjie Zhang, Fangqing Gu
2020 J jnl
IEEE Trans. Cybern.
Yiu-ming Cheung, Fangqing Gu, Hai-Lin Liu, Kay Chen Tan, Han Huang
2019 C conf
CIS
Haosen Liu, Fangqing Gu, Hai-Lin Liu, Lei Chen
2019 C conf
CIS
Jiongcheng Li, Hai-Lin Liu
2019 B conf
CEC
Zhenhua Li, Jingda Deng, Weifeng Gao, Qingfu Zhang, Hai-Lin Liu
2019 J jnl
IEEE Trans. Cybern.
Lei Chen, Hai-Lin Liu, Kay Chen Tan, Yiu-ming Cheung, Yuping Wang
2019 J jnl
IEEE Comput. Intell. Mag.
Lei Chen, Kalyanmoy Deb, Hai-Lin Liu
2019 J jnl
Evol. Comput.
Yifan Li, Hai-Lin Liu, Erik D. Goodman
2019 conf
SSCI
Chaoda Peng, Hai-Lin Liu, Erik D. Goodman
2019 J jnl
Integr. Comput. Aided Eng.
Lei Chen, Hai-Lin Liu, Weiseng Tang
2019 J jnl
Integr. Comput. Aided Eng.
Qiang Wang, Hai-Lin Liu, Jiawei Yuan, Lei Chen
2019 J jnl
Int. J. Sens. Networks
Qiang Wang, Hai-Lin Liu, Fangqing Gu
2018 B conf
CEC
Jiawei Yuan, Hai-Lin Liu, Fangqing Gu
2018 J jnl
Soft Comput.
Chaoda Peng, Hai-Lin Liu, Fangqing Gu
2018 conf
ICACI
Fangqing Gu, Yiu-ming Cheung, Hai-Lin Liu, Zixian Lin
2018 J jnl
IEEE Trans. Evol. Comput.
Hai-Lin Liu, Lei Chen, Qingfu Zhang, Kalyanmoy Deb
2018 C conf
CIS
Zixian Lin, Hai-Lin Liu, Fangqing Gu
2018 conf
SSCI
Lingzhi Han, Hai-Lin Liu, Fangqing Gu
2018 J jnl
Int. J. Comput. Intell. Syst.
Ping Guo, Yuping Wang, Hai-Lin Liu, Yiu-ming Cheung
2018 C conf
CIS
Tiejun Chen, Qiang Wang, Hai-Lin Liu
2017 conf
ICIC (1)
Weisen Tang, Hai-Lin Liu, Lei Chen
2017 conf
SEAL
Fangqing Gu, Hai-Lin Liu, Yiu-ming Cheung
2017 conf
SEAL
Fangqing Gu, Hai-Lin Liu
2017 J jnl
Int. J. Comput. Sci. Eng.
Qiang Wang, Hai-Lin Liu, Jiongcheng Li, Yun Li
2017 J jnl
Appl. Soft Comput.
Chaoda Peng, Hai-Lin Liu, Fangqing Gu
2017 conf
SSCI
Lei Chen, Hai-Lin Liu, Kay Chen Tan
2017 J jnl
IEEE Trans. Evol. Comput.
Hai-Lin Liu, Lei Chen, Kalyanmoy Deb, Erik D. Goodman
2017 J jnl
Int. J. Comput. Appl. Technol.
Qiang Wang, Hai-Lin Liu, Jiongcheng Li
2017 J jnl
IEEE Comput. Intell. Mag.
Lei Chen, Hai-Lin Liu, Zhun Fan, Shengli Xie, Erik D. Goodman
2017 conf
SEAL
Fangqing Gu, Ziquan Liu, Yiu-ming Cheung, Hai-Lin Liu
2017 J jnl
Int. J. Swarm Intell. Res.
Qiang Wang, Hai-Lin Liu
2017 J jnl
Int. J. Pattern Recognit. Artif. Intell.
Jiawei Yuan, Hai-Lin Liu, Chaoda Peng
2017 C conf
CIS
Qiang Wang, Tiejun Chen, Hai-Lin Liu
2017 C conf
CIS
Jiabin Lin, Hai-Lin Liu, Chaoda Peng
2016 J jnl
Int. J. Pattern Recognit. Artif. Intell.
Hai-Lin Liu, Chaoda Peng, Fangqing Gu, Jiechang Wen
2016 conf
WI Workshops
Chaoda Peng, Hai-Lin Liu
2016 C conf
CIS
Jiawei Yuan, Hai-Lin Liu
2016 C conf
CIS
Qiang Wang, Hai-Lin Liu, Yiu-ming Cheung
2016 J jnl
IEEE Trans. Cybern.
Cai Dai, Yuping Wang, Miao Ye, Xingsi Xue, Hai-Lin Liu
2016 B conf
CEC
Hai-Lin Liu, Lei Chen, Qingfu Zhang, Kalyanmoy Deb
2016 B conf
CEC
Yifan Li, Hai-Lin Liu, Fangqing Gu
2016 J jnl
IEEE Trans. Evol. Comput.
Yiu-ming Cheung, Fangqing Gu, Hai-Lin Liu
2016 B conf
IJCNN
Chaoda Peng, Hai-Lin Liu, Fangqing Gu
2015 C conf
CIS
Xueyi Liang, Hai-Lin Liu, Qiang Wang
2015 J jnl
Soft Comput.
Fangqing Gu, Hai-Lin Liu, Kay Chen Tan
2015 J jnl
Eur. J. Oper. Res.
Yi Xiang, Yuren Zhou, Hai-Lin Liu
2015 B conf
CEC
Lei Chen, Chaoda Peng, Hai-Lin Liu, Shengli Xie
2015 C conf
CIS
Shuiqin Dai, Hai-Lin Liu, Lei Chen
2015 J jnl
Intell. Autom. Soft Comput.
Zhenhua Li, Hai-Lin Liu
2015 J jnl
Knowl. Inf. Syst.
Fangqing Gu, Hai-Lin Liu, Yiu-ming Cheung, Shengli Xie
2015 B conf
CEC
Qiang Wang, Hai-Lin Liu
2014 J jnl
J. Softw.
Yuan Zhou, Hai-Lin Liu, Wenqin Chen, Jingqian Li
2014 J jnl
Int. J. Pattern Recognit. Artif. Intell.
Lei Chen, Hai-Lin Liu
2014 J jnl
Appl. Intell.
Yu-bin Zhong, Yi Xiang, Hai-Lin Liu
2014 J jnl
Neural Comput. Appl.
Jiechang Wen, Hai-Lin Liu, Suxian Zhang, Mingqing Xiao
2014 conf
SEAL
Qiang Wang, Hai-Lin Liu, Zhenhua Li, Yiu-ming Cheung, Jun Zhang
2014 B conf
IEEE Congress on Evolutionary Computation
Lei Chen, Zhe Zheng, Hai-Lin Liu, Shengli Xie
2014 J jnl
IEEE Trans. Evol. Comput.
Hai-Lin Liu, Fangqing Gu, Qingfu Zhang
2014 C conf
CIS
Zhenhua Li, Hai-Lin Liu
2014 J jnl
IEEE Comput. Intell. Mag.
Hai-Lin Liu, Fangqing Gu, Yiu-ming Cheung, Shengli Xie, Jun Zhang
2013 B conf
IEEE Congress on Evolutionary Computation
Hai-Lin Liu, Dan Wang
2013 conf
CIES
Hai-Lin Liu, Qiang Wang
2013 J jnl
J. Comput.
Fangqing Gu, Hai-Lin Liu
2013 C conf
CIS
Hong-Chao Yan, Hai-Lin Liu, Qiang Wang
2013 conf
HCI (5)
Haidong Li, Hai-Lin Liu, Xueyi Liang
2013 J jnl
J. Comput.
Yuping Wang, Yiu-ming Cheung, Hai-Lin Liu
2013 C conf
IDEAL
Yuan Zhao, Hai-Lin Liu
2013 C conf
CIS
Wentian Mai, Hai-Lin Liu, Lei Chen, Jiongcheng Li, Henghui Xiao
2012 J jnl
Comput. Math. Methods Medicine
Jiechang Wen, Dan Zhang, Yiu-ming Cheung, Hai-Lin Liu, Xinge You
2012 B conf
IEEE Congress on Evolutionary Computation
Hai-Lin Liu, Wenqin Chen, Fangqing Gu
2012 conf
Web Intelligence
Yaping Tian, Hai-Lin Liu, Zhirong Li
2012 C conf
CIS
Zhenhua Li, Hai-Lin Liu
2012 C conf
CIS
Qiang Wang, Hai-Lin Liu, Jiongcheng Li
2011 B conf
IEEE Congress on Evolutionary Computation
Hai-Lin Liu, Fangqing Gu
2011 C conf
CIS
Weiqi Chen, Zhifeng Hao, Hai-Lin Liu
2010 C conf
CIS
Suxian Zhang, Hai-Lin Liu
2010 B conf
ICPR
Xin Liu, Yiu-ming Cheung, Meng Li, Hai-Lin Liu
2010 C conf
CIS
Fangqing Gu, Hai-Lin Liu
2009 J jnl
Intell. Autom. Soft Comput.
Hai-Lin Liu, Yuping Wang, Yiu-ming Cheung
2009 conf
CIS (1)
Suxian Zhang, Hai-Lin Liu, Jiechang Wen, Weili Chen
2009 J jnl
Int. J. Pattern Recognit. Artif. Intell.
Hai-Lin Liu, Chu-Jun Yao, Jia-Xun Hou
2009 conf
GEC Summit
Fangqing Gu, Hai-Lin Liu, Wei Liu
2009 conf
CIS (2)
Fangqing Gu, Hai-Lin Liu, Ming Li
2009 J jnl
Appl. Math. Lett.
Zhi-Qiang Zhu, Hai-Lin Liu
2008 J jnl
Neurocomputing
Hai-Lin Liu, Yiu-ming Cheung
2007 conf
RSKT
Hai-Lin Liu, Jia-Xun Hou
2007 C ed.
CIS
Yuping Wang, Yiu-ming Cheung, Hai-Lin Liu
2007 C conf
CIS
Chu-Jun Yao, Hai-Lin Liu, Zhi-Tao Cui
2005 conf
ISNN (2)
Hai-Lin Liu, Yiu-ming Cheung
2005 conf
ICIC (1)
Fuye Feng, Quanju Zhang, Hai-Lin Liu
2004 conf
Neural Networks and Computational Intelligence
Yiu-ming Cheung, Hai-Lin Liu
2003 C conf
IDEAL
Hai-Lin Liu, Yuping Wang
tests/unit/test_decompile_scores.py
← Index tests/unit/test_decompile_scores.py python
"""Unit tests for bninja/analysis/scores.py — ObfuscationScores."""
import sys
import pytest
from unittest.mock import MagicMock

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

from redb.extractors.decompiler.bninja.analysis.scores import (
    ObfuscationScores,
    get_dominated_by,
    uses_mba,
)
import binaryninja.highlevelil as hlil_mod


# ============================================================================
# Helper: Mock HLIL instruction
# ============================================================================

class MockHLILInstruction(hlil_mod.HighLevelILInstruction):
    """Mock HLIL instruction with operation and operands."""
    def __init__(self, operation, operands=None):
        self.operation = operation
        self.operands = operands or []


class MockHLILBasicBlock:
    """Mock HLIL basic block for flattened score testing."""
    def __init__(self, incoming_edges=None, dominator_tree_children=None):
        self.incoming_edges = incoming_edges or []
        self.dominator_tree_children = dominator_tree_children or []


# ============================================================================
# 5a. ObfuscationScores
# ============================================================================


class TestFlattenedScore:
    def test_flattened_score_no_back_edges(self):
        """Linear CFG with no back edges -> score 0.0."""
        block = MockHLILBasicBlock(incoming_edges=[], dominator_tree_children=[])
        func = MagicMock()
        func.basic_blocks = [block]
        scores = ObfuscationScores(func)
        assert scores.flattened_score() == 0.0

    def test_flattened_score_with_loop(self):
        """CFG with a back edge -> score > 0.0."""
        block = MockHLILBasicBlock(dominator_tree_children=[])
        # Create a back edge: an incoming edge whose source is in the dominated set
        edge = MagicMock()
        edge.source = block  # source IS the dominator -> back edge
        block.incoming_edges = [edge]
        func = MagicMock()
        func.basic_blocks = [block]
        scores = ObfuscationScores(func)
        assert scores.flattened_score() > 0.0

    def test_flattened_score_fully_flat(self):
        """Flattened CFG: one block dominates all -> ratio close to 1.0."""
        children = [MockHLILBasicBlock() for _ in range(4)]
        root = MockHLILBasicBlock(dominator_tree_children=children)
        # Back edge from root incoming
        edge = MagicMock()
        edge.source = root
        root.incoming_edges = [edge]
        all_blocks = [root] + children
        func = MagicMock()
        func.basic_blocks = all_blocks
        scores = ObfuscationScores(func)
        assert scores.flattened_score() == pytest.approx(1.0)


class TestMBAScore:
    def test_mba_score_no_mixed_ops(self):
        """Instructions with only arithmetic -> score 0.0."""
        instr = MockHLILInstruction(HighLevelILOperation.HLIL_ADD, operands=[])
        func = MagicMock()
        func.instructions = [instr]
        scores = ObfuscationScores(func)
        assert scores.MBA_score() == 0.0

    def test_mba_score_mixed_ops(self):
        """Instructions with arithmetic + logic -> score > 0.0."""
        inner_logic = MockHLILInstruction(HighLevelILOperation.HLIL_XOR, operands=[])
        outer_arith = MockHLILInstruction(
            HighLevelILOperation.HLIL_ADD, operands=[inner_logic]
        )
        func = MagicMock()
        func.instructions = [outer_arith]
        scores = ObfuscationScores(func)
        assert scores.MBA_score() > 0.0

    def test_mba_score_all_mixed(self):
        """Every instruction has both -> score 1.0."""
        inner_logic = MockHLILInstruction(HighLevelILOperation.HLIL_NOT, operands=[])
        outer_arith = MockHLILInstruction(
            HighLevelILOperation.HLIL_SUB, operands=[inner_logic]
        )
        func = MagicMock()
        func.instructions = [outer_arith]
        scores = ObfuscationScores(func)
        assert scores.MBA_score() == 1.0


class TestGetDominatedBy:
    def test_get_dominated_by(self):
        child1 = MockHLILBasicBlock(dominator_tree_children=[])
        child2 = MockHLILBasicBlock(dominator_tree_children=[])
        root = MockHLILBasicBlock(dominator_tree_children=[child1, child2])
        result = get_dominated_by(root)
        assert root in result
        assert child1 in result
        assert child2 in result
        assert len(result) == 3


class TestUsesMBA:
    def test_uses_mba_arithmetic_only(self):
        instr = MockHLILInstruction(HighLevelILOperation.HLIL_ADD, operands=[])
        assert uses_mba(instr) is False

    def test_uses_mba_logic_only(self):
        instr = MockHLILInstruction(HighLevelILOperation.HLIL_XOR, operands=[])
        assert uses_mba(instr) is False

    def test_uses_mba_mixed(self):
        inner = MockHLILInstruction(HighLevelILOperation.HLIL_AND, operands=[])
        outer = MockHLILInstruction(HighLevelILOperation.HLIL_ADD, operands=[inner])
        assert uses_mba(outer) is True