Naoki Masuda

128 papers B 3C 2Journal 116Unranked 6
YearRankTypeTitle / Venue / Authors
2025 J jnl
CoRR
Qiao Ke, Naoki Masuda, Zhen Jin, Chuang Liu, Xiu-Xiu Zhan
2025 J jnl
J. Comput. Sci.
Chanon Thongprayoon, Naoki Masuda
2025 conf
ASONAM (1)
Penghang Liu, Bahadir Altun, Rupam Acharyya, Robert E. Tillman, Shunya Kimura, Naoki Masuda, Ahmet Erdem Sariyüce
2024 J jnl
CoRR
Jnanajyoti Bhaumik, Naoki Masuda
2024 J jnl
CoRR
Katherine Betz, Feng Fu, Naoki Masuda
2024 J jnl
SIAM J. Appl. Math.
Ruodan Liu, Naoki Masuda
2024 J jnl
CoRR
Lucas H. McCabe, Naoki Masuda, Shannon Casillas, Nathan Danneman, Alen Alic, Royal Law
2024 J jnl
Appl. Netw. Sci.
Lucas H. McCabe, Naoki Masuda, Shannon Casillas, Nathan Danneman, Alen Alic, Royal Law
2024 J jnl
CoRR
Lucas Lacasa, F. Javier Marín-Rodríguez, Naoki Masuda, Lluís Arola-Fernández
2024 J jnl
CoRR
Ik Soo Lim, Naoki Masuda
2024 J jnl
IEEE Trans. Evol. Comput.
Ik Soo Lim, Naoki Masuda
2023 J jnl
CoRR
Maximilian Benedikt Kloucek, Thomas Machon, Shogo Kajimura, C. Patrick Royall, Naoki Masuda, Francesco Turci
2023 J jnl
CoRR
Naoki Masuda, Zachary M. Boyd, Diego Garlaschelli, Peter J. Mucha
2023 J jnl
IEEE Access
Chanon Thongprayoon, Lorenzo Livi, Naoki Masuda
2023 J jnl
PLoS Comput. Biol.
Ruodan Liu, Naoki Masuda
2023 J jnl
CoRR
Ruodan Liu, Naoki Masuda
2023 J jnl
CoRR
Jnanajyoti Bhaumik, Naoki Masuda
2023 J jnl
PLoS Comput. Biol.
Madison Russell, Alber Aqil, Marie Saitou, Omer Gokcumen, Naoki Masuda
2023 J jnl
Scientometrics
Kazuki Nakajima, Kazuyuki Shudo, Naoki Masuda
2023 J jnl
CoRR
Kazuki Nakajima, Ruodan Liu, Kazuyuki Shudo, Naoki Masuda
2023 J jnl
J. Informetrics
Kazuki Nakajima, Ruodan Liu, Kazuyuki Shudo, Naoki Masuda
2023 J jnl
CoRR
Kashin Sugishita, Naoki Masuda
2023 J jnl
Appl. Netw. Sci.
Kashin Sugishita, Naoki Masuda
2023 J jnl
CoRR
Penghang Liu, Rupam Acharyya, Robert E. Tillman, Shunya Kimura, Naoki Masuda, Ahmet Erdem Sariyüce
2022 J jnl
J. Comput. Soc. Sci.
Christos Ellinas, Christos Nicolaides, Naoki Masuda
2022 J jnl
CoRR
Kazuki Nakajima, Kazuyuki Shudo, Naoki Masuda
2022 J jnl
J. Comput. Soc. Sci.
Christos Ellinas, Christos Nicolaides, Naoki Masuda
2022 J jnl
IEEE Trans. Netw. Sci. Eng.
Kazuki Nakajima, Kazuyuki Shudo, Naoki Masuda
2021 J jnl
CoRR
Naoki Masuda, Christian L. Vestergaard
2021 J jnl
CoRR
Kazuki Nakajima, Kazuyuki Shudo, Naoki Masuda
2021 J jnl
CoRR
Penghang Liu, Naoki Masuda, Tomomi Kito, Ahmet Erdem Sariyüce
2020 J jnl
CoRR
Lingqi Meng, Naoki Masuda
2020 J jnl
CoRR
Naoki Masuda, Joel C. Miller, Petter Holme
2020 J jnl
Appl. Netw. Sci.
Shun Kodate, Ryusuke Chiba, Shunya Kimura, Naoki Masuda
2020 J jnl
CoRR
Mengqiao Xu, Qian Pan, Haoxiang Xia, Naoki Masuda
2020 J jnl
CoRR
Irene Malvestio, Alessio Cardillo, Naoki Masuda
2020 J jnl
CoRR
Kashin Sugishita, Mason A. Porter, Mariano Beguerisse-Díaz, Naoki Masuda
2020 J jnl
CoRR
Kashin Sugishita, Naoki Masuda
2020 J jnl
CoRR
Xiu-Xiu Zhan, Ziyu Li, Naoki Masuda, Petter Holme, Huijuan Wang
2020 J jnl
EPJ Data Sci.
Xiu-Xiu Zhan, Ziyu Li, Naoki Masuda, Petter Holme, Huijuan Wang
2019 J jnl
CoRR
Naoki Masuda, Masaki Ogura, Victor M. Preciado
2019 J jnl
CoRR
Alessio Cardillo, Naoki Masuda
2019 J jnl
CoRR
Shun Kodate, Ryusuke Chiba, Shunya Kimura, Naoki Masuda
2019 J jnl
CoRR
Takayuki Hiraoka, Naoki Masuda, Aming Li, Hang-Hyun Jo
2019 J jnl
SIAM J. Appl. Math.
Masaki Ogura, Victor M. Preciado, Naoki Masuda
2018 J jnl
SIAM Rev.
Naoki Masuda, Luis E. C. Rocha
2018 J jnl
CoRR
Naoki Masuda, Sadamori Kojaku, Yukie Sano
2018 J jnl
Frontiers Neuroinformatics
Naoki Masuda, Michiko Sakaki, Takahiro Ezaki, Takamitsu Watanabe
2018 J jnl
CoRR
Naoki Masuda, Petter Holme
2018 C conf
ACC
Masaki Ogura, Junpei Tagawa, Naoki Masuda
2018 J jnl
CoRR
Masaki Ogura, Junpei Tagawa, Naoki Masuda
2018 J jnl
CoRR
Christos Ellinas, Naoki Masuda
2018 J jnl
CoRR
Masaki Ogura, Victor M. Preciado, Naoki Masuda
2018 conf
*SEM@NAACL-HLT
Xia Cui, Sadamori Kojaku, Naoki Masuda, Danushka Bollegala
2018 C conf
ALIFE
Genki Ichinose, Naoki Masuda
2017 J jnl
CoRR
Sadamori Kojaku, Naoki Masuda
2017 J jnl
CoRR
Tomokatsu Onaga, James P. Gleeson, Naoki Masuda
2017 J jnl
CoRR
Sadamori Kojaku, Naoki Masuda
2017 J jnl
CoRR
Sadamori Kojaku, Naoki Masuda
2017 J jnl
CoRR
Takahiro Ezaki, Naoki Masuda
2017 J jnl
CoRR
Luis E. C. Rocha, Naoki Masuda, Petter Holme
2016 book
Naoki Masuda, Renaud Lambiotte
2016 J jnl
CoRR
Teruyoshi Kobayashi, Naoki Masuda
2016 J jnl
CoRR
Naoki Masuda, Mason A. Porter, Renaud Lambiotte
2016 J jnl
PLoS Comput. Biol.
Takahiro Ezaki, Yutaka Horita, Masanori Takezawa, Naoki Masuda
2016 J jnl
Soc. Netw. Anal. Min.
Ryosuke Nishi, Taro Takaguchi, Keigo Oka, Takanori Maehara, Masashi Toyoda, Ken-ichi Kawarabayashi, Naoki Masuda
2015 J jnl
CoRR
Naoki Masuda
2015 J jnl
CoRR
Leo Speidel, Taro Takaguchi, Naoki Masuda
2015 J jnl
EPJ Data Sci.
Kohei Tamura, Naoki Masuda
2014 J jnl
CoRR
Ryosuke Nishi, Naoki Masuda
2014 J jnl
Frontiers Neuroinformatics
Takamitsu Watanabe, Satoshi Hirose, Hiroyuki Wada, Yoshio Imai, Toru Machida, Ichiro Shirouzu, Seiki Konishi, Yasushi Miyashita, Naoki Masuda
2014 J jnl
CoRR
Hiroyuki Shimoji, Masato S. Abe, Kazuki Tsuji, Naoki Masuda
2014 J jnl
CoRR
Koji Oishi, Manuel Cebrián, Andrés Abeliuk, Naoki Masuda
2014 J jnl
NeuroImage
Takamitsu Watanabe, Shigeyuki Kan, Takahiko Koike, Masaya Misaki, Seiki Konishi, Satoru Miyauchi, Yasushi Miyashita, Naoki Masuda
2014 J jnl
CoRR
Yuni Iwamasa, Naoki Masuda
2014 J jnl
CoRR
Naoki Masuda
2014 J jnl
CoRR
Luis Enrique Correa da Rocha, Naoki Masuda
2014 J jnl
CoRR
Leo Speidel, Renaud Lambiotte, Kazuyuki Aihara, Naoki Masuda
2014 J jnl
CoRR
Petter Holme, Naoki Masuda
2013 J jnl
CoRR
Ryosuke Nishi, Naoki Masuda
2013 conf
CompleNet
Naoki Masuda, Tetsuya Fujie, Kazuo Murota
2013 B conf
COMPSAC
Taro Takaguchi, Nobuo Sato, Kazuo Yano, Naoki Masuda
2013 J jnl
CoRR
Takehisa Hasegawa, Taro Takaguchi, Naoki Masuda
2013 J jnl
CoRR
Jens Malmros, Naoki Masuda, Tom Britton
2013 J jnl
CoRR
Naoki Masuda, Konstantin Klemm, Víctor M. Eguíluz
2013 J jnl
CoRR
Kodai Saito, Naoki Masuda
2013 B conf
ASONAM
Kodai Saito, Naoki Masuda
2013 J jnl
CoRR
Naoki Masuda
2012 J jnl
CoRR
Ryo Fujie, Kazuyuki Aihara, Naoki Masuda
2012 J jnl
CoRR
Shun Motegi, Naoki Masuda
2012 J jnl
CoRR
Taro Takaguchi, Naoki Masuda, Petter Holme
2012 J jnl
CoRR
Naoki Masuda
2012 J jnl
CoRR
Mitsuhiro Nakamura, Naoki Masuda
2012 J jnl
CoRR
Taro Takaguchi, Nobuo Sato, Kazuo Yano, Naoki Masuda
2012 J jnl
CoRR
Shoma Tanabe, Hideyuki Suzuki, Naoki Masuda
2012 J jnl
CoRR
Naoki Masuda
2012 J jnl
CoRR
Naoki Masuda, Taro Takaguchi, Nobuo Sato, Kazuo Yano
2012 J jnl
CoRR
Naoki Masuda, Issei Kurahashi, Hiroko Onari
2011 J jnl
CoRR
Naoki Masuda
2011 J jnl
CoRR
Naoki Masuda, Mitsuhiro Nakamura
2011 J jnl
PLoS Comput. Biol.
Mitsuhiro Nakamura, Naoki Masuda
2011 J jnl
CoRR
Taro Takaguchi, Mitsuhiro Nakamura, Nobuo Sato, Kazuo Yano, Naoki Masuda
2011 J jnl
CoRR
Takehisa Hasegawa, Naoki Masuda
2010 J jnl
CoRR
Naoki Masuda, Sidney Redner
2010 J jnl
NeuroImage
Jiangyang Zhang, Qi Peng, Qing Li, Neda Jahanshad, Zhipeng Hou, Mali Jiang, Naoki Masuda, Douglas R. Langbehn, Michael I. Miller, Susumu Mori, Christopher A. Ross, Wenzhen Duan
2010 J jnl
CoRR
Taro Takaguchi, Naoki Masuda
2009 conf
Complex (2)
Jin Seop Kim, Naoki Masuda, Byungnam Kahng
2009 J jnl
Neural Comput.
Naoki Masuda
2008 J jnl
J. Comput. Neurosci.
Naoki Masuda, Shun-ichi Amari
2007 J jnl
Neural Comput.
Naoki Masuda, Masato Okada, Kazuyuki Aihara
2007 J jnl
J. Comput. Neurosci.
Naoki Masuda, Hiroshi Kori
2007 J jnl
PLoS Comput. Biol.
Naoki Masuda, Brent Doiron
2007 B conf
IJCNN
Naoki Masuda, Hiroshi Kori
2006 J jnl
IEEE Trans. Circuits Syst. I Regul. Pap.
Naoki Masuda, Goce Jakimovski, Kazuyuki Aihara, Ljupco Kocarev
2006 J jnl
Neural Networks
Yuichi Katori, Naoki Masuda, Kazuyuki Aihara
2006 J jnl
Int. J. Bifurc. Chaos
Kazumichi Ohtsuka, Norio Konno, Naoki Masuda, Kazuyuki Aihara
2006 J jnl
Neural Comput.
Naoki Masuda
2006 J jnl
Soc. Networks
Naoki Masuda, Norio Konno
2005 J jnl
Neural Comput.
Naoki Masuda, Brent Doiron, André Longtin, Kazuyuki Aihara
2005 conf
NIPS
Naoki Masuda, Shun-ichi Amari
2004 J jnl
Neurocomputing
Naoki Masuda, Kazuyuki Aihara
2004 J jnl
Biol. Cybern.
Naoki Masuda, Kazuyuki Aihara
2004 J jnl
Neural Comput.
Naoki Masuda, Kazuyuki Aihara
2003 J jnl
Neural Comput.
Naoki Masuda, Kazuyuki Aihara
2003 J jnl
Neural Comput.
Naoki Masuda, Kazuyuki Aihara
2002 J jnl
Int. J. Bifurc. Chaos
Naoki Masuda, Kazuyuki Aihara
2002 J jnl
Neural Comput.
Naoki Masuda, Kazuyuki Aihara
2001 conf
ISCAS (3)
Naoki Masuda, Kazuyuki Aihara
tests/unit/test_decompile_scores.py
← Index tests/unit/test_decompile_scores.py python
"""Unit tests for bninja/analysis/scores.py — ObfuscationScores."""
import sys
import pytest
from unittest.mock import MagicMock

# Install binaryninja stubs before importing
from tests.unit.conftest_binja_stubs import (
    install_binja_stubs,
    HighLevelILOperation,
)
bn_mock = install_binja_stubs()

from redb.extractors.decompiler.bninja.analysis.scores import (
    ObfuscationScores,
    get_dominated_by,
    uses_mba,
)
import binaryninja.highlevelil as hlil_mod


# ============================================================================
# Helper: Mock HLIL instruction
# ============================================================================

class MockHLILInstruction(hlil_mod.HighLevelILInstruction):
    """Mock HLIL instruction with operation and operands."""
    def __init__(self, operation, operands=None):
        self.operation = operation
        self.operands = operands or []


class MockHLILBasicBlock:
    """Mock HLIL basic block for flattened score testing."""
    def __init__(self, incoming_edges=None, dominator_tree_children=None):
        self.incoming_edges = incoming_edges or []
        self.dominator_tree_children = dominator_tree_children or []


# ============================================================================
# 5a. ObfuscationScores
# ============================================================================


class TestFlattenedScore:
    def test_flattened_score_no_back_edges(self):
        """Linear CFG with no back edges -> score 0.0."""
        block = MockHLILBasicBlock(incoming_edges=[], dominator_tree_children=[])
        func = MagicMock()
        func.basic_blocks = [block]
        scores = ObfuscationScores(func)
        assert scores.flattened_score() == 0.0

    def test_flattened_score_with_loop(self):
        """CFG with a back edge -> score > 0.0."""
        block = MockHLILBasicBlock(dominator_tree_children=[])
        # Create a back edge: an incoming edge whose source is in the dominated set
        edge = MagicMock()
        edge.source = block  # source IS the dominator -> back edge
        block.incoming_edges = [edge]
        func = MagicMock()
        func.basic_blocks = [block]
        scores = ObfuscationScores(func)
        assert scores.flattened_score() > 0.0

    def test_flattened_score_fully_flat(self):
        """Flattened CFG: one block dominates all -> ratio close to 1.0."""
        children = [MockHLILBasicBlock() for _ in range(4)]
        root = MockHLILBasicBlock(dominator_tree_children=children)
        # Back edge from root incoming
        edge = MagicMock()
        edge.source = root
        root.incoming_edges = [edge]
        all_blocks = [root] + children
        func = MagicMock()
        func.basic_blocks = all_blocks
        scores = ObfuscationScores(func)
        assert scores.flattened_score() == pytest.approx(1.0)


class TestMBAScore:
    def test_mba_score_no_mixed_ops(self):
        """Instructions with only arithmetic -> score 0.0."""
        instr = MockHLILInstruction(HighLevelILOperation.HLIL_ADD, operands=[])
        func = MagicMock()
        func.instructions = [instr]
        scores = ObfuscationScores(func)
        assert scores.MBA_score() == 0.0

    def test_mba_score_mixed_ops(self):
        """Instructions with arithmetic + logic -> score > 0.0."""
        inner_logic = MockHLILInstruction(HighLevelILOperation.HLIL_XOR, operands=[])
        outer_arith = MockHLILInstruction(
            HighLevelILOperation.HLIL_ADD, operands=[inner_logic]
        )
        func = MagicMock()
        func.instructions = [outer_arith]
        scores = ObfuscationScores(func)
        assert scores.MBA_score() > 0.0

    def test_mba_score_all_mixed(self):
        """Every instruction has both -> score 1.0."""
        inner_logic = MockHLILInstruction(HighLevelILOperation.HLIL_NOT, operands=[])
        outer_arith = MockHLILInstruction(
            HighLevelILOperation.HLIL_SUB, operands=[inner_logic]
        )
        func = MagicMock()
        func.instructions = [outer_arith]
        scores = ObfuscationScores(func)
        assert scores.MBA_score() == 1.0


class TestGetDominatedBy:
    def test_get_dominated_by(self):
        child1 = MockHLILBasicBlock(dominator_tree_children=[])
        child2 = MockHLILBasicBlock(dominator_tree_children=[])
        root = MockHLILBasicBlock(dominator_tree_children=[child1, child2])
        result = get_dominated_by(root)
        assert root in result
        assert child1 in result
        assert child2 in result
        assert len(result) == 3


class TestUsesMBA:
    def test_uses_mba_arithmetic_only(self):
        instr = MockHLILInstruction(HighLevelILOperation.HLIL_ADD, operands=[])
        assert uses_mba(instr) is False

    def test_uses_mba_logic_only(self):
        instr = MockHLILInstruction(HighLevelILOperation.HLIL_XOR, operands=[])
        assert uses_mba(instr) is False

    def test_uses_mba_mixed(self):
        inner = MockHLILInstruction(HighLevelILOperation.HLIL_AND, operands=[])
        outer = MockHLILInstruction(HighLevelILOperation.HLIL_ADD, operands=[inner])
        assert uses_mba(outer) is True