Ieda Del'Arco Sanches

25 papers C 4Journal 15Unranked 6
YearRankTypeTitle / Venue / Authors
2024 J jnl
Remote. Sens.
Cleverton Tiago Carneiro de Santana, Ieda Del'Arco Sanches, Marcellus Marques Caldas, Marcos Adami
2024 J jnl
Remote. Sens.
Nildson Rodrigues de França e Silva, Michel Eustáquio Dantas Chaves, Ana Cláudia dos Santos Luciano, Ieda Del'Arco Sanches, Cláudia Maria de Almeida, Marcos Adami
2023 conf
GEOINFO
Andre D. B. Garcia, Michel E. D. Chaves, Victor H. R. Prudente, Ieda Del'Arco Sanches
2023 conf
GEOINFO
Felipe G. Petrone, Darlan Silva, Aluizio B. Maia, Ieda Del'Arco Sanches, Marcos Adami, Michel E. D. Chaves, Leila M. G. Fonseca
2023 J jnl
Remote. Sens.
Grazieli Rodigheri, Ieda Del'Arco Sanches, Jonathan Richetti, Rodrigo Yoiti Tsukahara, Roger A. Lawes, Hugo do Nascimento Bendini, Marcos Adami
2023 J jnl
ISPRS Int. J. Geo Inf.
Édson Luis Bolfe, Taya Cristo Parreiras, Lucas Augusto Pereira da Silva, Edson Eyji Sano, Giovana Maranhão Bettiol, Daniel de Castro Victoria, Ieda Del'Arco Sanches, Luiz Eduardo Vicente
2022 J jnl
Remote. Sens.
Taya Cristo Parreiras, Édson Luis Bolfe, Michel Eustáquio Dantas Chaves, Ieda Del'Arco Sanches, Edson Eyji Sano, Daniel de Castro Victoria, Giovana Maranhão Bettiol, Luiz Eduardo Vicente
2022 J jnl
Remote. Sens.
Salete Gürtler, Carlos Roberto de Souza Filho, Ieda Del'Arco Sanches, Lucíola A. Magalhães, Marcos Nopper Alves, Wilson J. Oliveira, Giuliana C. M. Quitério
2020 C conf
IGARSS
Hugo N. Bendini, Leila M. G. Fonseca, Anderson Reis Soares, Philippe Rufin, Marcel Schwieder, Marcos A. Rodrigues, Raian Vargas Maretto, Thales Sehn Körting, Pedro J. Leitão, Ieda Del'Arco Sanches, Patrick Hostert
2020 J jnl
Remote. Sens.
Michel E. D. Chaves, Michelle Cristina Araújo Picoli, Ieda Del'Arco Sanches
2020 C conf
IGARSS
Victor H. R. Prudente, Ieda Del'Arco Sanches, Marcos Adami, Sergii Skakun, L. V. Oldoni, Haron Abrahim Magalhães Xaud, M. R. Xaud, Y. Zhang
2019 J jnl
Remote. Sens.
Laura Elena Cue La Rosa, Raul Queiroz Feitosa, Patrick Nigri Happ, Ieda Del'Arco Sanches, Gilson Alexandre Ostwald Pedro da Costa
2019 C conf
IGARSS
Hugo do Nascimento Bendini, Leila Maria Garcia Fonseca, Marcel Schwieder, Thales Sehn Körting, Philippe Rufin, Ieda Del'Arco Sanches, Pedro J. Leitão, Patrick Hostert
2019 J jnl
Int. J. Appl. Earth Obs. Geoinformation
Hugo do Nascimento Bendini, Leila Maria Garcia Fonseca, Marcel Schwieder, Thales Sehn Körting, Philippe Rufin, Ieda Del'Arco Sanches, Pedro J. Leitão, Patrick Hostert
2019 conf
ICCSA (4)
Mikhaela Aloísia Jéssie Santos Pletsch, Thales Sehn Körting, Willian Vieira de Oliveira, Ieda Del'Arco Sanches, Victor Velázquez Fernandez, Fábio F. Gama, Maria Isabel Sobral Escada
2018 J jnl
IEEE Geosci. Remote. Sens. Lett.
Ieda Del'Arco Sanches, Raul Queiroz Feitosa, Pedro Marco Achanccaray Diaz, Marinalva Dias Soares, Alfredo José Barreto Luiz, Bruno Schultz, Luis Eduardo Pinheiro Maurano
2018 J jnl
Int. J. Appl. Earth Obs. Geoinformation
Yaoliang Chen, Dengsheng Lu, Emilio Moran, Mateus Batistella, Luciano Vieira Dutra, Ieda Del'Arco Sanches, Ramon Felipe Bicudo da Silva, Jingfeng Huang, Alfredo José Barreto Luiz, Maria Antonia Falcão de Oliveira
2018 J jnl
Int. J. Appl. Earth Obs. Geoinformation
Hilton Luís Ferraz da Silveira, Lênio Soares Galvão, Ieda Del'Arco Sanches, Iedo Bezerra de Sá, Tatiana Ayako Taura
2017 conf
SIBGRAPI
Jose David Bermudez Castro, Raul Queiroz Feitosa, Laura Elena Cue La Rosa, Pedro Marco Achanccaray Diaz, Ieda Del'Arco Sanches
2017 C conf
IGARSS
Pedro Achanccaray Diaz, Raul Queiroz Feitosa, Franz Rottensteiner, Ieda Del'Arco Sanches, Christian Heipke
2016 conf
GEOINFO
Hugo N. Bendini, Leila Maria Garcia Fonseca, Thales Sehn Körting, Rennan F. B. Marujo, Ieda Del'Arco Sanches, Jeferson S. Arcanjo
2016 J jnl
Remote. Sens.
Isaque Daniel Rocha Eberhardt, Bruno Schultz, Rodrigo Rizzi, Ieda Del'Arco Sanches, Antônio Roberto Formaggio, Clement Atzberger, Marcio Pupin Mello, Markus Immitzer, Kleber Trabaquini, William Foschiera, Alfredo José Barreto Luiz
2015 J jnl
Remote. Sens.
Bruno Schultz, Markus Immitzer, Antônio Roberto Formaggio, Ieda Del'Arco Sanches, Alfredo José Barreto Luiz, Clement Atzberger
2011 J jnl
Pattern Recognit. Lett.
Paula Beatriz Cerqueira Leite, Raul Queiroz Feitosa, Antônio Roberto Formaggio, Gilson Alexandre Ostwald Pedro da Costa, Kian Pakzad, Ieda Del'Arco Sanches
2008 conf
SIBGRAPI
Paula Beatriz Cerqueira Leite, Raul Queiroz Feitosa, Antônio Roberto Formaggio, Gilson Alexandre Ostwald Pedro da Costa, Kian Pakzad, Ieda Del'Arco Sanches
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