Raman Arora

148 papers A* 46A 8B 4C 1Misc 9Journal 60Unranked 20
YearRankTypeTitle / Venue / Authors
2025 A* conf
ICML
Yunjuan Wang, Raman Arora
2025 conf
SaTML
Yunjuan Wang, Hussein Hazimeh, Natalia Ponomareva, Alexey Kurakin, Ibrahim Hammoud, Raman Arora
2025 J jnl
CoRR
Thanh Nguyen-Tang, Raman Arora
2025 A* conf
ICML
Thanh Nguyen-Tang, Raman Arora
2024 A* conf
ICML
Yunjuan Wang, Raman Arora
2024 A* conf
NeurIPS
Austin Watkins, Thanh Nguyen-Tang, Enayat Ullah, Raman Arora
2024 A* conf
ICML
Yunjuan Wang, Kaibo Zhang, Raman Arora
2024 J jnl
CoRR
Yunjuan Wang, Hussein Hazimeh, Natalia Ponomareva, Alexey Kurakin, Ibrahim Hammoud, Raman Arora
2024 B conf
ALT
Michael Menart, Enayat Ullah, Raman Arora, Raef Bassily, Cristóbal Guzmán
2024 A* conf
NeurIPS
Thanh Nguyen-Tang, Raman Arora
2024 J jnl
CoRR
Thanh Nguyen-Tang, Raman Arora
2024 A* conf
NeurIPS
Haque Ishfaq, Thanh Nguyen-Tang, Songtao Feng, Raman Arora, Mengdi Wang, Ming Yin, Doina Precup
2024 J jnl
CoRR
Haque Ishfaq, Thanh Nguyen-Tang, Songtao Feng, Raman Arora, Mengdi Wang, Ming Yin, Doina Precup
2024 J jnl
CoRR
Thanh Nguyen-Tang, Raman Arora
2024 A* conf
ICML
Thanh Nguyen-Tang, Raman Arora
2024 A* conf
NeurIPS
Yunjuan Wang, Raman Arora
2024 A* conf
NeurIPS
Enayat Ullah, Michael Menart, Raef Bassily, Cristóbal Guzmán, Raman Arora
2024 J jnl
CoRR
Enayat Ullah, Michael Menart, Raef Bassily, Cristóbal Guzmán, Raman Arora
2024 A* conf
NeurIPS
Kaibo Zhang, Yunjuan Wang, Raman Arora
2023 A* conf
AAAI
Jared Markowitz, Ryan W. Gardner, Ashley J. Llorens, Raman Arora, I-Jeng Wang
2023 J jnl
Trans. Mach. Learn. Res.
Enayat Ullah, Harry Lang, Raman Arora, Vladimir Braverman
2023 J jnl
CoRR
Michael Menart, Enayat Ullah, Raman Arora, Raef Bassily, Cristóbal Guzmán
2023 A* conf
ICML
Raman Arora, Raef Bassily, Tomás González, Cristóbal Guzmán, Michael Menart, Enayat Ullah
2023 A* conf
ICML
Enayat Ullah, Raman Arora
2023 J jnl
CoRR
Enayat Ullah, Raman Arora
2023 J jnl
Trans. Mach. Learn. Res.
Enayat Ullah, Raman Arora
2023 A* conf
NeurIPS
Anh Do, Thanh Nguyen-Tang, Raman Arora
2023 A* conf
AAAI
Thanh Nguyen-Tang, Ming Yin, Sunil Gupta, Svetha Venkatesh, Raman Arora
2023 A* conf
NeurIPS
Thanh Nguyen-Tang, Raman Arora
2023 A* conf
NeurIPS
Austin Watkins, Enayat Ullah, Thanh Nguyen-Tang, Raman Arora
2023 J jnl
CoRR
Thanh Nguyen-Tang, Raman Arora
2023 A* conf
NeurIPS
Poorya Mianjy, Raman Arora
2023 A* conf
ICLR
Thanh Nguyen-Tang, Raman Arora
2022 J jnl
CoRR
Jared Markowitz, Ryan W. Gardner, Ashley J. Llorens, Raman Arora, I-Jeng Wang
2022 A* conf
NeurIPS
Yunjuan Wang, Enayat Ullah, Poorya Mianjy, Raman Arora
2022 J jnl
CoRR
Yunjuan Wang, Enayat Ullah, Poorya Mianjy, Raman Arora
2022 A* conf
NeurIPS
Raman Arora, Raef Bassily, Cristóbal Guzmán, Michael Menart, Enayat Ullah
2022 J jnl
CoRR
Raman Arora, Raef Bassily, Cristóbal Guzmán, Michael Menart, Enayat Ullah
2022 J jnl
CoRR
Raman Arora, Raef Bassily, Tomás González, Cristóbal Guzmán, Michael Menart, Enayat Ullah
2022 J jnl
IEEE Trans. Cogn. Commun. Netw.
Amir Alipour-Fanid, Monireh Dabaghchian, Raman Arora, Kai Zeng
2022 J jnl
CoRR
Thanh Nguyen-Tang, Ming Yin, Sunil Gupta, Svetha Venkatesh, Raman Arora
2021 A conf
AISTATS
Raman Arora, Teodor Vanislavov Marinov, Mehryar Mohri
2021 A conf
AISTATS
Jalaj Upadhyay, Sarvagya Upadhyay, Raman Arora
2021 A* conf
ICML
Raman Arora, Peter L. Bartlett, Poorya Mianjy, Nathan Srebro
2021 A* conf
COLT
Enayat Ullah, Tung Mai, Anup Rao, Ryan A. Rossi, Raman Arora
2021 J jnl
CoRR
Enayat Ullah, Tung Mai, Anup Rao, Ryan A. Rossi, Raman Arora
2021 A* conf
ICML
Yunjuan Wang, Poorya Mianjy, Raman Arora
2020 A* conf
NeurIPS
Jeremias Sulam, Ramchandran Muthukumar, Raman Arora
2020 J jnl
CoRR
Jeremias Sulam, Ramchandran Muthukumar, Raman Arora
2020 J jnl
CoRR
Raman Arora, Teodor V. Marinov, Mehryar Mohri
2020 J jnl
CoRR
Raman Arora, Peter L. Bartlett, Poorya Mianjy, Nathan Srebro
2020 A* conf
ICML
Daniel Rothchild, Ashwinee Panda, Enayat Ullah, Nikita Ivkin, Ion Stoica, Vladimir Braverman, Joseph Gonzalez, Raman Arora
2020 J jnl
CoRR
Daniel Rothchild, Ashwinee Panda, Enayat Ullah, Nikita Ivkin, Ion Stoica, Vladimir Braverman, Joseph Gonzalez, Raman Arora
2020 J jnl
IEEE J. Sel. Top. Signal Process.
Lucia Specia, Loïc Barrault, Ozan Caglayan, Amanda Cardoso Duarte, Desmond Elliott, Spandana Gella, Nils Holzenberger, Chiraag Lala, Sun Jae Lee, Jindrich Libovický, Pranava Madhyastha, Florian Metze, Karl Mulligan, Alissa Ostapenko, Shruti Palaskar, Ramon Sanabria, Josiah Wang, Raman Arora
2020 conf
NetAI@SIGCOMM
Zhen Zhang, Chaokun Chang, Haibin Lin, Yida Wang, Raman Arora, Xin Jin
2020 J jnl
CoRR
Zhen Zhang, Chaokun Chang, Haibin Lin, Yida Wang, Raman Arora, Xin Jin
2020 A* conf
NeurIPS
Poorya Mianjy, Raman Arora
2020 J jnl
CoRR
Poorya Mianjy, Raman Arora
2020 J jnl
CoRR
Raman Arora, Teodor V. Marinov, Enayat Ullah
2019 A* conf
NeurIPS
Raman Arora, Teodor Vanislavov Marinov, Mehryar Mohri
2019 J jnl
CoRR
Raman Arora, Teodor V. Marinov, Mehryar Mohri
2019 A* conf
NeurIPS
Nikita Ivkin, Daniel Rothchild, Enayat Ullah, Vladimir Braverman, Ion Stoica, Raman Arora
2019 J jnl
CoRR
Nikita Ivkin, Daniel Rothchild, Enayat Ullah, Vladimir Braverman, Ion Stoica, Raman Arora
2019 conf
RepL4NLP@ACL
Adrian Benton, Huda Khayrallah, Biman Gujral, Dee Ann Reisinger, Sheng Zhang, Raman Arora
2019 A* conf
NeurIPS
Raman Arora, Teodor Vanislavov Marinov
2019 Misc conf
ICASSP
Nils Holzenberger, Shruti Palaskar, Pranava Madhyastha, Florian Metze, Raman Arora
2019 J jnl
CoRR
Nils Holzenberger, Raman Arora
2019 A* conf
NeurIPS
Raman Arora, Jalaj Upadhyay
2019 A* conf
ICML
Poorya Mianjy, Raman Arora
2019 J jnl
CoRR
Poorya Mianjy, Raman Arora
2019 A conf
UAI
Xingguo Li, Haoming Jiang, Jarvis D. Haupt, Raman Arora, Han Liu, Mingyi Hong, Tuo Zhao
2019 J jnl
IEEE Trans. Inf. Theory
Xingguo Li, Junwei Lu, Raman Arora, Jarvis D. Haupt, Han Liu, Zhaoran Wang, Tuo Zhao
2019 A* conf
ICRA
Chris Paxton, Yotam Barnoy, Kapil D. Katyal, Raman Arora, Gregory D. Hager
2018 A* conf
NeurIPS
Raman Arora, Vladimir Braverman, Jalaj Upadhyay
2018 J jnl
CoRR
Nils Holzenberger, Shruti Palaskar, Pranava Madhyastha, Florian Metze, Raman Arora
2018 J jnl
SoftwareX
Juan Rafael Orozco-Arroyave, Juan Camilo Vásquez-Correa, Jesús Francisco Vargas-Bonilla, Raman Arora, Najim Dehak, Phani S. Nidadavolu, Heidi Christensen, Frank Rudzicz, Maria Yancheva, Hamid R. Chinaei, Alyssa Vann, Nikolai Vogler, Tobias Bocklet, Milos Cernak, Julius Hannink, Elmar Nöth
2018 J jnl
Digit. Signal Process.
Juan Rafael Orozco-Arroyave, Juan Camilo Vásquez-Correa, Jesús Francisco Vargas-Bonilla, Raman Arora, Najim Dehak, Phani S. Nidadavolu, Heidi Christensen, Frank Rudzicz, Maria Yancheva, Hamid R. Chinaei, Alyssa Vann, Nikolai Vogler, Tobias Bocklet, Milos Cernak, Julius Hannink, Elmar Nöth
2018 A* conf
ICML
Poorya Mianjy, Raman Arora, René Vidal
2018 J jnl
CoRR
Poorya Mianjy, Raman Arora, René Vidal
2018 A* conf
NeurIPS
Raman Arora, Michael Dinitz, Teodor Vanislavov Marinov, Mehryar Mohri
2018 J jnl
CoRR
Raman Arora, Michael Dinitz, Teodor V. Marinov, Mehryar Mohri
2018 A* conf
ICML
Poorya Mianjy, Raman Arora
2018 A* conf
NeurIPS
Enayat Ullah, Poorya Mianjy, Teodor Vanislavov Marinov, Raman Arora
2018 J jnl
CoRR
Enayat Ullah, Poorya Mianjy, Teodor V. Marinov, Raman Arora
2018 A* conf
ICML
Teodor Vanislavov Marinov, Poorya Mianjy, Raman Arora
2018 Misc conf
ITA
Xingguo Li, Jarvis D. Haupt, Junwei Lu, Zhaoran Wang, Raman Arora, Han Liu, Tuo Zhao
2018 A* conf
NeurIPS
Lin F. Yang, Raman Arora, Vladimir Braverman, Tuo Zhao
2018 conf
ICLR (Poster)
Raman Arora, Amitabh Basu, Poorya Mianjy, Anirbit Mukherjee
2018 J jnl
CoRR
Chris Paxton, Yotam Barnoy, Kapil D. Katyal, Raman Arora, Gregory D. Hager
2017 A conf
INTERSPEECH
Leonardo Badino, Luca Franceschi, Raman Arora, Michele Donini, Massimiliano Pontil
2017 J jnl
CoRR
Adrian Benton, Huda Khayrallah, Biman Gujral, Dee Ann Reisinger, Sheng Zhang, Raman Arora
2017 J jnl
CoRR
Chris Paxton, Kapil D. Katyal, Christian Rupprecht, Raman Arora, Gregory D. Hager
2017 Misc conf
ICASSP
Juan Camilo Vásquez-Correa, Juan Rafael Orozco-Arroyave, Raman Arora, Elmar Nöth, Najim Dehak, Heidi Christensen, Frank Rudzicz, Tobias Bocklet, Milos Cernak, Hamid R. Chinaei, Julius Hannink, Phani Sankar Nidadavolu, Maria Yancheva, Alyssa Vann, Nikolai Vogler
2017 J jnl
J. Mach. Learn. Res.
Xingguo Li, Tuo Zhao, Raman Arora, Han Liu, Mingyi Hong
2017 Misc conf
ICASSP
Milos Cernak, Elmar Nöth, Frank Rudzicz, Heidi Christensen, Juan Rafael Orozco-Arroyave, Raman Arora, Tobias Bocklet, Hamidreza Chinaei, Julius Hannink, Phani Sankar Nidadavolu, Juan Camilo Vásquez-Correa, Maria Yancheva, Alyssa Vann, Nikolai Vogler
2017 conf
NIPS
Raman Arora, Teodor Vanislavov Marinov, Poorya Mianjy, Nati Srebro
2017 J jnl
CoRR
Raman Arora, Teodor V. Marinov, Poorya Mianjy
2017 J jnl
Electron. Colloquium Comput. Complex.
Raman Arora, Amitabh Basu, Poorya Mianjy, Anirbit Mukherjee
2016 J jnl
CoRR
Xingguo Li, Jarvis D. Haupt, Raman Arora, Han Liu, Mingyi Hong, Tuo Zhao
2016 A conf
AISTATS
Xingguo Li, Tuo Zhao, Raman Arora, Han Liu, Mingyi Hong
2016 J jnl
CoRR
Xingguo Li, Tuo Zhao, Raman Arora, Han Liu, Mingyi Hong
2016 conf
NIPS
Peter Schulam, Raman Arora
2016 J jnl
CoRR
Peter Schulam, Raman Arora
2016 conf
HLT-NAACL
Mo Yu, Mark Dredze, Raman Arora, Matthew R. Gormley
2016 J jnl
CoRR
Mo Yu, Mark Dredze, Raman Arora, Matthew Gormley
2016 conf
ACL (2)
Adrian Benton, Raman Arora, Mark Dredze
2016 J jnl
CoRR
Weiran Wang, Raman Arora, Karen Livescu, Jeff A. Bilmes
2016 A* conf
ICML
Raman Arora, Poorya Mianjy, Teodor V. Marinov
2016 A* conf
ICML
Xingguo Li, Tuo Zhao, Raman Arora, Han Liu, Jarvis D. Haupt
2016 J jnl
CoRR
Xingguo Li, Tuo Zhao, Raman Arora, Han Liu, Jarvis D. Haupt
2016 J jnl
CoRR
Xingguo Li, Zhaoran Wang, Junwei Lu, Raman Arora, Jarvis D. Haupt, Han Liu, Tuo Zhao
2016 J jnl
CoRR
Lin F. Yang, Raman Arora, Vladimir Braverman, Tuo Zhao
2016 J jnl
CoRR
Raman Arora, Amitabh Basu, Poorya Mianjy, Anirbit Mukherjee
2015 conf
HLT-NAACL
Pushpendre Rastogi, Benjamin Van Durme, Raman Arora
2015 A* conf
ICML
Weiran Wang, Raman Arora, Karen Livescu, Jeff A. Bilmes
2015 J jnl
CoRR
Weiran Wang, Raman Arora, Karen Livescu, Nathan Srebro
2015 conf
Allerton
Weiran Wang, Raman Arora, Karen Livescu, Nathan Srebro
2015 Misc conf
ICASSP
Weiran Wang, Raman Arora, Karen Livescu, Jeff A. Bilmes
2014 conf
NIPS
Tuo Zhao, Mo Yu, Yiming Wang, Raman Arora, Han Liu
2014 Misc conf
ICASSP
Raman Arora, Karen Livescu
2014 conf
SLT
Weiran Wang, Raman Arora, Karen Livescu
2014 A conf
AISTATS
John Goes, Teng Zhang, Raman Arora, Gilad Lerman
2013 A conf
AISTATS
Raman Arora, Marina Meila
2013 conf
ICML (3)
Galen Andrew, Raman Arora, Jeff A. Bilmes, Karen Livescu
2013 Misc conf
ICASSP
Raman Arora, Karen Livescu
2013 J jnl
J. Mach. Learn. Res.
Raman Arora, Maya R. Gupta, Amol Kapila, Maryam Fazel
2013 conf
NIPS
Raman Arora, Andrew Cotter, Nati Srebro
2013 J jnl
CoRR
Raman Arora, Andrew Cotter, Nathan Srebro
2012 J jnl
CoRR
Raman Arora, Ofer Dekel, Ambuj Tewari
2012 A conf
UAI
Raman Arora, Ofer Dekel, Ambuj Tewari
2012 conf
MLSLP
Raman Arora, Karen Livescu
2012 A* conf
ICML
Ofer Dekel, Ambuj Tewari, Raman Arora
2012 J jnl
IEEE Trans. Image Process.
Eric K. Garcia, Raman Arora, Maya R. Gupta
2012 conf
Allerton Conference
Raman Arora, Andrew Cotter, Karen Livescu, Nathan Srebro
2011 A* conf
ICML
Raman Arora, Maya R. Gupta, Amol Kapila, Maryam Fazel
2011 C conf
FUSION
Raman Arora, Maya R. Gupta
2010 B conf
ICPR
Raman Arora, William A. Sethares
2010 conf
ICDSC
Raman Arora, Charles R. Dyer, Yu Hen Hu, Nigel Boston
2010 J jnl
IEEE Trans. Signal Process.
Raman Arora, Harish Parthasarathy
2009 Misc conf
ICASSP
Raman Arora, Yu Hen Hu, Charles R. Dyer
2009 conf
NIPS
Raman Arora
2009 conf
GENSiPS
Raman Arora, Colin N. Dewey, William A. Sethares
2008 J jnl
IEEE J. Sel. Top. Signal Process.
Raman Arora, William A. Sethares, James A. Bucklew
2008 Misc conf
ICASSP
Raman Arora, William A. Sethares, James A. Bucklew
2008 B conf
ICPR
Raman Arora, Harish Parthasarathy
2008 B conf
ICIP
Raman Arora, Harish Parthasarathy
2007 J jnl
IEEE Trans. Signal Process.
Raman Arora, William A. Sethares
2007 conf
ICASSP (4)
William A. Sethares, Raman Arora
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)