Hairong Kuang

12 papers A* 1A 1B 1Misc 1Journal 3Unranked 5
YearRankTypeTitle / Venue / Authors
2014 A* conf
SIGCOMM
K. V. Rashmi, Nihar B. Shah, Dikang Gu, Hairong Kuang, Dhruba Borthakur, Kannan Ramchandran
2013 conf
HotStorage
K. V. Rashmi, Nihar B. Shah, Dikang Gu, Hairong Kuang, Dhruba Borthakur, Kannan Ramchandran
2013 J jnl
CoRR
K. V. Rashmi, Nihar B. Shah, Dikang Gu, Hairong Kuang, Dhruba Borthakur, Kannan Ramchandran
2011 conf
SIGMOD Conference
Dhruba Borthakur, Jonathan Gray, Joydeep Sen Sarma, Kannan Muthukkaruppan, Nicolas Spiegelberg, Hairong Kuang, Karthik Ranganathan, Dmytro Molkov, Aravind Menon, Samuel Rash, Rodrigo Schmidt, Amitanand S. Aiyer
2010 Misc conf
MSST
Konstantin Shvachko, Hairong Kuang, Sanjay Radia, Robert Chansler
2005 conf
APPT
Hiroshi Nishida, Hairong Kuang
2005 J jnl
J. Parallel Distributed Comput.
Hairong Kuang, Lubomir F. Bic, Michael B. Dillencourt
2003 conf
FTDCS
Hairong Kuang, Lubomir Bic, Michael B. Dillencourt
2002 B conf
ICPP
Hairong Kuang, Lubomir Bic, Michael B. Dillencourt
2000 A conf
ICDCS
Hairong Kuang, Lubomir Bic, Michael B. Dillencourt
1999 conf
FTDCS
Hairong Kuang, Lubomir Bic, Michael B. Dillencourt, Adam C. Chang
1997 J jnl
J. Comput. Sci. Technol.
Hairong Kuang, Yongqiang Sun, Kai Lin
pyproject.toml
← Index pyproject.toml ini
[tool.black]
line-length = 120
target-version = ['py38']
include = '\.pyi?$'
extend-exclude = '''
/(
  # directories
  \.eggs
  | \.git
  | \.hg
  | \.mypy_cache
  | \.tox
  | \.venv
  | build
  | dist
  | venv
)/
'''

[tool.isort]
profile = "black"
line_length = 120
multi_line_output = 3
include_trailing_comma = true
force_grid_wrap = 0
use_parentheses = true
ensure_newline_before_comments = true

[tool.flake8]
max-line-length = 120
ignore = ["E501", "W503", "E203", "F401"]
exclude = [
    "__pycache__",
    ".git",
    "venv",
    "build",
    "dist",
    "*.egg-info",
]

[tool.pylint.messages_control]
disable = [
    "C0114",  # missing-module-docstring
    "C0115",  # missing-class-docstring
    "C0116",  # missing-function-docstring
    "C0103",  # invalid-name
    "R0903",  # too-few-public-methods
    "R0913",  # too-many-arguments
    "R0914",  # too-many-locals
    "R0915",  # too-many-statements
]

[tool.pylint.format]
max-line-length = 120

# ============================================================================
# Pytest Configuration
# ============================================================================
[tool.pytest.ini_options]
testpaths = ["tests/unit", "tests/integration"]
python_files = ["test_*.py"]
python_classes = ["Test*"]
python_functions = ["test_*"]

# Default options: verbose, show locals on failure, strict markers
addopts = [
    "-v",
    "--strict-markers",
    "--tb=short",
]

# Custom markers for selective test execution
markers = [
    "unit: Pure unit tests - no external deps, no disk I/O, fast (< 1s each)",
    "integration: Integration tests - use real test binaries on disk",
    "slow: Tests that take > 5s (e.g. entropy on large files, full extraction pipelines)",
    "pe: Tests specific to PE binary analysis",
    "elf: Tests specific to ELF binary analysis",
    "macho: Tests specific to Mach-O binary analysis",
    "apk: Tests specific to APK binary analysis",
    "exporters: Tests for database exporters (ClickHouse, Elasticsearch, Print)",
    "dataclass: Tests for dataclass construction and field validation",
    "binja: Tests for Binary Ninja decompiler extractors (mocked, no license needed)",
]