H. Hannah Inbarani

47 papers Journal 41Unranked 5
YearRankTypeTitle / Venue / Authors
2025 J jnl
Int. Arab J. Inf. Technol.
K. P. Haripriya, H. Hannah Inbarani
2025 J jnl
Evol. Syst.
S. Kavitha, H. Hannah Inbarani
2025 J jnl
Int. Arab J. Inf. Technol.
K. P. Haripriya, H. Hannah Inbarani
2023 J jnl
Int. J. Sociotechnology Knowl. Dev.
S. Nivetha, H. Hannah Inbarani
2023 J jnl
Int. J. Serv. Sci. Manag. Eng. Technol.
S. Nivetha, H. Hannah Inbarani
2023 J jnl
Int. J. Sociotechnology Knowl. Dev.
S. Nivetha, H. Hannah Inbarani
2022 J jnl
Int. J. Sociotechnology Knowl. Dev.
H. Hannah Inbarani, Ahmad Taher Azar, Bagyamathi Mathiyazhagan
2022 J jnl
Int. J. Sociotechnology Knowl. Dev.
Jothi Ganesan, H. Hannah Inbarani, Ahmad Taher Azar, Khaled M. Fouad, Sahar Fawzy Sabbeh
2022 J jnl
Neural Process. Lett.
S. Nivetha, H. Hannah Inbarani
2022 J jnl
Int. J. Sociotechnology Knowl. Dev.
B. Lavanya, Ahmad Taher Azar, H. Hannah Inbarani
2021 J jnl
J. Multimodal User Interfaces
K. Renuga Devi, H. Hannah Inbarani
2019 conf
FSDM
Jothi Ganesan, H. Hannah Inbarani, Ahmad Taher Azar, Khaled Mohamad Almustafa
2019 J jnl
Neural Comput. Appl.
Jothi Ganesan, H. Hannah Inbarani, Ahmad Taher Azar, K. Renuga Devi
2019 J jnl
Int. J. Sociotechnology Knowl. Dev.
S. Udhaya Kumar, Ahmad Taher Azar, H. Hannah Inbarani, O. Joseph Liyaskar, Khaled Mohamad Almustafa
2018 J jnl
Int. J. Mach. Learn. Cybern.
S. Senthil Kumar, H. Hannah Inbarani
2018 conf
SOFA (1)
B. Lavanya, H. Hannah Inbarani, Ahmad Taher Azar, Khaled M. Fouad, Anis Koubaa, Nashwa Ahmad Kamal, I. Radu Lala
2017 J jnl
Int. J. Intell. Eng. Informatics
S. Senthil Kumar, H. Hannah Inbarani
2017 J jnl
Int. J. Model. Identif. Control.
P. K. Nizar Banu, Ahmad Taher Azar, H. Hannah Inbarani
2017 J jnl
Neural Comput. Appl.
Ahmad Taher Azar, H. Hannah Inbarani, K. Renuga Devi
2017 J jnl
Soft Comput.
S. Udhaya Kumar, H. Hannah Inbarani
2017 J jnl
Neural Comput. Appl.
S. Udhaya Kumar, H. Hannah Inbarani
2016 J jnl
Appl. Soft Comput.
Jothi Ganesan, H. Hannah Inbarani
2016 J jnl
Int. J. Intell. Eng. Informatics
Ahmad Taher Azar, H. Hannah Inbarani, S. Udhaya Kumar, Hala S. Own
2016 J jnl
Int. J. Model. Identif. Control.
Ahmad Taher Azar, S. Senthil Kumar, H. Hannah Inbarani, Aboul Ella Hassanien
2015 J jnl
Neural Comput. Appl.
H. Hannah Inbarani, M. Bagyamathi, Ahmad Taher Azar
2015 J jnl
Int. J. Hybrid Intell. Syst.
S. Udhaya Kumar, H. Hannah Inbarani, Ahmad Taher Azar
2015 J jnl
Int. J. Rough Sets Data Anal.
H. Hannah Inbarani, S. Selva Kumar
2015 J jnl
Int. J. Rough Sets Data Anal.
H. Hannah Inbarani, S. Selva Kumar, Ahmad Taher Azar, Aboul Ella Hassanien
2015 J jnl
Int. J. Intell. Eng. Informatics
S. Selva Kumar, H. Hannah Inbarani, Ahmad Taher Azar, Aboul Ella Hassanien
2014 J jnl
Neural Comput. Appl.
H. Hannah Inbarani, P. K. Nizar Banu, Ahmad Taher Azar
2014 J jnl
Int. J. Rough Sets Data Anal.
S. Udhaya Kumar, H. Hannah Inbarani, Ahmad Taher Azar, Aboul Ella Hassanien
2014 conf
SOFA (1)
S. Senthil Kumar, H. Hannah Inbarani, Ahmad Taher Azar, Hala S. Own, Valentina Emilia Balas, Teodora Olariu
2014 conf
AMLTA
P. K. Nizar Banu, H. Hannah Inbarani, Ahmad Taher Azar, Hala S. Own, Aboul Ella Hassanien
2014 conf
AMLTA
H. Hannah Inbarani, S. Senthil Kumar, Ahmad Taher Azar, Aboul Ella Hassanien
2014 J jnl
Comput. Methods Programs Biomed.
H. Hannah Inbarani, Ahmad Taher Azar, Jothi Ganesan
2013 J jnl
Int. J. Syst. Dyn. Appl.
P. K. Nizar Banu, H. Hannah Inbarani
2013 J jnl
CoRR
P. K. Nizar Banu, H. Hannah Inbarani
2013 J jnl
Int. J. Data Anal. Tech. Strateg.
S. Selva Kumar, H. Hannah Inbarani
2013 J jnl
Int. J. Granul. Comput. Rough Sets Intell. Syst.
H. Hannah Inbarani, K. Thangavel
2013 J jnl
CoRR
N. Kalaiselvi, H. Hannah Inbarani
2013 J jnl
Int. J. Fuzzy Syst. Appl.
Jothi Ganesan, H. Hannah Inbarani, Ahmad Taher Azar
2013 J jnl
CoRR
A. Nisthana Parveen, H. Hannah Inbarani, E. N. Sathishkumar
2012 J jnl
CoRR
K. Dhanalakshmi, H. Hannah Inbarani
2012 J jnl
CoRR
Jothi Ganesan, H. Hannah Inbarani
2011 J jnl
Int. J. Inf. Technol. Syst. Approach
P. K. Nizar Banu, H. Hannah Inbarani
2011 J jnl
Int. J. Web Based Communities
H. Hannah Inbarani, K. Thangavel
2009 ch.
Foundations of Computational Intelligence (6)
H. Hannah Inbarani, K. Thangavel
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