Nadav Dym

58 papers A* 12Journal 45Unranked 1
YearRankTypeTitle / Venue / Authors
2026 J jnl
CoRR
Jonathan W. Siegel, Snir Hordan, Hannah Lawrence, Ali Syed, Nadav Dym
2026 J jnl
CoRR
Benjy Friedmann, Nadav Dym
2025 J jnl
CoRR
Nadav Dym, Jianfeng Lu, Matan Mizrachi
2025 A* conf
ICLR
Tal Amir, Nadav Dym
2025 J jnl
Found. Comput. Math.
Nadav Dym, Steven J. Gortler
2025 J jnl
CoRR
Soutrik Sarangi, Yonatan Sverdlov, Nadav Dym, Abir De
2025 J jnl
CoRR
Ilai Reshef, Nadav Dym
2025 A* conf
ICLR
Yonatan Sverdlov, Nadav Dym
2025 A* conf
ICLR
Yair Davidson, Nadav Dym
2025 J jnl
SIAM J. Math. Data Sci.
Tamir Bendory, Nadav Dym, Dan Edidin, Arun Suresh
2025 J jnl
CoRR
Nadav Dym, Matthias Wellershoff, Efstratios Tsoukanis, Daniel Levy, Radu Balan
2025 A* conf
ICLR
Yonatan Sverdlov, Ido Springer, Nadav Dym
2025 J jnl
CoRR
Yaaqov Mishayev, Yonatan Sverdlov, Tal Amir, Nadav Dym
2025 J jnl
CoRR
Snir Hordan, Maya Bechler-Speicher, Gur Lifshitz, Nadav Dym
2025 J jnl
CoRR
Tal Amir, Tamir Bendory, Nadav Dym, Dan Edidin
2025 J jnl
CoRR
Yonatan Sverdlov, Eitan Rosen, Nadav Dym
2024 J jnl
CoRR
Tamir Bendory, Nadav Dym, Dan Edidin, Arun Suresh
2024 A* conf
AAAI
Snir Hordan, Tal Amir, Steven J. Gortler, Nadav Dym
2024 A* conf
ICML
Aviv Navon, Aviv Shamsian, Ethan Fetaya, Gal Chechik, Nadav Dym, Haggai Maron
2024 A* conf
ICML
Nadav Dym, Hannah Lawrence, Jonathan W. Siegel
2024 J jnl
CoRR
Nadav Dym, Hannah Lawrence, Jonathan W. Siegel
2024 J jnl
CoRR
Yonatan Sverdlov, Yair Davidson, Nadav Dym, Tal Amir
2024 J jnl
CoRR
Christopher Morris, Nadav Dym, Haggai Maron, Ismail Ilkan Ceylan, Fabrizio Frasca, Ron Levie, Derek Lim, Michael M. Bronstein, Martin Grohe, Stefanie Jegelka
2024 J jnl
CoRR
Tal Amir, Nadav Dym
2024 J jnl
CoRR
Yonatan Sverdlov, Nadav Dym
2024 J jnl
CoRR
Yair Davidson, Nadav Dym
2024 A* conf
ICML
Christopher Morris, Fabrizio Frasca, Nadav Dym, Haggai Maron, Ismail Ilkan Ceylan, Ron Levie, Derek Lim, Michael M. Bronstein, Martin Grohe, Stefanie Jegelka
2024 J jnl
CoRR
Yonatan Sverdlov, Ido Springer, Nadav Dym
2024 A* conf
ICML
Snir Hordan, Tal Amir, Nadav Dym
2024 J jnl
CoRR
Snir Hordan, Tal Amir, Nadav Dym
2023 J jnl
CoRR
Snir Hordan, Tal Amir, Steven J. Gortler, Nadav Dym
2023 J jnl
CoRR
Aviv Navon, Aviv Shamsian, Ethan Fetaya, Gal Chechik, Nadav Dym, Haggai Maron
2023 A* conf
NeurIPS
Tal Amir, Steven J. Gortler, Ilai Avni, Ravina Ravina, Nadav Dym
2023 J jnl
CoRR
Tal Amir, Steven J. Gortler, Ilai Avni, Ravina Ravina, Nadav Dym
2023 J jnl
IEEE Trans. Inf. Theory
Ingrid Daubechies, Ronald A. DeVore, Nadav Dym, Shira Faigenbaum-Golovin, Shahar Z. Kovalsky, Kung-Ching Lin, Josiah Park, Guergana Petrova, Barak Sober
2023 J jnl
CoRR
Tamir Bendory, Nadav Dym, Dan Edidin, Arun Suresh
2022 conf
TAG-ML
Ben Finkelshtein, Chaim Baskin, Haggai Maron, Nadav Dym
2022 J jnl
CoRR
Ben Finkelshtein, Chaim Baskin, Haggai Maron, Nadav Dym
2022 J jnl
CoRR
Nadav Dym, Steven J. Gortler
2022 J jnl
CoRR
Tal Amir, Shahar Z. Kovalsky, Nadav Dym
2021 J jnl
CoRR
Ingrid Daubechies, Ronald A. DeVore, Nadav Dym, Shira Faigenbaum-Golovin, Shahar Z. Kovalsky, Kung-Ching Lin, Josiah Park, Guergana Petrova, Barak Sober
2021 A* conf
ICLR
Nadav Dym, Haggai Maron
2020 J jnl
IEEE J. Sel. Areas Inf. Theory
Nadav Dym, Barak Sober, Ingrid Daubechies
2020 J jnl
CoRR
Nadav Dym, Haggai Maron
2020 J jnl
CoRR
Cheng Cheng, Ingrid Daubechies, Nadav Dym, Jianfeng Lu
2019 J jnl
CoRR
Nadav Dym, Barak Sober, Ingrid Daubechies
2019 A* conf
ICCV
Nadav Dym, Shahar Z. Kovalsky
2019 J jnl
CoRR
Nadav Dym, Shahar Ziv Kovalsky
2019 J jnl
SIAM J. Imaging Sci.
Yam Kushinsky, Haggai Maron, Nadav Dym, Yaron Lipman
2018 J jnl
SIAM J. Appl. Algebra Geom.
Nadav Dym
2018 J jnl
ACM Trans. Graph.
Roee Lazar, Nadav Dym, Yam Kushinsky, Zhiyang Huang, Tao Ju, Yaron Lipman
2017 J jnl
CoRR
Nadav Dym, Yaron Lipman, Raz Slutsky
2017 J jnl
ACM Trans. Graph.
Haggai Maron, Meirav Galun, Noam Aigerman, Miri Trope, Nadav Dym, Ersin Yumer, Vladimir G. Kim, Yaron Lipman
2017 J jnl
CoRR
Nadav Dym, Haggai Maron, Yaron Lipman
2017 J jnl
ACM Trans. Graph.
Nadav Dym, Haggai Maron, Yaron Lipman
2017 J jnl
SIAM J. Optim.
Nadav Dym, Yaron Lipman
2016 J jnl
ACM Trans. Graph.
Haggai Maron, Nadav Dym, Itay Kezurer, Shahar Z. Kovalsky, Yaron Lipman
2015 J jnl
Comput. Graph. Forum
Nadav Dym, Anna Shtengel, Yaron Lipman
redb/extractors/decompiler/bninja/similarity/minhashcustom.py
← Index redb/extractors/decompiler/bninja/similarity/minhashcustom.py python
import numpy as np
import mmh3

class MinHashCustom:
    """
    DTO for an actual MinHash
    <minhash>: a binary sequence of packed int8/32 values
    <minhash_int>: the equivalent representation of <minhash> but as list of int8/32
    """

    _HASH_MAX = 0xFFFFFFFF
    _MINHASH_BITS = 32

    def getSignatureEntrySize(self):
        return 1 if self.MINHASH_BITS <= 8 else 4

    def __init__(self, function_addr=None, minhash_bytes=None, minhash_signature=None, minhash_bits=32):
        self.minhash = b""
        self.minhash_int = []
        if minhash_bits:
            self._MINHASH_BITS = minhash_bits
        if minhash_bytes and minhash_signature:
            raise ValueError("Can use only one keyword argument")
        if minhash_bytes:
            if self._MINHASH_BITS <= 8:
                minhash_signature = np.frombuffer(minhash_bytes, dtype=np.uint8)
            else:
                minhash_signature = np.frombuffer(minhash_bytes, dtype=np.uint32)
            self.setMinHash(minhash_signature)
        elif minhash_signature:
            self.setMinHash(minhash_signature)

        self.shingler_composition = {}
        self.function_addr = function_addr

    def hasMinHash(self):
        return len(self.minhash) > 0

    def getMinHash(self):
        return self.minhash

    def getMinHashInt(self):
        return self.minhash_int

    def setMinHash(self, minhash_signature):
        self.minhash_int = [i % 2 ** self._MINHASH_BITS for i in minhash_signature]
        if self._MINHASH_BITS <= 8:
            self.minhash = np.array(self.minhash_int, dtype=np.uint8).tobytes()
        else:
            self.minhash = np.array(self.minhash_int, dtype=np.uint32).tobytes()

    def getComposition(self):
        return self.shingler_composition

    def scoreAgainst(self, other):
        return self.calculateMinHashScore(self.minhash, other.minhash, minhash_bits=self._MINHASH_BITS)

    @staticmethod
    def getHashMax():
        return MinHashCustom._HASH_MAX

    @staticmethod
    def hashData(data, seed) -> int:
        if isinstance(data, (str, bytes, bytearray)):
            return mmh3.hash(data, seed) & MinHashCustom._HASH_MAX
        elif isinstance(data, (list, tuple)):
            to_hash = "|".join(str(elem) for elem in data)
            return mmh3.hash(to_hash, seed) & MinHashCustom._HASH_MAX
        else:
            raise NotImplementedError(
                f"Type not supported for hashData: {type(data).__name__}"
            )

    @staticmethod
    def calculateMinHashScore(first, second, minhash_bits=32):
        if minhash_bits <= 8:
            first_np = np.frombuffer(first, dtype=np.uint8)
            second_np = np.frombuffer(second, dtype=np.uint8)
        else:
            first_np = np.frombuffer(first, dtype=np.uint32)
            second_np = np.frombuffer(second, dtype=np.uint32)
        return 100.0 * sum(first_np == second_np) / len(first_np)

    @staticmethod
    def calculateMinHashIntScore(first, second):
        score = 0
        num_hashes = len(first)
        if num_hashes:
            for index, part in enumerate(first):
                score += 1 if part == second[index] else 0
            return 100.0 * score / num_hashes
        return 0.0

    @property
    def MINHASH_BITS(self):
        return self._MINHASH_BITS