Raghu Meka

173 papers A* 56A 8Journal 100Unranked 8
YearRankTypeTitle / Venue / Authors
2026 A conf
ITCS
Alexandros Hollender, Pasin Manurangsi, Raghu Meka, Warut Suksompong
2026 A* conf
SODA
Arpon Basu, Pravesh K. Kothari, Yang P. Liu, Raghu Meka
2026 conf
SOSA
Pasin Manurangsi, Raghu Meka
2025 A ed.
ITCS
Raghu Meka
2025 J jnl
CoRR
Alexandros Hollender, Pasin Manurangsi, Raghu Meka, Warut Suksompong
2025 J jnl
CoRR
Yiwen Kou, Raghu Meka
2025 J jnl
CoRR
Gautam Chandrasekaran, Raghu Meka, Konstantinos Stavropoulos
2025 J jnl
CoRR
Arpon Basu, Pravesh K. Kothari, Yang P. Liu, Raghu Meka
2025 J jnl
CoRR
Parikshit Gopalan, Raghu Meka, Prasad Raghavendra, Mihir Singhal, Avi Wigderson
2025 J jnl
CoRR
Pasin Manurangsi, Raghu Meka
2024 A* conf
STOC
Zander Kelley, Shachar Lovett, Raghu Meka
2024 A* conf
COLT
Jonathan A. Kelner, Frederic Koehler, Raghu Meka, Dhruv Rohatgi
2024 J jnl
CoRR
Jonathan A. Kelner, Frederic Koehler, Raghu Meka, Dhruv Rohatgi
2024 A* conf
COLT
Pranjal Awasthi, Nishanth Dikkala, Pritish Kamath, Raghu Meka
2024 J jnl
CoRR
Pranjal Awasthi, Nishanth Dikkala, Pritish Kamath, Raghu Meka
2024 A* conf
STOC
Amir Abboud, Nick Fischer, Zander Kelley, Shachar Lovett, Raghu Meka
2024 A* conf
COLT
Badih Ghazi, Pritish Kamath, Ravi Kumar, Pasin Manurangsi, Raghu Meka, Chiyuan Zhang
2024 J jnl
CoRR
Badih Ghazi, Pritish Kamath, Ravi Kumar, Pasin Manurangsi, Raghu Meka, Chiyuan Zhang
2024 A* conf
COLT
Gautam Chandrasekaran, Adam R. Klivans, Vasilis Kontonis, Raghu Meka, Konstantinos Stavropoulos
2024 J jnl
CoRR
Gautam Chandrasekaran, Adam R. Klivans, Vasilis Kontonis, Raghu Meka, Konstantinos Stavropoulos
2023 A* conf
SODA
Peter Ivanov, Raghu Meka, Emanuele Viola
2023 J jnl
CoRR
Zander Kelley, Shachar Lovett, Raghu Meka
2023 J jnl
Electron. Colloquium Comput. Complex.
Zander Kelley, Shachar Lovett, Raghu Meka
2023 A* conf
NeurIPS
Jonathan A. Kelner, Frederic Koehler, Raghu Meka, Dhruv Rohatgi
2023 J jnl
CoRR
Jonathan A. Kelner, Frederic Koehler, Raghu Meka, Dhruv Rohatgi
2023 A* conf
COLT
Sitan Chen, Zehao Dou, Surbhi Goel, Adam R. Klivans, Raghu Meka
2023 J jnl
CoRR
Sitan Chen, Zehao Dou, Surbhi Goel, Adam R. Klivans, Raghu Meka
2023 J jnl
CoRR
Amir Abboud, Nick Fischer, Zander Kelley, Shachar Lovett, Raghu Meka
2023 J jnl
Electron. Colloquium Comput. Complex.
Amir Abboud, Nick Fischer, Zander Kelley, Shachar Lovett, Raghu Meka
2023 A* conf
ICML
Badih Ghazi, Pritish Kamath, Ravi Kumar, Pasin Manurangsi, Raghu Meka, Chiyuan Zhang
2023 J jnl
CoRR
Badih Ghazi, Pritish Kamath, Ravi Kumar, Raghu Meka, Pasin Manurangsi, Chiyuan Zhang
2023 A* conf
EMNLP
Nishanth Dikkala, Nikhil Ghosh, Raghu Meka, Rina Panigrahy, Nikhil Vyas, Xin Wang
2023 A* conf
STOC
Nikhil Bansal, Haotian Jiang, Raghu Meka
2023 J jnl
CoRR
Yuanzhi Li, Raghu Meka, Rina Panigrahy, Kulin Shah
2023 J jnl
Theory Comput.
Jaroslaw Byrka, Raghu Meka
2023 A* conf
FOCS
Zander Kelley, Raghu Meka
2023 A* conf
NeurIPS
Badih Ghazi, Pritish Kamath, Ravi Kumar, Pasin Manurangsi, Raghu Meka, Chiyuan Zhang
2023 J jnl
CoRR
Badih Ghazi, Pritish Kamath, Ravi Kumar, Pasin Manurangsi, Raghu Meka, Chiyuan Zhang
2022 J jnl
SIAM J. Comput.
Pravesh K. Kothari, Raghu Meka, Prasad Raghavendra
2022 J jnl
CoRR
Jonathan A. Kelner, Frederic Koehler, Raghu Meka, Dhruv Rohatgi
2022 J jnl
Electron. Colloquium Comput. Complex.
Peter Ivanov, Raghu Meka, Emanuele Viola
2022 A* conf
NeurIPS
Sitan Chen, Aravind Gollakota, Adam R. Klivans, Raghu Meka
2022 J jnl
CoRR
Sitan Chen, Aravind Gollakota, Adam R. Klivans, Raghu Meka
2022 A conf
ITCS
Shachar Lovett, Raghu Meka, Ian Mertz, Toniann Pitassi, Jiapeng Zhang
2022 A* conf
NeurIPS
Jonathan A. Kelner, Frederic Koehler, Raghu Meka, Dhruv Rohatgi
2022 A* conf
ICLR
Sitan Chen, Jerry Li, Yuanzhi Li, Raghu Meka
2022 J jnl
CoRR
Sitan Chen, Jerry Li, Yuanzhi Li, Raghu Meka
2022 A conf
ITCS
Nikhil Bansal, Haotian Jiang, Raghu Meka, Sahil Singla, Makrand Sinha
2022 A conf
CCC
Zander Kelley, Raghu Meka
2022 J jnl
CoRR
Nikhil Bansal, Haotian Jiang, Raghu Meka
2022 A* conf
NeurIPS
Nishanth Dikkala, Sankeerth Rao Karingula, Raghu Meka, Jelani Nelson, Rina Panigrahy, Xin Wang
2022 A* conf
ICALP
Nikhil Bansal, Haotian Jiang, Raghu Meka, Sahil Singla, Makrand Sinha
2022 J jnl
CoRR
Nikhil Bansal, Haotian Jiang, Raghu Meka, Sahil Singla, Makrand Sinha
2021 J jnl
CoRR
Sitan Chen, Adam R. Klivans, Raghu Meka
2021 A* conf
NeurIPS
Sitan Chen, Adam R. Klivans, Raghu Meka
2021 A* conf
FOCS
Sitan Chen, Adam R. Klivans, Raghu Meka
2021 J jnl
Electron. Colloquium Comput. Complex.
Dean Doron, Raghu Meka, Omer Reingold, Avishay Tal, Salil P. Vadhan
2021 A* conf
FOCS
Jonathan A. Kelner, Frederic Koehler, Raghu Meka, Dhruv Rohatgi
2021 J jnl
CoRR
Jonathan A. Kelner, Frederic Koehler, Raghu Meka, Dhruv Rohatgi
2021 A* conf
SODA
Nikhil Bansal, Haotian Jiang, Raghu Meka, Sahil Singla, Makrand Sinha
2021 J jnl
CoRR
Nikhil Bansal, Haotian Jiang, Raghu Meka, Sahil Singla, Makrand Sinha
2021 conf
APPROX-RANDOM
Dean Doron, Raghu Meka, Omer Reingold, Avishay Tal, Salil P. Vadhan
2021 J jnl
CoRR
Zander Kelley, Raghu Meka
2021 J jnl
Electron. Colloquium Comput. Complex.
Zander Kelley, Raghu Meka
2020 ed.
APPROX-RANDOM
Jaroslaw Byrka, Raghu Meka
2020 A* conf
COLT
Paxton Turner, Raghu Meka, Philippe Rigollet
2020 J jnl
Electron. Colloquium Comput. Complex.
Ashutosh Kumar, Raghu Meka, David Zuckerman
2020 J jnl
IACR Cryptol. ePrint Arch.
Ashutosh Kumar, Raghu Meka, David Zuckerman
2020 A* conf
FOCS
Eshan Chattopadhyay, Jesse Goodman, Vipul Goyal, Ashutosh Kumar, Xin Li, Raghu Meka, David Zuckerman
2020 J jnl
Electron. Colloquium Comput. Complex.
Shachar Lovett, Raghu Meka, Jiapeng Zhang
2020 J jnl
CoRR
Sitan Chen, Adam R. Klivans, Raghu Meka
2020 A* conf
COLT
Sitan Chen, Raghu Meka
2020 J jnl
CoRR
Sitan Chen, Raghu Meka
2020 A* conf
NeurIPS
Jonathan A. Kelner, Frederic Koehler, Raghu Meka, Ankur Moitra
2020 J jnl
Random Struct. Algorithms
Nikhil Bansal, Raghu Meka
2020 J jnl
CoRR
Nikhil Bansal, Haotian Jiang, Raghu Meka, Sahil Singla, Makrand Sinha
2019 J jnl
Electron. Colloquium Comput. Complex.
Arnab Bhattacharyya, Philips George John, Suprovat Ghoshal, Raghu Meka
2019 J jnl
CoRR
Raghu Meka, Philippe Rigollet, Paxton Turner
2019 A* conf
FOCS
Ashutosh Kumar, Raghu Meka, Amit Sahai
2019 J jnl
CoRR
Jonathan A. Kelner, Frederic Koehler, Raghu Meka, Ankur Moitra
2019 A* conf
SODA
Nikhil Bansal, Raghu Meka
2019 A* conf
STOC
Raghu Meka, Omer Reingold, Avishay Tal
2019 J jnl
J. ACM
Russell Impagliazzo, Raghu Meka, David Zuckerman
2018 A* conf
COLT
Adam R. Klivans, Pravesh K. Kothari, Raghu Meka
2018 J jnl
CoRR
Adam R. Klivans, Pravesh K. Kothari, Raghu Meka
2018 J jnl
Electron. Colloquium Comput. Complex.
Ashutosh Kumar, Raghu Meka, Amit Sahai
2018 J jnl
IACR Cryptol. ePrint Arch.
Ashutosh Kumar, Raghu Meka, Amit Sahai
2018 A* conf
ICML
Surbhi Goel, Adam R. Klivans, Raghu Meka
2018 J jnl
CoRR
Surbhi Goel, Adam R. Klivans, Raghu Meka
2018 J jnl
CoRR
Nikhil Bansal, Raghu Meka
2018 J jnl
CoRR
Raghu Meka, Omer Reingold, Avishay Tal
2018 J jnl
Electron. Colloquium Comput. Complex.
Raghu Meka, Omer Reingold, Avishay Tal
2018 J jnl
SIAM J. Comput.
Parikshit Gopalan, Daniel M. Kane, Raghu Meka
2017 A* conf
STOC
Pravesh K. Kothari, Raghu Meka, Prasad Raghavendra
2017 J jnl
IEEE Trans. Inf. Theory
Clément L. Canonne, Venkatesan Guruswami, Raghu Meka, Madhu Sudan
2017 A* conf
SODA
Raghu Meka
2017 A* conf
FOCS
Adam R. Klivans, Raghu Meka
2017 J jnl
CoRR
Adam R. Klivans, Raghu Meka
2016 J jnl
Theory Comput.
Raghu Meka, Oanh Nguyen, Van Vu
2016 J jnl
CoRR
Pravesh Kothari, Raghu Meka, Prasad Raghavendra
2016 J jnl
SIAM J. Comput.
Mika Göös, Shachar Lovett, Raghu Meka, Thomas Watson, David Zuckerman
2016 J jnl
SIAM J. Comput.
Moritz Hardt, Yuval Ishai, Raghu Meka, Virginia Vassilevska Williams
2015 A* conf
STOC
Pravesh K. Kothari, Raghu Meka
2015 A conf
ITCS
Clément Louis Canonne, Venkatesan Guruswami, Raghu Meka, Madhu Sudan
2015 J jnl
SIAM J. Comput.
Shachar Lovett, Raghu Meka
2015 J jnl
CoRR
Raghu Meka
2015 J jnl
Electron. Colloquium Comput. Complex.
Raghu Meka
2015 J jnl
SIAM J. Comput.
Boaz Barak, Parikshit Gopalan, Johan Håstad, Raghu Meka, Prasad Raghavendra, David Steurer
2015 A* conf
FOCS
Parikshit Gopalan, Daniel M. Kane, Raghu Meka
2015 J jnl
CoRR
Parikshit Gopalan, Daniel M. Kane, Raghu Meka
2015 A* conf
STOC
Mika Göös, Shachar Lovett, Raghu Meka, Thomas Watson, David Zuckerman
2015 A* conf
STOC
Raghu Meka, Aaron Potechin, Avi Wigderson
2015 J jnl
CoRR
Raghu Meka, Aaron Potechin, Avi Wigderson
2014 J jnl
CoRR
Pravesh Kothari, Raghu Meka
2014 J jnl
Theory Comput.
Prahladh Harsha, Adam R. Klivans, Raghu Meka
2014 J jnl
CoRR
Clément L. Canonne, Venkatesan Guruswami, Raghu Meka, Madhu Sudan
2014 J jnl
Electron. Colloquium Comput. Complex.
Clément L. Canonne, Venkatesan Guruswami, Raghu Meka, Madhu Sudan
2014 A* conf
COLT
Moritz Hardt, Raghu Meka, Prasad Raghavendra, Benjamin Weitz
2014 J jnl
CoRR
Moritz Hardt, Raghu Meka, Prasad Raghavendra, Benjamin Weitz
2014 conf
APPROX-RANDOM
Raghu Meka, Omer Reingold, Yuan Zhou
2014 conf
ICALP (1)
Raghu Meka, Omer Reingold, Guy N. Rothblum, Ron D. Rothblum
2014 J jnl
CoRR
Parikshit Gopalan, Daniel M. Kane, Raghu Meka
2014 J jnl
Electron. Colloquium Comput. Complex.
Mika Göös, Shachar Lovett, Raghu Meka, Thomas Watson, David Zuckerman
2014 A* conf
COLT
Elad Hazan, Zohar Shay Karnin, Raghu Meka
2013 A* conf
STOC
Daniel M. Kane, Raghu Meka
2013 J jnl
Electron. Colloquium Comput. Complex.
Raghu Meka, Avi Wigderson
2013 J jnl
Comput. Complex.
Parikshit Gopalan, Raghu Meka, Omer Reingold
2013 A* conf
COLT
Daniel M. Kane, Adam R. Klivans, Raghu Meka
2013 J jnl
CoRR
Adam R. Klivans, Raghu Meka
2013 J jnl
Electron. Colloquium Comput. Complex.
Adam R. Klivans, Raghu Meka
2013 J jnl
SIAM J. Comput.
Parikshit Gopalan, Raghu Meka, Omer Reingold, David Zuckerman
2013 J jnl
SIAM J. Comput.
Raghu Meka, David Zuckerman
2013 J jnl
CoRR
Elad Hazan, Zohar Shay Karnin, Raghu Meka
2012 J jnl
CoRR
Daniel M. Kane, Raghu Meka
2012 J jnl
CoRR
Raghu Meka
2012 A* conf
FOCS
Raghu Meka
2012 J jnl
J. ACM
Prahladh Harsha, Adam R. Klivans, Raghu Meka
2012 J jnl
CoRR
Parikshit Gopalan, Raghu Meka, Omer Reingold, Luca Trevisan, Salil P. Vadhan
2012 A* conf
FOCS
Parikshit Gopalan, Raghu Meka, Omer Reingold, Luca Trevisan, Salil P. Vadhan
2012 J jnl
Electron. Colloquium Comput. Complex.
Parikshit Gopalan, Raghu Meka, Omer Reingold, Luca Trevisan, Salil P. Vadhan
2012 J jnl
CoRR
Shachar Lovett, Raghu Meka
2012 A* conf
FOCS
Shachar Lovett, Raghu Meka
2012 J jnl
CoRR
Parikshit Gopalan, Raghu Meka, Omer Reingold
2012 A conf
CCC
Parikshit Gopalan, Raghu Meka, Omer Reingold
2012 J jnl
Electron. Colloquium Comput. Complex.
Parikshit Gopalan, Raghu Meka, Omer Reingold
2012 A* conf
COLT
Parikshit Gopalan, Adam R. Klivans, Raghu Meka
2012 A* conf
FOCS
Boaz Barak, Parikshit Gopalan, Johan Håstad, Raghu Meka, Prasad Raghavendra, David Steurer
2012 A* conf
FOCS
Russell Impagliazzo, Raghu Meka, David Zuckerman
2012 J jnl
Electron. Colloquium Comput. Complex.
Russell Impagliazzo, Raghu Meka, David Zuckerman
2011 conf
APPROX-RANDOM
Daniel Kane, Raghu Meka, Jelani Nelson
2011 A* conf
FOCS
Parikshit Gopalan, Adam R. Klivans, Raghu Meka, Daniel Stefankovic, Santosh S. Vempala, Eric Vigoda
2011 J jnl
CoRR
Boaz Barak, Parikshit Gopalan, Johan Håstad, Raghu Meka, Prasad Raghavendra, David Steurer
2011 J jnl
Electron. Colloquium Comput. Complex.
Boaz Barak, Parikshit Gopalan, Johan Håstad, Raghu Meka, Prasad Raghavendra, David Steurer
2011 A* conf
STOC
Parikshit Gopalan, Raghu Meka, Omer Reingold, David Zuckerman
2010 J jnl
CoRR
Raghu Meka
2010 J jnl
Electron. Colloquium Comput. Complex.
Daniel Kane, Raghu Meka, Jelani Nelson
2010 A* conf
STOC
Prahladh Harsha, Adam R. Klivans, Raghu Meka
2010 A* conf
STOC
Ilias Diakonikolas, Prahladh Harsha, Adam R. Klivans, Raghu Meka, Prasad Raghavendra, Rocco A. Servedio, Li-Yang Tan
2010 conf
NIPS
Prateek Jain, Raghu Meka, Inderjit S. Dhillon
2010 J jnl
CoRR
Parikshit Gopalan, Adam R. Klivans, Raghu Meka
2010 J jnl
Electron. Colloquium Comput. Complex.
Parikshit Gopalan, Adam R. Klivans, Raghu Meka
2010 J jnl
Electron. Colloquium Comput. Complex.
Parikshit Gopalan, Raghu Meka, Omer Reingold, David Zuckerman
2010 A* conf
STOC
Raghu Meka, David Zuckerman
2009 J jnl
CoRR
Prahladh Harsha, Adam R. Klivans, Raghu Meka
2009 J jnl
Electron. Colloquium Comput. Complex.
Prahladh Harsha, Adam R. Klivans, Raghu Meka
2009 J jnl
CoRR
Prahladh Harsha, Adam R. Klivans, Raghu Meka
2009 J jnl
CoRR
Raghu Meka, Prateek Jain, Inderjit S. Dhillon
2009 conf
NIPS
Raghu Meka, Prateek Jain, Inderjit S. Dhillon
2009 J jnl
CoRR
Raghu Meka, David Zuckerman
2009 conf
APPROX-RANDOM
Raghu Meka, David Zuckerman
2008 A* conf
ICML
Raghu Meka, Prateek Jain, Constantine Caramanis, Inderjit S. Dhillon
2008 A conf
SDM
Prateek Jain, Raghu Meka, Inderjit S. Dhillon
2008 J jnl
Stat. Anal. Data Min.
Prateek Jain, Raghu Meka, Inderjit S. Dhillon
tests/unit/test_decompile_utils.py
← Index tests/unit/test_decompile_utils.py python
"""Unit tests for decompiler utility modules:
- bninja/utils/hashes.py
- bninja/utils/json_encoder.py
- bninja/analysis/low_level_normalization.py
"""
import hashlib
import json
import pytest


# ============================================================================
# 1a. hashes.py
# ============================================================================

from redb.extractors.decompiler.bninja.utils.hashes import (
    calculate_md5,
    calculate_sha256,
    calculate_tlsh,
)


class TestCalculateMD5:
    def test_calculate_md5_known_value(self):
        expected = hashlib.md5(b"test").hexdigest()
        assert calculate_md5("test") == expected

    def test_calculate_md5_empty(self):
        expected = hashlib.md5(b"").hexdigest()
        assert calculate_md5("") == expected


class TestCalculateSHA256:
    def test_calculate_sha256_known_value(self):
        expected = hashlib.sha256(b"hello world").hexdigest()
        assert calculate_sha256("hello world") == expected

    def test_calculate_sha256_empty_string(self):
        result = calculate_sha256("")
        assert len(result) == 64
        assert all(c in "0123456789abcdef" for c in result)


class TestCalculateTLSH:
    def test_calculate_tlsh_long_data(self):
        # TLSH requires >= 50 bytes
        data = "A" * 100
        result = calculate_tlsh(data)
        assert result is not None
        assert isinstance(result, str)

    def test_calculate_tlsh_short_data(self):
        data = "A" * 10
        result = calculate_tlsh(data)
        assert result is None

    def test_calculate_tlsh_deterministic(self):
        data = "x" * 200
        assert calculate_tlsh(data) == calculate_tlsh(data)



# ============================================================================
# 1b. json_encoder.py
# ============================================================================

from redb.extractors.decompiler.bninja.utils.json_encoder import BinaryNinjaEncoder


class TestBinaryNinjaEncoder:
    def test_encode_value_confidence_object(self):
        obj = type("VC", (), {"value": 42, "confidence": 255})()
        result = json.dumps(obj, cls=BinaryNinjaEncoder)
        assert json.loads(result) == 42

    def test_encode_str_fallback(self):
        obj = type("Obj", (), {"__str__": lambda self: "custom_repr"})()
        result = json.dumps(obj, cls=BinaryNinjaEncoder)
        assert json.loads(result) == "custom_repr"

    def test_encode_normal_types(self):
        data = {"a": 1, "b": [2, 3], "c": "hello"}
        result = json.dumps(data, cls=BinaryNinjaEncoder)
        assert json.loads(result) == data

    def test_encode_set_via_str(self):
        # Python sets have __str__, so BinaryNinjaEncoder converts them
        # to their string repr instead of raising TypeError.
        result = json.dumps(set([1, 2, 3]), cls=BinaryNinjaEncoder)
        parsed = json.loads(result)
        assert isinstance(parsed, str)
        assert "1" in parsed


# ============================================================================
# 1c. low_level_normalization.py
# ============================================================================

from redb.extractors.decompiler.bninja.analysis.low_level_normalization import (
    LowLevelNormalization,
)


class MockIL:
    """Mock IL node for normalization tests."""
    def __init__(self, operation, operands=None):
        self.operation = operation
        self.operands = operands or []


class TestLowLevelNormalization:
    def setup_method(self):
        self.normalizer = LowLevelNormalization()

    def test_normalize_single_instruction(self):
        node = MockIL(operation=5)
        result = self.normalizer.normalize_instruction_all_levels(node)
        assert result == [5]

    def test_normalize_nested_operands(self):
        child1 = MockIL(operation=10)
        child2 = MockIL(operation=20)
        root = MockIL(operation=1, operands=[child1, child2])
        result = self.normalizer.normalize_instruction_all_levels(root)
        assert result == [1, 10, 20]

    def test_normalize_empty_operands(self):
        node = MockIL(operation=42, operands=[])
        result = self.normalizer.normalize_instruction_all_levels(node)
        assert result == [42]

    def test_normalize_list_operands(self):
        # Simulates phi-node style list operands
        inner = MockIL(operation=99)
        node = MockIL(operation=7, operands=[[inner]])
        result = self.normalizer.normalize_instruction_all_levels(node)
        assert result == [7, 99]

    def test_normalize_none_input(self):
        result = self.normalizer.normalize_instruction_all_levels(None)
        assert result == []