Maksims Volkovs

56 papers A* 19A 3Journal 21Unranked 12
YearRankTypeTitle / Venue / Authors
2024 A* conf
CVPR
Noël Vouitsis, Zhaoyan Liu, Satya Krishna Gorti, Valentin Villecroze, Jesse C. Cresswell, Guangwei Yu, Gabriel Loaiza-Ganem, Maksims Volkovs
2024 A* conf
NeurIPS
Valentin Thomas, Junwei Ma, Rasa Hosseinzadeh, Keyvan Golestan, Guangwei Yu, Maksims Volkovs, Anthony L. Caterini
2024 J jnl
CoRR
Valentin Thomas, Junwei Ma, Rasa Hosseinzadeh, Keyvan Golestan, Guangwei Yu, Maksims Volkovs, Anthony L. Caterini
2024 A* conf
ICLR
Yi Sui, Tongzi Wu, Jesse C. Cresswell, Ga Wu, George Stein, Xiao Shi Huang, Xiaochen Zhang, Maksims Volkovs
2024 J jnl
CoRR
Junwei Ma, Valentin Thomas, Rasa Hosseinzadeh, Hamidreza Kamkari, Alex Labach, Jesse C. Cresswell, Keyvan Golestan, Guangwei Yu, Maksims Volkovs, Anthony L. Caterini
2023 J jnl
CoRR
Noël Vouitsis, Zhaoyan Liu, Satya Krishna Gorti, Valentin Villecroze, Jesse C. Cresswell, Guangwei Yu, Gabriel Loaiza-Ganem, Maksims Volkovs
2023 conf
ACL (Findings)
Sajad Norouzi, Rasa Hosseinzadeh, Felipe Pérez, Maksims Volkovs
2023 conf
MLHC
Alex Labach, Aslesha Pokhrel, Xiao Shi Huang, Saba Zuberi, Seung Eun Yi, Maksims Volkovs, Tomi Poutanen, Rahul G. Krishnan
2023 J jnl
CoRR
Alex Labach, Aslesha Pokhrel, Xiao Shi Huang, Saba Zuberi, Seung Eun Yi, Maksims Volkovs, Tomi Poutanen, Rahul G. Krishnan
2023 J jnl
CoRR
Linfeng Du, Ji Xin, Alex Labach, Saba Zuberi, Maksims Volkovs, Rahul G. Krishnan
2023 conf
RecSys Challenge
Yichao Lu, Maksims Volkovs
2023 J jnl
CoRR
Yi Sui, Tongzi Wu, Jesse C. Cresswell, Ga Wu, George Stein, Xiao Shi Huang, Xiaochen Zhang, Maksims Volkovs
2023 A* conf
ICLR
Kin Kwan Leung, Clayton Rooke, Jonathan Smith, Saba Zuberi, Maksims Volkovs
2022 J jnl
CoRR
Sajad Norouzi, Rasa Hosseinzadeh, Felipe Pérez, Maksims Volkovs
2022 A* conf
ICLR
Xiao Shi Huang, Felipe Pérez, Maksims Volkovs
2022 A* conf
WWW
Zhaolin Gao, Zhaoyue Cheng, Felipe Pérez, Jianing Sun, Maksims Volkovs
2022 A* conf
CVPR
Satya Krishna Gorti, Noël Vouitsis, Junwei Ma, Keyvan Golestan, Maksims Volkovs, Animesh Garg, Guangwei Yu
2022 J jnl
CoRR
Satya Krishna Gorti, Noël Vouitsis, Junwei Ma, Keyvan Golestan, Maksims Volkovs, Animesh Garg, Guangwei Yu
2021 A* conf
ICCV
Yichao Lu, Himanshu Rai, Jason Chang, Boris Knyazev, Guangwei Yu, Shashank Shekhar, Graham W. Taylor, Maksims Volkovs
2021 A* conf
WWW
Jianing Sun, Zhaoyue Cheng, Saba Zuberi, Felipe Pérez, Maksims Volkovs
2021 J jnl
npj Digit. Medicine
Mathieu Ravaut, Hamed Sadeghi, Kin Kwan Leung, Maksims Volkovs, Kathy Kornas, Vinyas Harish, Tristan Watson, Gary F. Lewis, Alanna Weisman, Tomi Poutanen, Laura C. Rosella
2021 J jnl
CoRR
Shivam Kalra, Junfeng Wen, Jesse C. Cresswell, Maksims Volkovs, Hamid R. Tizhoosh
2021 J jnl
CoRR
Clayton Rooke, Jonathan Smith, Kin Kwan Leung, Maksims Volkovs, Saba Zuberi
2021 conf
RecSys Challenge
Maksims Volkovs, Felipe Pérez, Zhaoyue Cheng, Jianing Sun, Sajad Norouzi, Anson Wong, Pawel Jankiewicz, Barum Rho
2021 A* conf
CVPR
Junwei Ma, Satya Krishna Gorti, Maksims Volkovs, Guangwei Yu
2021 J jnl
CoRR
Junwei Ma, Satya Krishna Gorti, Maksims Volkovs, Guangwei Yu
2020 A* conf
ICML
Xiao Shi Huang, Felipe Pérez, Jimmy Ba, Maksims Volkovs
2020 conf
RecSys Challenge
Maksims Volkovs, Zhaoyue Cheng, Mathieu Ravaut, Hojin Yang, Kevin Shen, Jin Peng Zhou, Anson Wong, Saba Zuberi, Ivan Zhang, Nick Frosst, Helen Ngo, Carol Chen, Bharat Venkitesh, Stephen Gou, Aidan N. Gomez
2020 A conf
RecSys
Jin Peng Zhou, Zhaoyue Cheng, Felipe Pérez, Maksims Volkovs
2019 J jnl
CoRR
Junwei Ma, Satya Krishna Gorti, Maksims Volkovs, Ilya Stanevich, Guangwei Yu
2019 J jnl
CoRR
Mathieu Ravaut, Hamed Sadeghi, Kin Kwan Leung, Maksims Volkovs, Laura C. Rosella
2019 A* conf
CVPR
Cheng Chang, Guangwei Yu, Chundi Liu, Maksims Volkovs
2019 A* conf
NeurIPS
Chundi Liu, Guangwei Yu, Maksims Volkovs, Cheng Chang, Himanshu Rai, Junwei Ma, Satya Krishna Gorti
2019 J jnl
CoRR
Yichao Lu, Cheng Chang, Himanshu Rai, Guangwei Yu, Maksims Volkovs
2019 A* conf
SIGIR
Ga Wu, Maksims Volkovs, Chee Loong Soon, Scott Sanner, Himanshu Rai
2019 conf
RecSys Challenge
Maksims Volkovs, Anson Wong, Zhaoyue Cheng, Felipe Pérez, Ilya Stanevich, Yichao Lu
2019 J jnl
CoRR
Cheng Chang, Himanshu Rai, Satya Krishna Gorti, Junwei Ma, Chundi Liu, Guangwei Yu, Maksims Volkovs
2018 J jnl
CoRR
Ga Wu, Maksims Volkovs, Chee Loong Soon, Scott Sanner, Himanshu Rai
2018 conf
RecSys Challenge
Maksims Volkovs, Himanshu Rai, Zhaoyue Cheng, Ga Wu, Yichao Lu, Scott Sanner
2017 conf
NIPS
Maksims Volkovs, Guangwei Yu, Tomi Poutanen
2017 J jnl
CoRR
Chundi Liu, Shunan Zhao, Maksims Volkovs
2015 J jnl
CoRR
Maksims Volkovs
2015 A* conf
SIGIR
Maksims Volkovs, Guangwei Yu
2015 conf
RecSys Challenge
Maksims Volkovs
2014 A* conf
ICDE
Maksims Volkovs, Fei Chiang, Jaroslaw Szlichta, Renée J. Miller
2014 J jnl
J. Mach. Learn. Res.
Maksims Volkovs, Richard S. Zemel
2013 A conf
CIKM
Maksims Volkovs, Richard S. Zemel
2013
Maksims Volkovs
2012 A* conf
WWW
Maksims Volkovs, Richard S. Zemel
2012 conf
NIPS
Maksims Volkovs, Richard S. Zemel
2012 conf
NIPS
Maksims Volkovs, Richard S. Zemel
2012 A conf
CIKM
Maksims Volkovs, Hugo Larochelle, Richard S. Zemel
2011 A* conf
WWW
Krysta M. Svore, Maksims Volkovs, Christopher J. C. Burges
2011 J jnl
CoRR
Maksims Volkovs, Hugo Larochelle, Richard S. Zemel
2009 A* conf
ICML
Maksims Volkovs, Richard S. Zemel
2007 conf
SIGMOD Conference
Chaitanya Mishra, Maksims Volkovs
tests/unit/test_decompile_arch.py
← Index tests/unit/test_decompile_arch.py python
"""Unit tests for architecture modules:
- bninja/arch/creator.py
- bninja/arch/x86.py
"""
import sys
import pytest

# Install binaryninja stubs before importing arch modules
from tests.unit.conftest_binja_stubs import install_binja_stubs
install_binja_stubs()

from redb.extractors.decompiler.bninja.arch.creator import ArchitectureCreator
from redb.extractors.decompiler.bninja.arch.x86 import Arch_x86


# ============================================================================
# 3a. ArchitectureCreator
# ============================================================================

class TestArchitectureCreator:
    def test_create_x86(self):
        arch = ArchitectureCreator("x86").get()
        assert isinstance(arch, Arch_x86)

    def test_create_x86_case_insensitive(self):
        for name in ["X86", "x86", "X86"]:
            arch = ArchitectureCreator(name).get()
            assert isinstance(arch, Arch_x86)

    def test_unsupported_arch_raises(self):
        with pytest.raises(ValueError, match="Unsupported architecture"):
            ArchitectureCreator("arm").get()


# ============================================================================
# 3b. Arch_x86
# ============================================================================

class TestArch_x86Registers:
    def setup_method(self):
        self.arch = Arch_x86()

    def test_is_register_valid(self):
        assert self.arch.is_register("RAX") is True
        assert self.arch.is_register("eax") is True
        assert self.arch.is_register("XMM0") is True

    def test_is_register_invalid(self):
        assert self.arch.is_register("INVALID_REG") is False

    def test_is_general_purpose_register(self):
        assert self.arch.is_general_purpose_register("RAX") is True
        assert self.arch.is_general_purpose_register("XMM0") is False

    def test_is_stack_register(self):
        assert self.arch.is_stack_register("RSP") is True
        assert self.arch.is_stack_register("RBP") is True
        assert self.arch.is_stack_register("RAX") is False

    def test_is_xmm_register(self):
        assert self.arch.is_xmm_register("XMM0") is True
        assert self.arch.is_xmm_register("RAX") is False


class TestArch_x86OpcodeCategories:
    def setup_method(self):
        self.arch = Arch_x86()

    def test_opcode_categories_populated(self):
        assert len(self.arch.opcode_categories) > 0

    def test_opcode_mov_category(self):
        assert self.arch.opcode_categories["MOV"] == "DATA_MOVEMENT"

    def test_opcode_call_category(self):
        assert self.arch.opcode_categories["CALL"] == "CONTROL_FLOW"

    def test_opcode_add_category(self):
        assert self.arch.opcode_categories["ADD"] == "ARITHMETIC"


class TestArch_x86ControlFlow:
    def setup_method(self):
        self.arch = Arch_x86()

    def test_is_control_flow_instruction_by_mnemonic(self):
        assert self.arch.is_control_flow_instruction_by_mnemonic("JMP") is True
        assert self.arch.is_control_flow_instruction_by_mnemonic("MOV") is False

    def test_is_control_flow_instruction_call(self):
        assert self.arch.is_control_flow_instruction_by_mnemonic("CALL") is True

    def test_is_control_flow_instruction_ret(self):
        assert self.arch.is_control_flow_instruction_by_mnemonic("RET") is True

    def test_is_control_flow_instruction_loop(self):
        assert self.arch.is_control_flow_instruction_by_mnemonic("LOOP") is True

    def test_is_control_flow_instruction_empty(self):
        assert self.arch.is_control_flow_instruction_by_mnemonic("") is False
        assert self.arch.is_control_flow_instruction_by_mnemonic(None) is False