Osamu Akashi

75 papers A* 1A 5B 19C 1Journal 24Unranked 24
YearRankTypeTitle / Venue / Authors
2025 conf
FMANO@SIGCOMM
Ryusei Shiiba, Satoru Kobayashi, Osamu Akashi, Kensuke Fukuda
2025 J jnl
J. Inf. Process.
Ryusei Shiiba, Satoru Kobayashi, Osamu Akashi, Hiroki Shirokura, Kensuke Fukuda
2023 J jnl
IEICE Trans. Commun.
Takashi Kurimoto, Koji Sasayama, Osamu Akashi, Kenjiro Yamanaka, Naoya Kitagawa, Shigeo Urushidani
2023 J jnl
IEEE Trans. Netw. Serv. Manag.
Toru Mano, Takeru Inoue, Kimihiro Mizutani, Osamu Akashi
2023 conf
OFC
Takashi Kurimoto, Koji Sasayama, Osamu Akashi, Shigeo Urushidani
2022 B conf
NOMS
Satoru Kobayashi, Keiichi Shima, Kenjiro Cho, Osamu Akashi, Kensuke Fukuda
2021 B conf
COMPSAC
Kazuki Otomo, Satoru Kobayashi, Kensuke Fukuda, Osamu Akashi, Kimihiro Mizutani, Hiroshi Esaki
2021 conf
AINTEC
Ryusei Shiiba, Satoru Kobayashi, Osamu Akashi, Kensuke Fukuda
2020 J jnl
IEICE Trans. Commun.
Toru Mano, Takeru Inoue, Kimihiro Mizutani, Osamu Akashi
2019 B conf
GLOBECOM
Toru Mano, Takeru Inoue, Kimihiro Mizutani, Osamu Akashi
2019 J jnl
IEICE Trans. Commun.
Kohei Watabe, Toru Mano, Takeru Inoue, Kimihiro Mizutani, Osamu Akashi, Kenji Nakagawa
2018 J jnl
IEEE Wirel. Commun.
Bomin Mao, Fengxiao Tang, Zubair Md Fadlullah, Nei Kato, Osamu Akashi, Takeru Inoue, Kimihiro Mizutani
2018 J jnl
Comput. Commun.
Takeru Inoue, Toru Mano, Kimihiro Mizutani, Shin-ichi Minato, Osamu Akashi
2018 J jnl
IEEE Wirel. Commun.
Fengxiao Tang, Bomin Mao, Zubair Md Fadlullah, Nei Kato, Osamu Akashi, Takeru Inoue, Kimihiro Mizutani
2017 A conf
ICDCS
Kohei Watabe, Toru Mano, Kimihiro Mizutani, Osamu Akashi, Kenji Nakagawa, Takeru Inoue
2017 B conf
GLOBECOM
Bomin Mao, Zubair Md Fadlullah, Fengxiao Tang, Nei Kato, Osamu Akashi, Takeru Inoue, Kimihiro Mizutani
2017 J jnl
IEEE Trans. Netw. Serv. Manag.
Takeru Inoue, Richard Chen, Toru Mano, Kimihiro Mizutani, Hisashi Nagata, Osamu Akashi
2017 J jnl
IEEE Trans. Computers
Bomin Mao, Zubair Md Fadlullah, Fengxiao Tang, Nei Kato, Osamu Akashi, Takeru Inoue, Kimihiro Mizutani
2017 J jnl
IEEE Commun. Surv. Tutorials
Zubair Md Fadlullah, Fengxiao Tang, Bomin Mao, Nei Kato, Osamu Akashi, Takeru Inoue, Kimihiro Mizutani
2017 J jnl
IEEE Wirel. Commun.
Nei Kato, Zubair Md Fadlullah, Bomin Mao, Fengxiao Tang, Osamu Akashi, Takeru Inoue, Kimihiro Mizutani
2016 A conf
ICDCS
Richard Chen, Toru Mano, Takeru Inoue, Kimihiro Mizutani, Hisashi Nagata, Osamu Akashi
2016 conf
ICC
Hideki Kuribayashi, Katsuya Suto, Hiroki Nishiyama, Kimihiro Mizutani, Takeru Inoue, Osamu Akashi
2016 B conf
ICNP
Takeru Inoue, Richard Chen, Toru Mano, Kimihiro Mizutani, Hisashi Nagata, Osamu Akashi
2016 J jnl
IEEE Trans. Netw. Serv. Manag.
Toru Mano, Takeru Inoue, Dai Ikarashi, Koki Hamada, Kimihiro Mizutani, Osamu Akashi
2016 J jnl
IEICE Trans. Commun.
Osamu Akashi
2016 J jnl
IEICE Trans. Commun.
Kimihiro Mizutani, Takeru Inoue, Toru Mano, Osamu Akashi, Satoshi Matsuura, Kazutoshi Fujikawa
2016 A* conf
INFOCOM
Toru Mano, Takeru Inoue, Kimihiro Mizutani, Osamu Akashi
2016 J jnl
IEEE Wirel. Commun.
Jiajia Liu, Zhongyuan Jiang, Nei Kato, Osamu Akashi, Atsushi Takahara
2016 J jnl
Inf. Media Technol.
Kimihiro Mizutani, Takeru Inoue, Toru Mano, Osamu Akashi, Satoshi Matsuura, Kazutoshi Fujikawa
2016 conf
VTC Fall
Tiago Gama Rodrigues, Katsuya Suto, Hiroki Nishiyama, Nei Kato, Kimihiro Mizutani, Takeru Inoue, Osamu Akashi
2015 conf
CFI
Ryota Ohshima, Shinji Kawaguchi, Osamu Kamatani, Osamu Akashi, Kunitake Kaneko, Fumio Teraoka
2015 C conf
APCC
Kimihiro Mizutani, Takeru Inoue, Toru Mano, Osamu Akashi, Satoshi Matsuura, Kazutoshi Fujikawa
2015 J jnl
IEICE Trans. Commun.
Toru Mano, Takeru Inoue, Kimihiro Mizutani, Osamu Akashi
2014 J jnl
IEEE Trans. Emerg. Top. Comput.
Katsuya Suto, Hiroki Nishiyama, Nei Kato, Kimihiro Mizutani, Osamu Akashi, Atsushi Takahara
2014 B conf
ICCCN
Toru Mano, Takeru Inoue, Dai Ikarashi, Koki Hamada, Kimihiro Mizutani, Osamu Akashi
2014 B conf
ICNP
Takeru Inoue, Toru Mano, Kimihiro Mizutani, Shin-ichi Minato, Osamu Akashi
2013 J jnl
IEICE Trans. Commun.
Kimihiro Mizutani, Toru Mano, Osamu Akashi, Kensuke Fukuda
2013 conf
WCSP
Meng Li, Hiroki Nishiyama, Nei Kato, Kimihiro Mizutani, Osamu Akashi, Atsushi Takahara
2013 B conf
IM
Toru Mano, Kimihiro Mizutani, Osamu Akashi
2012 B conf
NOMS
Kimihiro Mizutani, Osamu Akashi, Atsushi Terauchi, Takeshi Kugimoto, Mitsuru Maruyama
2012 B conf
GLOBECOM
Kimihiro Mizutani, Toru Mano, Osamu Akashi, Kensuke Fukuda
2012 B conf
GLOBECOM
Kimihiro Mizutani, Toru Mano, Osamu Akashi, Tetsuo Kawano, Hiroshi Shimizu
2011 conf
Integrated Network Management
Osamu Akashi
2011 J jnl
Inf. Media Technol.
Atsushi Terauchi, Kensuke Fukuda, Osamu Akashi
2010 B conf
AINA
Kensuke Fukuda, Toshio Hirotsu, Osamu Akashi, Toshiharu Sugawara
2010 B conf
LCN
Toshio Hirotsu, Satoshi Kurihara, Kensuke Fukuda, Osamu Akashi, Hirotake Abe, Toshiharu Sugawara
2010 J jnl
Web Intell. Agent Syst.
Toshiharu Sugawara, Kensuke Fukuda, Toshio Hirotsu, Shin-ya Sato, Osamu Akashi, Satoshi Kurihara
2010 B conf
NOMS
Atsushi Terauchi, Osamu Akashi, Kensuke Fukuda
2009 conf
SAINT
Guochao Jing, Takeshi Tsuchiya, Hiroaki Sawano, Takeshi Kugimoto, Katsuhiro Sebayashi, Osamu Akashi, Mitsuru Maruyama, Kei'ichi Koyanagi
2009 conf
AINA Workshops
Atsushi Terauchi, Osamu Akashi
2008 B conf
GLOBECOM
Kensuke Fukuda, Toshio Hirotsu, Osamu Akashi, Toshiharu Sugawara
2008 conf
IPOM
Osamu Akashi, Atsushi Terauchi
2008 J jnl
Comput. Commun.
Osamu Akashi, Kensuke Fukuda, Toshio Hirotsu, Toshiharu Sugawara
2007 conf
IPOM
Osamu Akashi, Kensuke Fukuda, Toshio Hirotsu, Toshiharu Sugawara
2007 conf
ILC
Osamu Akashi, Atsushi Terauchi, Kensuke Fukuda, Toshio Hirotsu, Toshiharu Sugawara
2007 ch.
Emergent Intelligence of Networked Agents
Kensuke Fukuda, Toshio Hirotsu, Satoshi Kurihara, Osamu Akashi, Shin-ya Sato, Toshiharu Sugawara
2006 conf
MMAS/LSMAS/CCMMS
Osamu Akashi, Kensuke Fukuda, Satoshi Kurihara, Toshio Hirotsu, Toshiharu Sugawara
2006 conf
IAT
Kensuke Fukuda, Toshio Hirotsu, Satoshi Kurihara, Shin-ya Sato, Osamu Akashi, Toshiharu Sugawara
2006 conf
INM@SIGCOMM
Osamu Akashi, Kensuke Fukuda, Toshio Hirotsu, Toshiharu Sugawara
2006 A conf
AAMAS
Toshiharu Sugawara, Satoshi Kurihara, Toshio Hirotsu, Kensuke Fukuda, Shin-ya Sato, Osamu Akashi
2005 B conf
PRIMA
Atsushi Terauchi, Osamu Akashi, Mitsuru Maruyama, Kensuke Fukuda, Toshiharu Sugawara, Toshio Hirotsu, Satoshi Kurihara
2005 conf
DSOM
Osamu Akashi, Atsushi Terauchi, Kensuke Fukuda, Toshio Hirotsu, Mitsuru Maruyama, Toshiharu Sugawara
2005 conf
IAT
Kensuke Fukuda, Shin-ya Sato, Osamu Akashi, Toshio Hirotsu, Satoshi Kurihara, Toshiharu Sugawara
2005 conf
ICOIN
Kensuke Fukuda, Toshio Hirotsu, Osamu Akashi, Toshiharu Sugawara
2004 conf
BioADIT
Satoshi Kurihara, Kensuke Fukuda, Toshio Hirotsu, Osamu Akashi, Shin-ya Sato, Toshiharu Sugawara
2003 conf
SAINT Workshops
Osamu Akashi, Toshio Hirotsu, Koji Sato, Kenichi Kourai, Mitsuro Maruyama, Toshiharu Sugawara
2003 B conf
PRIMA
Toshiharu Sugawara, Satoshi Kurihara, Osamu Akashi
2003 A conf
AAMAS
Toshiharu Sugawara, Satoshi Kurihara, Osamu Akashi
2003 B conf
LCN
Kenichi Kourai, Toshio Hirotsu, Koji Sato, Osamu Akashi, Kensuke Fukuda, Toshiharu Sugawara, Shigeru Chiba
2003 A conf
AAMAS
Satoshi Kurihara, Kensuke Fukuda, Toshio Hirotsu, Osamu Akashi, Shin-ya Sato, Toshiharu Sugawara
2002 J jnl
IEEE Internet Comput.
Osamu Akashi, Toshiharu Sugawara, Ken-ichiro Murakami, Mitsuro Maruyama, Kei'ichi Koyanagi
2002 conf
JCIS
Koji Sato, Toshio Hirotsu, Kensuke Fukuda, Osamu Akashi, Toshiharu Sugawara
2000 conf
ICMAS
Toshiharu Sugawara, Osamu Akashi, Satoshi Kurihara, Shin-ya Sato
2000 B conf
NOMS
Osamu Akashi, Toshiharu Sugawara, Ken Murakami, Mitsuru Maruyama, Naohisa Takahashi
1999 conf
ASA/MA
Osamu Akashi, Toshiharu Sugawara, Ken-ichiro Murakami, Mitsuru Maruyama, Naohisa Takahashi
redb/extractors/decompiler/bninja/analysis/cfg.py
← Index redb/extractors/decompiler/bninja/analysis/cfg.py python
from binaryninja.enums import LowLevelILOperation as LLIL_OP

# Support both package and standalone imports
try:
    from . import cfg_features
except ImportError:
    from redb.extractors.decompiler.bninja.analysis import cfg_features


# ---------------------------------------------------------------------------
# Task 2.2: Build LLIL operation maps at import time using real enum values
# ---------------------------------------------------------------------------

# Prime product map: LLIL operation integer value -> small prime
cfg_features.LLIL_OP_PRIMES = {
    # SET_REG, SET_REG_SPLIT
    LLIL_OP.LLIL_SET_REG.value: 2,
    LLIL_OP.LLIL_SET_REG_SPLIT.value: 2,
    # SET_FLAG
    LLIL_OP.LLIL_SET_FLAG.value: 3,
    # LOAD
    LLIL_OP.LLIL_LOAD.value: 5,
    # STORE
    LLIL_OP.LLIL_STORE.value: 7,
    # PUSH, POP
    LLIL_OP.LLIL_PUSH.value: 11,
    LLIL_OP.LLIL_POP.value: 13,
    # CALL, TAILCALL, SYSCALL
    LLIL_OP.LLIL_CALL.value: 17,
    LLIL_OP.LLIL_TAILCALL.value: 17,
    LLIL_OP.LLIL_SYSCALL.value: 19,
    # RET, NORET
    LLIL_OP.LLIL_RET.value: 23,
    LLIL_OP.LLIL_NORET.value: 23,
    # IF, GOTO
    LLIL_OP.LLIL_IF.value: 29,
    LLIL_OP.LLIL_GOTO.value: 31,
    # ADD, SUB
    LLIL_OP.LLIL_ADD.value: 37,
    LLIL_OP.LLIL_SUB.value: 41,
    # AND, OR, XOR
    LLIL_OP.LLIL_AND.value: 43,
    LLIL_OP.LLIL_OR.value: 47,
    LLIL_OP.LLIL_XOR.value: 53,
    # LSL, LSR, ASR, ROL, ROR
    LLIL_OP.LLIL_LSL.value: 59,
    LLIL_OP.LLIL_LSR.value: 61,
    LLIL_OP.LLIL_ASR.value: 67,
    LLIL_OP.LLIL_ROL.value: 71,
    LLIL_OP.LLIL_ROR.value: 73,
    # MUL, DIVU, DIVS, MODU, MODS
    LLIL_OP.LLIL_MUL.value: 79,
    LLIL_OP.LLIL_DIVU.value: 83,
    LLIL_OP.LLIL_DIVS.value: 83,
    LLIL_OP.LLIL_MODU.value: 89,
    LLIL_OP.LLIL_MODS.value: 89,
    # NEG, NOT
    LLIL_OP.LLIL_NEG.value: 97,
    LLIL_OP.LLIL_NOT.value: 101,
    # CMP_E, CMP_NE, CMP_SLT, CMP_ULT, CMP_SLE, CMP_ULE
    # CMP_SGT, CMP_UGT, CMP_SGE, CMP_UGE
    LLIL_OP.LLIL_CMP_E.value: 103,
    LLIL_OP.LLIL_CMP_NE.value: 103,
    LLIL_OP.LLIL_CMP_SLT.value: 107,
    LLIL_OP.LLIL_CMP_ULT.value: 107,
    LLIL_OP.LLIL_CMP_SLE.value: 109,
    LLIL_OP.LLIL_CMP_ULE.value: 109,
    LLIL_OP.LLIL_CMP_SGT.value: 113,
    LLIL_OP.LLIL_CMP_UGT.value: 113,
    LLIL_OP.LLIL_CMP_SGE.value: 127,
    LLIL_OP.LLIL_CMP_UGE.value: 127,
    # NOP
    LLIL_OP.LLIL_NOP.value: 1,
    # SX, ZX, LOW_PART, BOOL_TO_INT
    LLIL_OP.LLIL_SX.value: 131,
    LLIL_OP.LLIL_ZX.value: 137,
    LLIL_OP.LLIL_LOW_PART.value: 139,
    LLIL_OP.LLIL_BOOL_TO_INT.value: 149,
    # JUMP, JUMP_TO
    LLIL_OP.LLIL_JUMP.value: 151,
    LLIL_OP.LLIL_JUMP_TO.value: 151,
}

# Category map: LLIL operation integer value -> category index
_ARITHMETIC = {
    LLIL_OP.LLIL_ADD, LLIL_OP.LLIL_ADC, LLIL_OP.LLIL_SUB, LLIL_OP.LLIL_SBB,
    LLIL_OP.LLIL_MUL, LLIL_OP.LLIL_MULU_DP, LLIL_OP.LLIL_MULS_DP,
    LLIL_OP.LLIL_DIVU, LLIL_OP.LLIL_DIVU_DP, LLIL_OP.LLIL_DIVS,
    LLIL_OP.LLIL_DIVS_DP, LLIL_OP.LLIL_MODU, LLIL_OP.LLIL_MODS,
    LLIL_OP.LLIL_NEG,
}
_LOGIC = {
    LLIL_OP.LLIL_AND, LLIL_OP.LLIL_OR, LLIL_OP.LLIL_XOR, LLIL_OP.LLIL_NOT,
    LLIL_OP.LLIL_LSL, LLIL_OP.LLIL_LSR, LLIL_OP.LLIL_ASR,
    LLIL_OP.LLIL_ROL, LLIL_OP.LLIL_RLC, LLIL_OP.LLIL_ROR, LLIL_OP.LLIL_RRC,
}
_TRANSFER = {
    LLIL_OP.LLIL_SET_REG, LLIL_OP.LLIL_SET_REG_SPLIT, LLIL_OP.LLIL_SET_FLAG,
    LLIL_OP.LLIL_GOTO, LLIL_OP.LLIL_IF, LLIL_OP.LLIL_JUMP, LLIL_OP.LLIL_JUMP_TO,
    LLIL_OP.LLIL_RET, LLIL_OP.LLIL_NORET, LLIL_OP.LLIL_PUSH, LLIL_OP.LLIL_POP,
}
_CALL = {
    LLIL_OP.LLIL_CALL, LLIL_OP.LLIL_TAILCALL, LLIL_OP.LLIL_SYSCALL,
}
_COMPARISON = {
    LLIL_OP.LLIL_CMP_E, LLIL_OP.LLIL_CMP_NE,
    LLIL_OP.LLIL_CMP_SLT, LLIL_OP.LLIL_CMP_ULT,
    LLIL_OP.LLIL_CMP_SLE, LLIL_OP.LLIL_CMP_ULE,
    LLIL_OP.LLIL_CMP_SGE, LLIL_OP.LLIL_CMP_UGE,
    LLIL_OP.LLIL_CMP_SGT, LLIL_OP.LLIL_CMP_UGT,
    LLIL_OP.LLIL_TEST_BIT, LLIL_OP.LLIL_FLAG_COND,
}
_MEMORY = {
    LLIL_OP.LLIL_LOAD, LLIL_OP.LLIL_STORE,
}

cfg_features.LLIL_OP_CATEGORIES = {}
for _op in _ARITHMETIC:
    cfg_features.LLIL_OP_CATEGORIES[_op.value] = cfg_features.CAT_ARITHMETIC
for _op in _LOGIC:
    cfg_features.LLIL_OP_CATEGORIES[_op.value] = cfg_features.CAT_LOGIC
for _op in _TRANSFER:
    cfg_features.LLIL_OP_CATEGORIES[_op.value] = cfg_features.CAT_TRANSFER
for _op in _CALL:
    cfg_features.LLIL_OP_CATEGORIES[_op.value] = cfg_features.CAT_CALL
for _op in _COMPARISON:
    cfg_features.LLIL_OP_CATEGORIES[_op.value] = cfg_features.CAT_COMPARISON
for _op in _MEMORY:
    cfg_features.LLIL_OP_CATEGORIES[_op.value] = cfg_features.CAT_MEMORY

# Set of CALL operation values for counting
_CALL_OPS = {op.value for op in _CALL}


# ---------------------------------------------------------------------------
# Task 2.1 + 2.3: Rewritten CFGAnalysis
# ---------------------------------------------------------------------------

class CFGAnalysis:
    def __init__(self, function, llil_function=None):
        self.function = function
        self.llil_function = llil_function

    def extract_function_cfg(self):
        """Extract function-level CFG features as a flat dictionary."""

        if self.function is None:
            return None

        blocks = list(self.function.basic_blocks)
        if not blocks:
            return None

        n = len(blocks)

        # 1. Build index-based adjacency from Binary Ninja blocks
        addr_to_idx = {b.start: i for i, b in enumerate(blocks)}
        successors = [[] for _ in range(n)]
        predecessors = [[] for _ in range(n)]
        for i, block in enumerate(blocks):
            for edge in block.outgoing_edges:
                if edge.target is None:
                    continue
                target_idx = addr_to_idx.get(edge.target.start)
                if target_idx is not None:
                    successors[i].append(target_idx)
                    predecessors[target_idx].append(i)

        # 2. BFS order (reusable across multiple features)
        bfs = cfg_features.bfs_order(successors, n)

        # 3. Collect per-block LLIL operations (for prime product + ACFG features)
        block_llil_ops = self._collect_block_llil_ops(blocks, addr_to_idx, n)
        all_llil_ops = [op for block_ops in block_llil_ops for op in block_ops]

        # 4. Structural counts
        edge_count = sum(len(s) for s in successors)
        total_llil = sum(len(ops) for ops in block_llil_ops)
        call_count = sum(
            1 for ops in block_llil_ops for op in ops
            if op in _CALL_OPS
        )

        # 5. Compute all features
        bb_features = cfg_features.build_block_features(block_llil_ops, successors, n)

        return {
            "cfg_topology_hash": cfg_features.compute_topology_hash(successors, bfs, n),
            "block_count": n,
            "edge_count": edge_count,
            "llil_total_operations": total_llil,
            "call_count": call_count,
            "cyclomatic_complexity": edge_count - n + 2,
            "loop_count": cfg_features.count_back_edges(successors, n),
            "max_depth": cfg_features.bfs_max_depth(successors, n),
            "max_fan_out": max((len(s) for s in successors), default=0),
            "md_index_topdown": cfg_features.compute_md_index_topdown(successors, predecessors, bfs),
            "md_index_bottomup": cfg_features.compute_md_index_bottomup(successors, predecessors, n),
            "prime_product_llil": cfg_features.compute_prime_product(all_llil_ops),
            "cfg_feature_tlsh": cfg_features.compute_cfg_feature_tlsh(bb_features, bfs),
            "wl_minhash": cfg_features.compute_wl_minhash(successors, predecessors, bb_features, n),
            "bb_features": bb_features,
            "cfg_adjacency": cfg_features.pack_adjacency(successors),
        }

    def _collect_block_llil_ops(self, blocks, addr_to_idx, n):
        """
        Collect LLIL operation integers per native basic block.
        Walks the full expression tree of each instruction so that
        nested operations (e.g. ADD inside SET_REG) are captured.
        Returns list of n lists, one per block.
        """
        block_ops = [[] for _ in range(n)]

        if self.llil_function is None:
            return block_ops

        try:
            for llil_block in self.llil_function.basic_blocks:
                # Map LLIL block to native block via source_block
                if llil_block.source_block is not None:
                    native_idx = addr_to_idx.get(llil_block.source_block.start)
                    if native_idx is not None:
                        for instr in llil_block:
                            self._walk_llil_ops(instr, block_ops[native_idx])
        except Exception:
            pass  # Return empty ops — LLIL-dependent fields will be 0/null

        return block_ops

    @staticmethod
    def _walk_llil_ops(expr, ops_list):
        """Collect operation values from an LLIL expression tree iteratively."""
        stack = [expr]
        while stack:
            node = stack.pop()
            if hasattr(node, 'operation'):
                ops_list.append(node.operation.value)
            if hasattr(node, 'operands'):
                for operand in node.operands:
                    if hasattr(operand, 'operation'):
                        stack.append(operand)