Carmen Benavides

41 papers B 1C 1Journal 32Unranked 7
YearRankTypeTitle / Venue / Authors
2025 J jnl
Internet Things
Diego Narciandi-Rodriguez, Jose Aveleira-Mata, María Teresa García-Ordás, Javier Alfonso-Cendón, Carmen Benavides, Héctor Alaiz-Moretón
2025 conf
HAIS (1)
Álvaro Michelena, Jose Aveleira-Mata, Marta-María Álvarez-Crespo, Emilio Lima Bullones, Agustín García-Fischer, Carmen Benavides, José Luís Calvo-Rolle
2024 J jnl
CoRR
José Alberto Benítez-Andrades, Alejandro Rodríguez González, Carmen Benavides, Leticia Sánchez-Valdeón, Isaías García
2024 J jnl
CoRR
José Alberto Benítez-Andrades, José Emilio Labra Gayo, Enedina Quiroga, Vicente Martín, Isaías García, Pilar Marqués-Sánchez, Carmen Benavides
2024 J jnl
CoRR
José Alberto Benítez-Andrades, Tania Fernández-Villa, Carmen Benavides, Andrea Gayubo-Serrenes, Vicente Martín, Pilar Marqués-Sánchez
2024 J jnl
CoRR
José Alberto Benítez-Andrades, Isaías García-Rodríguez, Carmen Benavides, Héctor Alaiz-Moretón, José Emilio Labra Gayo
2024 conf
ICECET
Natalia Prieto-Fernández, Sergio Fernández-Blanco, Álvaro Fernández-Blanco, José Alberto Benítez-Andrades, Francisco Carro-De-Lorenzo, Carmen Benavides
2024 J jnl
IEEE Trans. Ind. Informatics
Natalia Prieto-Fernández, Sergio Fernández-Blanco, Álvaro Fernández-Blanco, José Alberto Benítez-Andrades, Francisco Carro-De-Lorenzo, Carmen Benavides
2024 J jnl
CoRR
María Teresa García-Ordás, José Alberto Benítez-Andrades, Isaías García-Rodríguez, Carmen Benavides, Héctor Alaiz-Moretón
2024 J jnl
CoRR
María Teresa García-Ordás, José Alberto Benítez-Andrades, Jose Aveleira-Mata, José-Manuel Alija-Pérez, Carmen Benavides
2024 J jnl
Multim. Tools Appl.
María Teresa García-Ordás, José Alberto Benítez-Andrades, Jose Aveleira-Mata, José-Manuel Alija-Pérez, Carmen Benavides
2024 J jnl
CoRR
María Teresa García-Ordás, Carmen Benavides, José Alberto Benítez-Andrades, Héctor Alaiz-Moretón, Isaías García-Rodríguez
2024 J jnl
CoRR
Francisco J. Aguayo-Canela, Héctor Alaiz-Moretón, María Teresa García-Ordás, José Alberto Benítez-Andrades, Carmen Benavides, Isaías García-Rodríguez
2024 J jnl
CoRR
María Teresa García-Ordás, Natalia Arias, Carmen Benavides, Oscar García-Olalla, José Alberto Benítez-Andrades
2024 J jnl
CoRR
María Teresa García-Ordás, Martín Bayón-Gutiérrez, Carmen Benavides, Jose Aveleira-Mata, José Alberto Benítez-Andrades
2024 J jnl
CoRR
Francisco J. Aguayo-Canela, Héctor Alaiz-Moretón, María Teresa García-Ordás, José Alberto Benítez-Andrades, Carmen Benavides, Paulo Novais, Isaías García-Rodríguez
2024 J jnl
CoRR
Héctor Alaiz-Moretón, Jose Aveleira-Mata, Jorge Ondicol-Garcia, Ángel Luis Muñoz Castañeda, Isaías García, Carmen Benavides
2024 J jnl
CoRR
María Teresa García-Ordás, Héctor Alaiz-Moretón, José Alberto Benítez-Andrades, Isaías García-Rodríguez, Oscar García-Olalla, Carmen Benavides
2024 J jnl
CoRR
José Alberto Benítez-Andrades, Isaías García-Rodríguez, Carmen Benavides, Héctor Alaiz-Moretón, Alejandro Rodríguez González
2024 J jnl
CoRR
Natalia Prieto-Fernández, Sergio Fernández-Blanco, Álvaro Fernández-Blanco, José Alberto Benítez-Andrades, Francisco Carro-De-Lorenzo, Carmen Benavides
2024 J jnl
CoRR
Carmen Benavides, José Alberto Benítez-Andrades, Pilar Marqués-Sánchez, Natalia Arias
2023 J jnl
Multim. Tools Appl.
María Teresa García-Ordás, Martín Bayón-Gutiérrez, Carmen Benavides, Jose Aveleira-Mata, José Alberto Benítez-Andrades
2023 J jnl
IEEE Trans. Instrum. Meas.
Natalia Prieto-Fernández, Sergio Fernández-Blanco, Álvaro Fernández-Blanco, José Alberto Benítez-Andrades, Francisco Carro-De-Lorenzo, Carmen Benavides
2021 B conf
CBMS
José Alberto Benítez-Andrades, José-Manuel Alija-Pérez, Isaías García-Rodríguez, Carmen Benavides, Héctor Alaiz-Moretón, Rafael Pastor Vargas, María Teresa García-Ordás
2021 conf
MTSR
José Alberto Benítez-Andrades, Álvaro González-Jiménez, Álvaro López-Brea, Carmen Benavides, Jose Aveleira-Mata, José-Manuel Alija-Pérez, María Teresa García-Ordás
2021 J jnl
Comput. Methods Programs Biomed.
María Teresa García-Ordás, Carmen Benavides, José Alberto Benítez-Andrades, Héctor Alaiz-Moretón, Isaías García-Rodríguez
2021 J jnl
J. Supercomput.
Francisco J. Aguayo-Canela, Héctor Alaiz-Moretón, María Teresa García-Ordás, José Alberto Benítez-Andrades, Carmen Benavides, Isaías García-Rodríguez
2021 J jnl
Clust. Comput.
Francisco J. Aguayo-Canela, Héctor Alaiz-Moretón, María Teresa García-Ordás, José Alberto Benítez-Andrades, Carmen Benavides, Paulo Novais, Isaías García-Rodríguez
2021 J jnl
Biomed. Signal Process. Control.
María Teresa García-Ordás, Héctor Alaiz-Moretón, José Alberto Benítez-Andrades, Isaías García-Rodríguez, Oscar García-Olalla, Carmen Benavides
2020 conf
HEALTHINF
José Alberto Benítez-Andrades, Marta Martínez-Martínez, Isaías García-Rodríguez, Carmen Benavides, Carlos Fernández-San-Juan, Pilar Marqués-Sánchez
2020 J jnl
Inf. Sci.
José Alberto Benítez-Andrades, Isaías García-Rodríguez, Carmen Benavides, Héctor Alaiz-Moretón, José Emilio Labra Gayo
2020 J jnl
Sensors
María Teresa García-Ordás, José Alberto Benítez-Andrades, Isaías García-Rodríguez, Carmen Benavides, Héctor Alaiz-Moretón
2020 J jnl
Future Gener. Comput. Syst.
José Alberto Benítez-Andrades, Isaías García-Rodríguez, Carmen Benavides, Héctor Alaiz-Moretón, Alejandro Rodríguez González
2019 J jnl
Complex.
Héctor Alaiz-Moretón, Jose Aveleira-Mata, Jorge Ondicol-Garcia, Ángel Luis Muñoz Castañeda, Isaías García, Carmen Benavides
2018 J jnl
Data Knowl. Eng.
Carmen Benavides, Isaías García, Héctor Alaiz-Moretón, Luis Quesada
2017 J jnl
Comput. Math. Methods Medicine
José Alberto Benítez, José Emilio Labra Gayo, Enedina Quiroga, Vicente Martín, Isaías García, Pilar Marqués-Sánchez, Carmen Benavides
2017 conf
SOCO-CISIS-ICEUTE
Francisco José Aguayo, Isaías García, Héctor Alaiz-Moretón, Carmen Benavides
2013 C conf
ACE
Francisco José Aguayo, Isaías García, Carmen Benavides, Héctor Alaiz-Moretón, Ángel Alonso, José Manuel Alija
2010 conf
IEA/AIE (1)
Isaías García, Carmen Benavides, Héctor Alaiz-Moretón, Francisco Rodriguez, Ángel Alonso
2008 conf
CACSD
Carmen Benavides, Isaías García, Héctor Alaiz-Moretón, Javier Alfonso, Carlos Redondo, Ángel Alonso
2004 J jnl
Int. J. Web Eng. Technol.
José Ramón Villar, Carmen Benavides, Isaías García, Ángel Alonso, Francisco Rodriguez
tests/unit/test_decompile_arch.py
← Index tests/unit/test_decompile_arch.py python
"""Unit tests for architecture modules:
- bninja/arch/creator.py
- bninja/arch/x86.py
"""
import sys
import pytest

# Install binaryninja stubs before importing arch modules
from tests.unit.conftest_binja_stubs import install_binja_stubs
install_binja_stubs()

from redb.extractors.decompiler.bninja.arch.creator import ArchitectureCreator
from redb.extractors.decompiler.bninja.arch.x86 import Arch_x86


# ============================================================================
# 3a. ArchitectureCreator
# ============================================================================

class TestArchitectureCreator:
    def test_create_x86(self):
        arch = ArchitectureCreator("x86").get()
        assert isinstance(arch, Arch_x86)

    def test_create_x86_case_insensitive(self):
        for name in ["X86", "x86", "X86"]:
            arch = ArchitectureCreator(name).get()
            assert isinstance(arch, Arch_x86)

    def test_unsupported_arch_raises(self):
        with pytest.raises(ValueError, match="Unsupported architecture"):
            ArchitectureCreator("arm").get()


# ============================================================================
# 3b. Arch_x86
# ============================================================================

class TestArch_x86Registers:
    def setup_method(self):
        self.arch = Arch_x86()

    def test_is_register_valid(self):
        assert self.arch.is_register("RAX") is True
        assert self.arch.is_register("eax") is True
        assert self.arch.is_register("XMM0") is True

    def test_is_register_invalid(self):
        assert self.arch.is_register("INVALID_REG") is False

    def test_is_general_purpose_register(self):
        assert self.arch.is_general_purpose_register("RAX") is True
        assert self.arch.is_general_purpose_register("XMM0") is False

    def test_is_stack_register(self):
        assert self.arch.is_stack_register("RSP") is True
        assert self.arch.is_stack_register("RBP") is True
        assert self.arch.is_stack_register("RAX") is False

    def test_is_xmm_register(self):
        assert self.arch.is_xmm_register("XMM0") is True
        assert self.arch.is_xmm_register("RAX") is False


class TestArch_x86OpcodeCategories:
    def setup_method(self):
        self.arch = Arch_x86()

    def test_opcode_categories_populated(self):
        assert len(self.arch.opcode_categories) > 0

    def test_opcode_mov_category(self):
        assert self.arch.opcode_categories["MOV"] == "DATA_MOVEMENT"

    def test_opcode_call_category(self):
        assert self.arch.opcode_categories["CALL"] == "CONTROL_FLOW"

    def test_opcode_add_category(self):
        assert self.arch.opcode_categories["ADD"] == "ARITHMETIC"


class TestArch_x86ControlFlow:
    def setup_method(self):
        self.arch = Arch_x86()

    def test_is_control_flow_instruction_by_mnemonic(self):
        assert self.arch.is_control_flow_instruction_by_mnemonic("JMP") is True
        assert self.arch.is_control_flow_instruction_by_mnemonic("MOV") is False

    def test_is_control_flow_instruction_call(self):
        assert self.arch.is_control_flow_instruction_by_mnemonic("CALL") is True

    def test_is_control_flow_instruction_ret(self):
        assert self.arch.is_control_flow_instruction_by_mnemonic("RET") is True

    def test_is_control_flow_instruction_loop(self):
        assert self.arch.is_control_flow_instruction_by_mnemonic("LOOP") is True

    def test_is_control_flow_instruction_empty(self):
        assert self.arch.is_control_flow_instruction_by_mnemonic("") is False
        assert self.arch.is_control_flow_instruction_by_mnemonic(None) is False