Victor Codina

15 papers A* 1A 4C 1Misc 1Journal 2Unranked 6
YearRankTypeTitle / Venue / Authors
2025 A* conf
SIGIR
Sandra Garcia-Esparza, Victor Codina, Salma Lahbiss, Imène Sediri, Nafi Cissé
2016 J jnl
User Model. User Adapt. Interact.
Victor Codina, Francesco Ricci, Luigi Ceccaroni
2015 A conf
UMAP
Victor Codina, Jose Mena, Luis Oliva
2014 conf
IIiX
Victor Codina, Luis Oliva
2014 A conf
RecSys
Matthias Braunhofer, Victor Codina, Francesco Ricci
2014 conf
ARE/AVSA@AAMAS
Sergio Álvarez-Napagao, Arturo Tejeda-Gómez, Luis Oliva Felipe, Dario Garcia-Gasulla, Victor Codina, Ignasi Gómez-Sebastià, Javier Vázquez-Salceda
2013 A conf
UMAP
Victor Codina, Francesco Ricci, Luigi Ceccaroni
2013 A conf
RecSys
Victor Codina, Francesco Ricci, Luigi Ceccaroni
2013 conf
CaRR@WSDM
Victor Codina, Francesco Ricci, Luigi Ceccaroni
2012 conf
CCIA
Victor Codina, Luigi Ceccaroni
2011 conf
CCIA
Victor Codina, Luigi Ceccaroni
2010 Misc conf
DCAI
Victor Codina, Luigi Ceccaroni
2010 conf
CCIA
Victor Codina, Luigi Ceccaroni
2009 C conf
ICDS
Luigi Ceccaroni, Victor Codina, Manel Palau, Marc Pous
2008 J jnl
Proces. del Leng. Natural
Luigi Ceccaroni, Victor Codina
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