Vijaysekhar Chellaboina

99 papers C 37Journal 33Unranked 29
YearRankTypeTitle / Venue / Authors
2024 J jnl
CoRR
Karthik Shenoy, Arvind Ragghav, Vijaysekhar Chellaboina
2024 conf
ECC
Karthik Shenoy, Ramkrishna Pasumarthy, Vijaysekhar Chellaboina
2023 C conf
ACC
Karthik Shenoy, Akshit Saradagi, Ramkrishna Pasumarthy, Vijaysekhar Chellaboina
2023 J jnl
CoRR
Karthik Shenoy, Akshit Saradagi, Ramkrishna Pasumarthy, Vijaysekhar Chellaboina
2022 J jnl
CoRR
Karthik Shenoy, Akshit Saradagi, Ramkrishna Pasumarthy, Vijaysekhar Chellaboina
2017 conf
BDA
Vijaysekhar Chellaboina
2014 conf
CIFEr
Easwar Subramanian, Vijaysekhar Chellaboina
2014 conf
e-Energy
Sagar Kurandwad, Chandrasekar Subramanian, Venkata Ramakrishna P., Arunchandar Vasan, Venkatesh Sarangan, Vijaysekhar Chellaboina, Anand Sivasubramaniam
2013 conf
CIFEr
Vijaysekhar Chellaboina, Anil Bhatia, Sanjay P. Bhat
2011 J jnl
J. Frankl. Inst.
Wassim M. Haddad, Qing Hui, Vijaysekhar Chellaboina
2010 C conf
ACC
Wassim M. Haddad, Sergey G. Nersesov, Vijaysekhar Chellaboina
2010 J jnl
Int. J. Control
Vijaysekhar Chellaboina, Wassim M. Haddad, Hancao Li, James M. Bailey
2009 conf
CDC
Uday Kumar M, Vijaysekhar Chellaboina, Sanjay P. Bhat, Sandeep Prasad, Anil Bhatia
2009 conf
CDC
Sanjay P. Bhat, Vijaysekhar Chellaboina, Anil Bhatia, Sandeep Prasad, Uday Kumar M
2008 J jnl
Autom.
Wassim M. Haddad, Vijaysekhar Chellaboina, Behnood Gholami
2008 conf
CDC
Vijaysekhar Chellaboina, Hancao Li, Wassim M. Haddad, James M. Bailey
2008 J jnl
Syst. Control. Lett.
Vijaysekhar Chellaboina, Wassim M. Haddad, Qing Hui, Jayanthy Ramakrishnan
2008 J jnl
Int. J. Control
Vijaysekhar Chellaboina, Wassim M. Haddad, Ajeet Kamath
2007 conf
CDC
Wassim M. Haddad, Vijaysekhar Chellaboina, Behnood Gholami
2007 J jnl
IEEE Trans. Autom. Control.
Wassim M. Haddad, Vijaysekhar Chellaboina, Qing Hui, Sergey G. Nersesov
2007 C conf
ACC
Wassim M. Haddad, Vijaysekhar Chellaboina, Behnood Gholami
2007 conf
CDC
Wassim M. Haddad, Qing Hui, Vijaysekhar Chellaboina
2007 C conf
ACC
Vijaysekhar Chellaboina, Wassim M. Haddad, James M. Bailey, Hancao Li
2007 C conf
ACC
Ajeet Kamath, Vijaysekhar Chellaboina, Wassim M. Haddad
2006 C conf
ACC
Vijaysekhar Chellaboina, Wassim M. Haddad, Jayanthy Ramakrishnan, Tomohisa Hayakawa
2006 C conf
ACC
Wassim M. Haddad, Qing Hui, Vijaysekhar Chellaboina, Sergey G. Nersesov
2006 C conf
ACC
Vijaysekhar Chellaboina, Wassim M. Haddad, Ajeet Kamath
2006 conf
CDC
Vijaysekhar Chellaboina, Wassim M. Haddad, Qing Hui, Jayanthy Ramakrishnan
2006 conf
CDC
Alexander Melin, Richard Scott Erwin, Vijaysekhar Chellaboina
2005 J jnl
Eur. J. Control
Qing Hui, Wassim M. Haddad, Vijaysekhar Chellaboina, Tomohisa Hayakawa
2005 C conf
ACC
Qing Hui, Wassim M. Haddad, Vijaysekhar Chellaboina, Tomohisa Hayakawa
2005 conf
CDC/ECC
Vijaysekhar Chellaboina, Wassim M. Haddad, Ajeet Kamath
2005 J jnl
IEEE Trans. Neural Networks
Tomohisa Hayakawa, Wassim M. Haddad, Naira Hovakimyan, Vijaysekhar Chellaboina
2005 J jnl
IEEE Trans. Control. Syst. Technol.
Xiaoping Zhang, Wenwei Xu, Satish S. Nair, Vijaysekhar Chellaboina
2005 C conf
ACC
Vijaysekhar Chellaboina, Mithun K. Ranga
2005 conf
CDC/ECC
Wassim M. Haddad, Vijaysekhar Chellaboina, Qing Hui, Sergey G. Nersesov
2005 C conf
ACC
Wassim M. Haddad, Qing Hui, Sergey G. Nersesov, Vijaysekhar Chellaboina
2005 conf
CDC/ECC
Wassim M. Haddad, Vijaysekhar Chellaboina, Sergey G. Nersesov
2004 C conf
ACC
Wassim M. Haddad, Vijaysekhar Chellaboina, Sergey G. Nersesov
2004 C conf
ACC
Vijaysekhar Chellaboina, Wassim M. Haddad, Janak Ramakrishnan, Tomohisa Hayakawa
2004 J jnl
IEEE Trans. Autom. Control.
Wassim M. Haddad, Vijaysekhar Chellaboina, Tanmay Rajpurohit
2004 C conf
ACC
Wassim M. Haddad, Tomohisa Hayakawa, Vijaysekhar Chellaboina
2004 J jnl
Int. J. Syst. Sci.
Wassim M. Haddad, Sergey G. Nersesov, Vijaysekhar Chellaboina
2004 C conf
ACC
Vijaysekhar Chellaboina, Wassim M. Haddad, Ajeet Kamath
2004 C conf
ACC
Vijaysekhar Chellaboina, Alexander Melin
2004 J jnl
IEEE Trans. Biomed. Eng.
Vijaysekhar Chellaboina, Wassim M. Haddad, James M. Bailey, Jayanthy Ramakrishnan
2004 C conf
ACC
Wassim M. Haddad, Vijaysekhar Chellaboina
2004 J jnl
Syst. Control. Lett.
Wassim M. Haddad, Vijaysekhar Chellaboina
2004 C conf
ACC
Wassim M. Haddad, Qing Hui, Vijaysekhar Chellaboina, Sergey G. Nersesov
2004 conf
CDC
Wassim M. Haddad, Vijaysekhar Chellaboina, Sergey G. Nersesov
2003 C conf
ACC
Vijaysekhar Chellaboina, Wassim M. Haddad, Ajeet Kamath
2003 C conf
ACC
Wassim M. Haddad, Vijaysekhar Chellaboina, Sergey G. Nersesov
2003 J jnl
IEEE Trans. Autom. Control.
Vijaysekhar Chellaboina, Wassim M. Haddad
2003 J jnl
Syst. Control. Lett.
Vijaysekhar Chellaboina, Wassim M. Haddad, Tomohisa Hayakawa
2003 C conf
ACC
Alexander Leonessa, Vijaysekhar Chellaboina, Wassim M. Haddad, Tomohisa Hayakawa
2003 C conf
ACC
Wassim M. Haddad, Vijaysekhar Chellaboina, Tanmay Rajpurohit
2003 J jnl
Autom.
Wassim M. Haddad, Sergey G. Nersesov, Vijaysekhar Chellaboina
2003 C conf
ACC
Wassim M. Haddad, Tomohisa Hayakawa, Sergey G. Nersesov, Vijaysekhar Chellaboina
2003 conf
CDC
Wassim M. Haddad, Vijaysekhar Chellaboina, Sergey G. Nersesov
2003 J jnl
J. Frankl. Inst.
Wassim M. Haddad, Vijaysekhar Chellaboina, JinHyoung Oh
2003 conf
CDC
Wassim M. Haddad, Vijaysekhar Chellaboina, Qing Hui, Tomohisa Hayakawa
2003 C conf
ACC
Tomohisa Hayakawa, Wassim M. Haddad, Naira Hovakimyan, Vijaysekhar Chellaboina
2003 C conf
ACC
Vijaysekhar Chellaboina, Wassim M. Haddad, James M. Bailey, Jayanthy Ramakrishnan
2003 conf
CDC
Vijaysekhar Chellaboina, Wassim M. Haddad, Jayanthy Ramakrishnan, James M. Bailey
2003 C conf
ACC
Sergey G. Nersesov, Wassim M. Haddad, Vijaysekhar Chellaboina
2003 J jnl
Autom.
Wassim M. Haddad, Tomohisa Hayakawa, Vijaysekhar Chellaboina
2003 conf
CDC
Vijaysekhar Chellaboina, Wassim M. Haddad, Sushma Kalavagunta, Ajeet Kamath
2002 C conf
ACC
Wassim M. Haddad, Sergey G. Nersesov, Vijaysekhar Chellaboina
2002 C conf
ACC
Sergey G. Nersesov, Vijaysekhar Chellaboina, Wassim M. Haddad
2002 conf
CDC
Wassim M. Haddad, Sergey G. Nersesov, Vijaysekhar Chellaboina
2002 conf
CDC
Vijaysekhar Chellaboina, Wassim M. Haddad, James M. Bailey, Jayanthy Ramakrishnan
2002 C conf
ACC
Xiaoping Zhang, W. Xu, Satish S. Nair, Vijaysekhar Chellaboina
2002 J jnl
Int. J. Syst. Sci.
Vijaysekhar Chellaboina, Wassim M. Haddad
2001 C conf
ACC
Vijaysekhar Chellaboina, Wassim M. Haddad, Tomohisa Hayakawa
2001 C conf
ACC
Alexander V. Roup, Dennis S. Bernstein, Sergey G. Nersesov, Wassim M. Haddad, Vijaysekhar Chellaboina
2001 J jnl
IEEE Trans. Autom. Control.
Wassim M. Haddad, Vijaysekhar Chellaboina
2001 J jnl
IEEE Trans. Autom. Control.
Alexander Leonessa, Wassim M. Haddad, Vijaysekhar Chellaboina
2001 conf
CDC
Wassim M. Haddad, Vijaysekhar Chellaboina, Tomohisa Hayakawa
2001 conf
CDC
Wassim M. Haddad, Vijaysekhar Chellaboina, Elias August
2001 conf
CDC
Wassim M. Haddad, Vijaysekhar Chellaboina, Elias August
2001 conf
CDC
Vijaysekhar Chellaboina, Wassim M. Haddad
2000 C conf
ACC
Wassim M. Haddad, Vijaysekhar Chellaboina, Natasa A. Kablar
2000 C conf
ACC
Vijaysekhar Chellaboina, Sanjay P. Bhat, Wassim M. Haddad
2000 J jnl
Eur. J. Control
Boris T. Polyak, Wassim M. Haddad, Vijaysekhar Chellaboina, Rohit Kumar
2000 C conf
ACC
Wassim M. Haddad, Vijaysekhar Chellaboina
2000 C conf
ACC
Vijaysekhar Chellaboina, Wassim M. Haddad
2000 J jnl
IEEE Trans. Autom. Control.
R. T. Buppo, Dennis S. Bernstein, Vijaysekhar Chellaboina, Wassim M. Haddad
2000 conf
CDC
Joseph R. Corrado, Wassim M. Haddad, Vijaysekhar Chellaboina
2000 J jnl
Math. Control. Signals Syst.
Vijaysekhar Chellaboina, Wassim M. Haddad, Dennis S. Bernstein, David A. Wilson
2000 C conf
ACC
Wassim M. Haddad, Vijaysekhar Chellaboina, JinHyoung Oh
2000 J jnl
Eur. J. Control
Wassim M. Haddad, Vijaysekhar Chellaboina, Rohit Kumar
2000 C conf
ACC
Wassim M. Haddad, Vijaysekhar Chellaboina
2000 conf
CDC
Wassim M. Haddad, Natasa A. Kablar, Vijaysekhar Chellaboina
2000 conf
CDC
Wassim M. Haddad, Vijaysekhar Chellaboina, Sergey G. Neresov
2000 J jnl
J. Frankl. Inst.
Wassim M. Haddad, Vijaysekhar Chellaboina, Joseph R. Corrado, Dennis S. Bernstein
2000 J jnl
IEEE Trans. Control. Syst. Technol.
Alexander Leonessa, Vijaysekhar Chellaboina, Wassim M. Haddad
1999 J jnl
IEEE Trans. Control. Syst. Technol.
Wassim M. Haddad, Alexander Leonessa, Vijaysekhar Chellaboina, Jerry L. Fausz
1997 J jnl
Autom.
Vijaysekhar Chellaboina, Wassim M. Haddad
1995 J jnl
IEEE Trans. Autom. Control.
Vijaysekhar Chellaboina, Wassim M. Haddad
redb/extractors/decompiler/bninja/similarity/minhasher.py
← Index redb/extractors/decompiler/bninja/similarity/minhasher.py python
import logging
import random
from enum import Enum

from ..analysis.medium_level_normalization import MediumLevelNormalization

try:
    from .minhashcustom import MinHashCustom
    from ..analysis.low_level_normalization import LowLevelNormalization
except ImportError:
    # Fallback to absolute imports (for multiprocessing spawned processes)
    from redb.extractors.decompiler.bninja.similarity.minhashcustom import MinHashCustom
    from redb.extractors.decompiler.bninja.analysis.low_level_normalization import LowLevelNormalization

## Values for this configuration were extracted from https://github.com/danielplohmann/mcrit/blob/main/mcrit/config/MinHashConfig.py#L10
# Length in number of Shingles of which a minhash consists
# this value represents the length of sha256sum hash truncated
MINHASH_SIGNATURE_LENGTH: int = 64
# Number of bits per signature element (1-32 bits)
MINHASH_SIGNATURE_BITS: int = 8


class TokenKind(Enum):
    LLIL = "llil"
    TYPED_LLIL = "typed_llil"
    MLIL = "mlil"
    TYPED_MLIL = "typed_mlil"


class MinHasher:
    # stick to the default method
    MINHASH_STRATEGY_HASH_ALL = 1

    def __init__(self, seed, il_function, kind: TokenKind = TokenKind.LLIL):
        self._minhash_seeds = []
        self.il_func = il_function
        self.kind = kind
        self._minhash_permutation = []
        self._signature_segments = []
        self._initMinhashing(seed)

    def _initMinhashing(self, MINHASH_SEED=None):
        random.seed(MINHASH_SEED)
        # init sequence of seeds
        self._minhash_seeds = [
            random.randint(0, MinHashCustom.getHashMax()) for _ in range(MINHASH_SIGNATURE_LENGTH)
        ]

    def make_ngrams(self, tokens, n=3):
        """Take the ngrams of the IL we try to pass into the functions"""
        return [tuple(tokens[i:i+n]) for i in range(len(tokens) - n + 1)]

    def _extract_tokens(self):
        """Extract the IL tokens from the IL function, picking the right
        normalizer (LLIL/MLIL) and the right normalization mode
        (skeleton/typed) based on self.kind."""
        if self.kind in (TokenKind.LLIL, TokenKind.TYPED_LLIL):
            normalizer = LowLevelNormalization()
        elif self.kind in (TokenKind.MLIL, TokenKind.TYPED_MLIL):
            normalizer = MediumLevelNormalization()
        else:
            raise ValueError(f"Unsupported token kind: {self.kind}")

        # typed variants include operand type info, skeleton variants don't
        if self.kind in (TokenKind.TYPED_LLIL, TokenKind.TYPED_MLIL):
            normalize = normalizer.normalize_instr_with_operands
        else:
            normalize = normalizer.normalize_instruction_all_levels

        instructions = []
        for basic_block in self.il_func.basic_blocks:
            for il in basic_block:
                instructions.append(normalize(il))

        return instructions

    def calculateMinHash(self):
        """Calculate hash function every time, then take minimum shingle per shingler"""
        minhash_result = MinHashCustom(minhash_bits=MINHASH_SIGNATURE_BITS)
        minhash_signature = []

        tokens = self._extract_tokens()
        shingles = self.make_ngrams(tokens, n=3)

        # Functions with fewer than 3 IL instructions can't produce n-grams
        # Return empty minhash for such small functions (thunks, stubs, etc.)
        # Triggered by 39d8ad95b0323c37bd3134ab93ac4af44c66a1a8443a41c1ac02cec19bb2816a
        if not shingles:
            return []

        # Generate the MinHash
        for seed in self._minhash_seeds:
            hashed_shingles = [
                self.shingle_hash(shingle, seed) for shingle in shingles
            ]
            min_value = min(hashed_shingles)

            if MINHASH_SIGNATURE_BITS < 32:
                min_value %= (2 ** MINHASH_SIGNATURE_BITS)

            minhash_signature.append(min_value)

        minhash_result.setMinHash(minhash_signature)
        return minhash_result.getMinHashInt()

    def shingle_hash(self, shingle, hash_seed=0):
        """Produce a single 32bit UINT hash for a given shingle"""
        return MinHashCustom.hashData(shingle, hash_seed)