Mahmood Ali

14 papers A 2Journal 4Unranked 8
YearRankTypeTitle / Venue / Authors
2019 conf
IEEM
Mahmood Ali, Mayar Tarbulsi, Asim Majeed
2018 conf
CCWC
Asim Majeed, Mahmood Ali
2017 J jnl
Int. J. Organ. Collect. Intell.
Mahmood Ali
2017 J jnl
J. Enterp. Inf. Manag.
Mahmood Ali, Lloyd Miller
2016 J jnl
Int. J. Inf. Manag.
Mahmood Ali, Li Zhou, Lloyd Miller, Petros Ieromonachou
2014 J jnl
J. Enterp. Inf. Manag.
Ying Xie, Colin James Allen, Mahmood Ali
2011 conf
CENTERIS (1)
Mahmood Ali, Ying Xie
2010 conf
SIGSOFT FSE
Michael D. Ernst, Mahmood Ali
2010 A conf
OOPSLA
Yoav Zibin, Alex Potanin, Paley Li, Mahmood Ali, Michael D. Ernst
2008 conf
OOPSLA Companion
Matthew M. Papi, Mahmood Ali, Michael D. Ernst
2008 conf
OOPSLA Companion
Matthew M. Papi, Mahmood Ali, Michael D. Ernst
2008 conf
OOPSLA Companion
Mahmood Ali, Yoav Zibin, Matthew M. Papi, Michael D. Ernst
2008 A conf
ISSTA
Matthew M. Papi, Mahmood Ali, Telmo Luis Correa Jr., Jeff H. Perkins, Michael D. Ernst
2007 conf
ESEC/SIGSOFT FSE
Yoav Zibin, Alex Potanin, Mahmood Ali, Shay Artzi, Adam Kiezun, Michael D. Ernst
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)",
]