Kailash Gogineni

18 papers B 1Journal 9Unranked 8
YearRankTypeTitle / Venue / Authors
2025 J jnl
IEEE Open J. Comput. Soc.
Kailash Gogineni, Ali Suvizi, Guru Venkataramani
2024 conf
IISWC
Kailash Gogineni, Yongsheng Mei, Karthikeya Gogineni, Peng Wei, Tian Lan, Guru Venkataramani
2024 B conf
ISPASS
Kailash Gogineni, Sai Santosh Dayapule, Juan Gómez-Luna, Karthikeya Gogineni, Peng Wei, Tian Lan, Mohammad Sadrosadati, Onur Mutlu, Guru Venkataramani
2024 J jnl
CoRR
Kailash Gogineni, Sai Santosh Dayapule, Juan Gómez-Luna, Karthikeya Gogineni, Peng Wei, Tian Lan, Mohammad Sadrosadati, Onur Mutlu, Guru Venkataramani
2023 conf
ASAP
Kailash Gogineni, Yongsheng Mei, Tian Lan, Peng Wei, Guru Venkataramani
2023 J jnl
CoRR
Kailash Gogineni, Yongsheng Mei, Peng Wei, Tian Lan, Guru Venkataramani
2023 conf
ACM Great Lakes Symposium on VLSI
Preet Derasari, Kailash Gogineni, Guru Venkataramani
2023 conf
ASAP
Preet Derasari, Kailash Gogineni, Guru Venkataramani
2023 J jnl
CoRR
Kailash Gogineni, Peng Wei, Tian Lan, Guru Venkataramani
2023 J jnl
CoRR
Kailash Gogineni, Peng Wei, Tian Lan, Guru Venkataramani
2022 J jnl
CoRR
Kailash Gogineni, Yongsheng Mei, Guru Venkataramani, Tian Lan
2022 conf
SEED
Kailash Gogineni, Preet Derasari, Guru Venkataramani
2022 conf
MILCOM
Kailash Gogineni, Yongsheng Mei, Guru Venkataramani, Tian Lan
2021 J jnl
CoRR
Hongfa Xue, Yongsheng Mei, Kailash Gogineni, Guru Venkataramani, Tian Lan
2021 conf
SecureComm (1)
Yongsheng Mei, Kailash Gogineni, Tian Lan, Guru Venkataramani
2021 J jnl
CoRR
Yongsheng Mei, Kailash Gogineni, Tian Lan, Guru Venkataramani
2020 J jnl
Appl. Artif. Intell.
Kailash Gogineni, Akhil Chitreddy, Anirudh Vattikuti, Natarajan Palaniappan
2020 conf
IWSC
Hongfa Xue, Yongsheng Mei, Kailash Gogineni, Guru Venkataramani, Tian Lan
redb/extractors/decompiler/bninja/function_type.py
← Index redb/extractors/decompiler/bninja/function_type.py python
from enum import Enum

import binaryninja


class FunctionType(Enum):
    USER = "USER"
    LIBRARY = "LIBRARY"
    EXTERNAL = "EXTERNAL"
    THUNK = "THUNK"
    UNKNOWN = "UNKNOWN"


class FunctionTypeAnalysis:
    """Get the function kind based on the symbol type associated to this function"""

    def __init__(self, function):
        """Sets the function type dependent on the symbol type associated to this function. If
        any errors occur, then returns UNKNOWN
        """
        self.func_type = FunctionType.USER

        try:
            symbol_type = function.symbol.type
            # Check if it's an external function (there should not be, already skipping these)
            if symbol_type == binaryninja.enums.SymbolType.ImportedFunctionSymbol:
                self.func_type = FunctionType.EXTERNAL

            # Library functions detected by Binary Ninja
            if symbol_type == binaryninja.enums.SymbolType.LibraryFunctionSymbol:
                self.func_type = FunctionType.LIBRARY

            # Check if it's a thunk function
            if function.is_thunk:
                self.func_type = FunctionType.THUNK

        except Exception as _:
            self.func_type = FunctionType.UNKNOWN

    def get_function_type(self):
        return self.func_type