Jafar Tavoosi

27 papers Journal 27
YearRankTypeTitle / Venue / Authors
2025 J jnl
Energy Inform.
Walid Ayadi, Jafar Tavoosi, Amirhossein Khosravi Sarvenoee, Ardashir Mohammadzadeh
2024 J jnl
Complex.
Farzad Soltanian, Amir Parviz Valadbeigi, Jafar Tavoosi, Rahmat Aazami, Mokhtar Shasadeghi, Mohammadamin Shirkhani, Amirreza Azizi
2024 J jnl
Complex.
Jun Wang, Jiali Zhang, Jafar Tavoosi, Mohammadamin Shirkhani
2023 J jnl
Complex.
Yasin Abdolahi, Sajad Yousefi, Jafar Tavoosi
2022 J jnl
Trans. Inst. Meas. Control
Hooman Mohammadi-Moghadam, Ardashir Mohammadzadeh, Reza Hadjiaghaie Vafaie, Jafar Tavoosi, Mohammad Hassan Khooban
2022 J jnl
Complex.
Mir Saeid Hesarian, Jafar Tavoosi
2022 J jnl
IEEE Access
Ali Amanlou, Amir Abolfazl Suratgar, Jafar Tavoosi, Ardashir Mohammadzadeh, Amir Mosavi
2022 J jnl
Complex.
Zheng Wang, Longyi Ran, Bing Kong, Xuezeng Jia, Liya Liu, Jafar Tavoosi
2021 J jnl
IEEE Access
Robab Ebrahimi Bavili, Ardashir Mohammadzadeh, Jafar Tavoosi, Saleh Mobayen, Wudhichai Assawinchaichote, Jihad H. Asad, Amirhosein Mosavi
2021 J jnl
Int. J. Uncertain. Fuzziness Knowl. Based Syst.
Jidong Wang, Chunxiang Xu, Jafar Tavoosi
2021 J jnl
Mechatron. Syst. Control.
Jafar Tavoosi
2021 J jnl
Int. J. Appl. Pattern Recognit.
Yavar Azarakhsh, Jafar Tavoosi
2021 J jnl
Soft Comput.
Jafar Tavoosi, Ardashir Mohammadzadeh, Kittisak Jermsittiparsert
2021 J jnl
Int. J. Model. Identif. Control.
Jafar Tavoosi, Mohammadamin Shirkhani, Amirreza Azizi
2021 J jnl
Complex.
Jafar Tavoosi, Yavar Azarakhsh, Ardashir Mohammadzadeh, Saleh Mobayen, Jihad H. Asad, Rabia Safdar
2021 J jnl
Iran J. Comput. Sci.
Jafar Tavoosi
2021 J jnl
Frontiers Neuroinformatics
Jafar Tavoosi, Chunwei Zhang, Ardashir Mohammadzadeh, Saleh Mobayen, Amirhosein Mosavi
2021 J jnl
Complex.
Jafar Tavoosi, Yavar Azarakhsh, Ardashir Mohammadzadeh, Saleh Mobayen, Jihad H. Asad, Rabia Safdar
2021 J jnl
Sensors
Jing-he Wang, Jafar Tavoosi, Ardashir Mohammadzadeh, Saleh Mobayen, Jihad H. Asad, Wudhichai Assawinchaichote, Mai The Vu, Pawel Skruch
2020 J jnl
Int. J. Knowl. Based Intell. Eng. Syst.
Jafar Tavoosi
2020 J jnl
Int. J. Mechatronics Autom.
Jafar Tavoosi
2017 J jnl
Int. J. Uncertain. Fuzziness Knowl. Based Syst.
Yaghoub Pour Asad, Afshar Shamsi Jokandan, Jafar Tavoosi
2017 J jnl
Int. J. Fuzzy Syst.
Jafar Tavoosi, Amir Abolfazl Suratgar, Mohammad Bagher Menhaj
2017 J jnl
Neural Comput. Appl.
Jafar Tavoosi, Amir Abolfazl Suratgar, Mohammad Bagher Menhaj
2016 J jnl
Eng. Appl. Artif. Intell.
Jafar Tavoosi, Amir Abolfazl Suratgar, Mohammad Bagher Menhaj
2016 J jnl
Neurocomputing
Jafar Tavoosi, Amir Abolfazl Suratgar, Mohammad Bagher Menhaj
2013 J jnl
Neural Comput. Appl.
Jafar Tavoosi, Mohammad Ali Badamchizadeh
redb/extractors/decompiler/bninja/analysis/medium_level_normalization.py
← Index redb/extractors/decompiler/bninja/analysis/medium_level_normalization.py python
from binaryninja import (
    MediumLevelILInstruction,
    Variable, SSAVariable,
    ILIntrinsic,
)


class MediumLevelNormalization:
    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 isinstance(op, MediumLevelILInstruction):
                self._collect_ops(op, ops)
            elif isinstance(op, (list, tuple)):
                for sub in op:
                    if isinstance(sub, MediumLevelILInstruction):
                        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, SSAVariable):
            return "SSA_VAR"
        if isinstance(val, Variable):
            return "VAR"
        if isinstance(val, ILIntrinsic):
            return "INTRINSIC"
        if isinstance(val, bool):
            return "BOOL"
        if isinstance(val, float):
            return "FLOAT_CONST"
        if isinstance(val, int):
            return "CONST"
        if isinstance(val, str):
            return "STR"
        return type(val).__name__.upper()

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

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