Carolina Centeio Jorge

18 papers A* 2B 3C 1Misc 1Journal 5Unranked 5
YearRankTypeTitle / Venue / Authors
2026 A* conf
HRI
Chih-Wei (Charlotte) Ning, Carolina Centeio Jorge, Myrthe L. Tielman, Mark A. Neerincx
2025 B conf
IVA
Carolina Centeio Jorge, Elena Dumitrescu, Catholijn M. Jonker, Razvan Loghin, Sahar Marossi, Elena Uleia, Myrthe L. Tielman
2025 J jnl
Mach. Learn.
Martin Atzmueller, Carolina Centeio Jorge, Cláudio Rebelo de Sá, Behzad Momahed Heravi, Jenny L. Gibson, Rosaldo J. F. Rossetti
2024 J jnl
ACM Trans. Interact. Intell. Syst.
Carolina Centeio Jorge, Catholijn M. Jonker, Myrthe L. Tielman
2024 J jnl
ACM Trans. Interact. Intell. Syst.
Siddharth Mehrotra, Carolina Centeio Jorge, Catholijn M. Jonker, Myrthe L. Tielman
2024 ed.
MULTITTRUST@HAI
Nicolo' Brandizzi, Carolina Centeio Jorge, Francesco Frattolillo, Luca Iocchi, Anna-Sophie Ulfert-Blank
2023 J jnl
Expert Syst. J. Knowl. Eng.
Carolina Centeio Jorge, Martin Atzmueller, Behzad Momahed Heravi, Jenny L. Gibson, Rosaldo J. F. Rossetti, Cláudio Rebelo de Sá
2023 conf
HHAI Workshops
Carolina Centeio Jorge, Catholijn M. Jonker, Myrthe L. Tielman
2023 conf
HHAI
Siddharth Mehrotra, Carolina Centeio Jorge, Catholijn M. Jonker, Myrthe L. Tielman
2023 J jnl
Frontiers Robotics AI
Carolina Centeio Jorge, Nikki H. Bouman, Catholijn M. Jonker, Myrthe L. Tielman
2023 conf
HHAI Workshops
Carolina Centeio Jorge, Anna-Sophie Ulfert-Blank
2023 B conf
HAI
Nicolo' Brandizzi, Carolina Centeio Jorge, Roberto Cipollone, Francesco Frattolillo, Luca Iocchi, Anna-Sophie Ulfert-Blank
2022 A* conf
HRI
Carolina Centeio Jorge, Myrthe L. Tielman, Catholijn M. Jonker
2022 B conf
IVA
Carolina Centeio Jorge, Myrthe L. Tielman, Catholijn M. Jonker
2022 Misc conf
CHI PLAY
Jan-Willem van Rhenen, Carolina Centeio Jorge, Tiffany Matej Hrkalovic, Bernd Dudzik
2021 conf
TRUST@AAMAS
Carolina Centeio Jorge, Siddharth Mehrotra, Catholijn M. Jonker, Myrthe L. Tielman
2019 conf
EPIA (2)
Carolina Centeio Jorge, Martin Atzmueller, Behzad Momahed Heravi, Jenny L. Gibson, Cláudio Rebelo de Sá, Rosaldo J. F. Rossetti
2018 C conf
VEHITS
Carolina Centeio Jorge, Rosaldo J. F. Rossetti
redb/extractors/decompiler/bninja/analysis/low_level_normalization.py
← Index redb/extractors/decompiler/bninja/analysis/low_level_normalization.py python
from binaryninja import (
    ILRegister, ILRegisterStack, ILFlag,
    ILIntrinsic, ILSemanticFlagGroup,
)

class LowLevelNormalization:
    def __init__(self):
        return

    def _collect_ops(self, il, ops):
        if il is None:
            return
        ops.append(int(il.operation))
        operands = getattr(il, "operands", None)
        if not operands:
            return
        for op in operands:
            if hasattr(op, "operation"):
                self._collect_ops(op, ops)
            elif isinstance(op, (list, tuple)):
                for sub in op:
                    if hasattr(sub, "operation"):
                        self._collect_ops(sub, ops)

    def normalize_instruction_all_levels(self, instr_il):
        ops = []
        self._collect_ops(instr_il, ops)

        return ops

    def _leaf_type(self, val):
        if isinstance(val, ILRegister):
            return "REG"
        if isinstance(val, ILRegisterStack):
            return "REG_STACK"
        if isinstance(val, ILFlag):
            return "FLAG"
        if isinstance(val, ILSemanticFlagGroup):
            return "FLAG_GROUP"
        if isinstance(val, ILIntrinsic):
            return "INTRINSIC"
        if isinstance(val, bool):
            return "BOOL"
        if isinstance(val, int):
            return "CONST"
        return type(val).__name__.upper()

    def _collect(self, il, out):
        if il is None:
            return
        out.append(int(il.operation))
        operands = getattr(il, "operands", None)
        if not operands:
            return
        for op in operands:
            if hasattr(op, "operation"):
                self._collect(op, out)
            elif isinstance(op, (list, tuple)):
                for sub in op:
                    if hasattr(sub, "operation"):
                        self._collect(sub, out)
                    else:
                        out.append(self._leaf_type(sub))
            else:
                out.append(self._leaf_type(op))

    def normalize_instr_with_operands(self, instr_il):
        ops = []
        self._collect(instr_il, ops)
        return ops