Oisin Mac Aodha

135 papers A* 36A 8B 2Journal 77Unranked 11
YearRankTypeTitle / Venue / Authors
2026 J jnl
CoRR
Bingchen Zhao, Jenny Zhang, Chenxi Whitehouse, Minqi Jiang, Michael Shvartsman, Abhishek Charnalia, Despoina Magka, Tatiana Shavrina, Derek Dunfield, Oisin Mac Aodha, Yoram Bachrach
2026 J jnl
CoRR
Miaowei Wang, Qingxuan Yan, Zhi Cao, Yayuan Li, Oisin Mac Aodha, Jason J. Corso, Amir Vaxman
2026 J jnl
Ecol. Informatics
Filip Dorm, Joseph Millard, Drew Purves, Mike Harfoot, Oisin Mac Aodha
2026 A* conf
AAAI
Miaowei Wang, Jakub Zadrozny, Oisin Mac Aodha, Amir Vaxman
2026 J jnl
CoRR
Miaowei Wang, Jakub Zadrozny, Oisin Mac Aodha, Amir Vaxman
2025 J jnl
CoRR
Nikolaos Tsagkas, Andreas Sochopoulos, Duolikun Danier, Sethu Vijayakumar, Alexandros Kouris, Oisin Mac Aodha, Chris Xiaoxuan Lu
2025 J jnl
CoRR
Leonie Bossemeyer, Samuel Heinrich, Grant Van Horn, Oisin Mac Aodha
2025 A* conf
CVPR
Thomas Walker, Salvatore Esposito, Daniel Rebain, Amir Vaxman, Arno Onken, Changjian Li, Oisin Mac Aodha
2025 A* conf
CVPR
Duolikun Danier, Mehmet Aygün, Changjian Li, Hakan Bilen, Oisin Mac Aodha
2025 J jnl
CoRR
Elle Miller, Trevor McInroe, David Abel, Oisin Mac Aodha, Sethu Vijayakumar
2025 A* conf
ICML
Christian Lange, Max Hamilton, Elijah Cole, Alexander Shepard, Samuel Heinrich, Angela Zhu, Subhransu Maji, Grant Van Horn, Oisin Mac Aodha
2025 J jnl
CoRR
Christian Lange, Max Hamilton, Elijah Cole, Alexander Shepard, Samuel Heinrich, Angela Zhu, Subhransu Maji, Grant Van Horn, Oisin Mac Aodha
2025 J jnl
CoRR
Edward Vendrow, Julia Chae, Rupa Kurinchi-Vendhan, Isaac Eckert, Jazlynn Hall, Marta Jarzyna, Reymond Miyajima, Ruth Oliver, Laura Pollock, Lauren Shrack, Scott Yanco, Oisin Mac Aodha, Sara Beery
2025 J jnl
CoRR
Bingchen Zhao, Oisin Mac Aodha
2025 J jnl
CoRR
Octave Mariotti, Zhipeng Du, Yash Bhalgat, Oisin Mac Aodha, Hakan Bilen
2025 A* conf
CVPR
Sergio Izquierdo, Mohamed Sayed, Michael Firman, Guillermo Garcia-Hernando, Daniyar Turmukhambetov, Javier Civera, Oisin Mac Aodha, Gabriel J. Brostow, Jamie Watson
2025 J jnl
CoRR
Sergio Izquierdo, Mohamed Sayed, Michael Firman, Guillermo Garcia-Hernando, Daniyar Turmukhambetov, Javier Civera, Oisin Mac Aodha, Gabriel J. Brostow, Jamie Watson
2025 J jnl
CoRR
Neehar Kondapaneni, Oisin Mac Aodha, Pietro Perona
2025 A* conf
ICLR
Neehar Kondapaneni, Oisin Mac Aodha, Pietro Perona
2025 J jnl
CoRR
Neehar Kondapaneni, Oisin Mac Aodha, Pietro Perona
2025 J jnl
CoRR
Osman Batur Ince, André F. T. Martins, Oisin Mac Aodha, Edoardo M. Ponti
2025 J jnl
IEEE Trans. Pattern Anal. Mach. Intell.
Yongshuo Zong, Oisin Mac Aodha, Timothy M. Hospedales
2025 J jnl
CoRR
Bingchen Zhao, Despoina Magka, Minqi Jiang, Xian Li, Roberta Raileanu, Tatiana Shavrina, Jean-Christophe Gagnon-Audet, Kelvin Niu, Shagun Sodhani, Michael Shvartsman, Andrei Lupu, Alisia Maria Lupidi, Edan Toledo, Karen Hambardzumyan, Martin Josifoski, Thomas Foster, Lucia Cipolina-Kun, Abhishek Charnalia, Derek Dunfield, Alexander H. Miller, Oisin Mac Aodha, Jakob N. Foerster, Yoram Bachrach
2025 conf
MICCAI (2)
Salvatore Esposito, Daniel Rebain, Arno Onken, Changjian Li, Oisin Mac Aodha
2025 J jnl
CoRR
Salvatore Esposito, Daniel Rebain, Arno Onken, Changjian Li, Oisin Mac Aodha
2025 J jnl
CoRR
Duolikun Danier, Ge Gao, Steven McDonagh, Changjian Li, Hakan Bilen, Oisin Mac Aodha
2025 J jnl
CoRR
Nikolaos Tsagkas, Andreas Sochopoulos, Duolikun Danier, Chris Xiaoxuan Lu, Oisin Mac Aodha
2025 J jnl
CoRR
Aude Vuilliomenet, Santiago Martinez Balvanera, Oisin Mac Aodha, Kate E. Jones, Duncan Wilson
2024 A* conf
CVPR
Jamie Watson, Filippo Aleotti, Mohamed Sayed, Zawar Qureshi, Oisin Mac Aodha, Gabriel J. Brostow, Michael Firman, Sara Vicente
2024 J jnl
CoRR
Jamie Watson, Filippo Aleotti, Mohamed Sayed, Zawar Qureshi, Oisin Mac Aodha, Gabriel J. Brostow, Michael Firman, Sara Vicente
2024 A conf
IROS
Nikolaos Tsagkas, Jack Rome, Subramanian Ramamoorthy, Oisin Mac Aodha, Chris Xiaoxuan Lu
2024 J jnl
CoRR
Nikolaos Tsagkas, Jack Rome, Subramanian Ramamoorthy, Oisin Mac Aodha, Chris Xiaoxuan Lu
2024 A* conf
NeurIPS
Max Hamilton, Christian Lange, Elijah Cole, Alexander Shepard, Samuel Heinrich, Oisin Mac Aodha, Grant Van Horn, Subhransu Maji
2024 J jnl
CoRR
Max Hamilton, Christian Lange, Elijah Cole, Alexander Shepard, Samuel Heinrich, Oisin Mac Aodha, Grant Van Horn, Subhransu Maji
2024 J jnl
CoRR
Thomas Walker, Salvatore Esposito, Daniel Rebain, Amir Vaxman, Arno Onken, Changjian Li, Oisin Mac Aodha
2024 J jnl
CoRR
Omiros Pantazis, Peggy Bevan, Holly Pringle, Guilherme Braga Ferreira, Daniel J. Ingram, Emily Madsen, Liam Thomas, Dol Raj Thanet, Thakur Silwal, Santosh Rayamajhi, Gabriel J. Brostow, Oisin Mac Aodha, Kate E. Jones
2024 J jnl
CoRR
Duolikun Danier, Mehmet Aygün, Changjian Li, Hakan Bilen, Oisin Mac Aodha
2024 conf
CVPR Workshops
Mehmet Aygün, Prithviraj Dhar, Zhicheng Yan, Oisin Mac Aodha, Rakesh Ranjan
2024 J jnl
CoRR
Mehmet Aygün, Prithviraj Dhar, Zhicheng Yan, Oisin Mac Aodha, Rakesh Ranjan
2024 A* conf
CVPR
Nico Lang, Vésteinn Snæbjarnarson, Elijah Cole, Oisin Mac Aodha, Christian Igel, Serge J. Belongie
2024 conf
ECCV Workshops (2)
Filip Dorm, Christian Lange, Scott Loarie, Oisin Mac Aodha
2024 J jnl
CoRR
Filip Dorm, Christian Lange, Scott Loarie, Oisin Mac Aodha
2024 conf
CVPR Workshops
Salvatore Esposito, Qingshan Xu, Kacper Kania, Charlie Hewitt, Octave Mariotti, Lohit Petikam, Julien Valentin, Arno Onken, Oisin Mac Aodha
2024 J jnl
CoRR
Salvatore Esposito, Qingshan Xu, Kacper Kania, Charlie Hewitt, Octave Mariotti, Lohit Petikam, Julien Valentin, Arno Onken, Oisin Mac Aodha
2024 A* conf
NeurIPS
Edward Vendrow, Omiros Pantazis, Alexander Shepard, Gabriel J. Brostow, Kate E. Jones, Oisin Mac Aodha, Sara Beery, Grant Van Horn
2024 J jnl
CoRR
Edward Vendrow, Omiros Pantazis, Alexander Shepard, Gabriel J. Brostow, Kate E. Jones, Oisin Mac Aodha, Sara Beery, Grant Van Horn
2024 A* conf
CVPR
Octave Mariotti, Oisin Mac Aodha, Hakan Bilen
2024 conf
ECCV (55)
Bingchen Zhao, Nico Lang, Serge J. Belongie, Oisin Mac Aodha
2024 J jnl
CoRR
Bingchen Zhao, Nico Lang, Serge J. Belongie, Oisin Mac Aodha
2024 J jnl
CoRR
Neehar Kondapaneni, Markus Marks, Oisin Mac Aodha, Pietro Perona
2024 A* conf
CVPR
Mehmet Aygün, Oisin Mac Aodha
2024 J jnl
Trans. Mach. Learn. Res.
Bingchen Zhao, Quan Cui, Hao Wu, Osamu Yoshie, Cheng Yang, Oisin Mac Aodha
2024 J jnl
CoRR
Rangel Daroya, Elijah Cole, Oisin Mac Aodha, Grant Van Horn, Subhransu Maji
2023 A* conf
NeurIPS
Christian Lange, Elijah Cole, Grant Van Horn, Oisin Mac Aodha
2023 J jnl
CoRR
Christian Lange, Elijah Cole, Grant Van Horn, Oisin Mac Aodha
2023 A conf
WACV
Jamie Watson, Sara Vicente, Oisin Mac Aodha, Clément Godard, Gabriel J. Brostow, Michael Firman
2023 J jnl
CoRR
Octave Mariotti, Oisin Mac Aodha, Hakan Bilen
2023 A* conf
ICCV
Bingchen Zhao, Oisin Mac Aodha
2023 J jnl
CoRR
Bingchen Zhao, Oisin Mac Aodha
2023 J jnl
CoRR
Mehmet Aygün, Oisin Mac Aodha
2023 J jnl
CoRR
Yongshuo Zong, Oisin Mac Aodha, Timothy M. Hospedales
2023 A* conf
ICML
Elijah Cole, Grant Van Horn, Christian Lange, Alexander Shepard, Patrick Leary, Pietro Perona, Scott Loarie, Oisin Mac Aodha
2023 J jnl
CoRR
Elijah Cole, Grant Van Horn, Christian Lange, Alexander Shepard, Patrick Leary, Pietro Perona, Scott Loarie, Oisin Mac Aodha
2023 J jnl
CoRR
Nikolaos Tsagkas, Oisin Mac Aodha, Chris Xiaoxuan Lu
2023 A* conf
CVPR
Jamie Watson, Mohamed Sayed, Zawar Qureshi, Gabriel J. Brostow, Sara Vicente, Oisin Mac Aodha, Michael Firman
2023 J jnl
CoRR
Jamie Watson, Mohamed Sayed, Zawar Qureshi, Gabriel J. Brostow, Sara Vicente, Oisin Mac Aodha, Michael Firman
2023 J jnl
CoRR
Santiago Martinez Balvanera, Oisin Mac Aodha, Matthew J. Weldy, Holly Pringle, Ella Browning, Kate E. Jones
2022 A conf
BMVC
Kiyoon Kim, Davide Moltisanti, Oisin Mac Aodha, Laura Sevilla-Lara
2022 J jnl
CoRR
Kiyoon Kim, Davide Moltisanti, Oisin Mac Aodha, Laura Sevilla-Lara
2022 A conf
BMVC
Kiyoon Kim, Shreyank N. Gowda, Oisin Mac Aodha, Laura Sevilla-Lara
2022 J jnl
CoRR
Kiyoon Kim, Shreyank N. Gowda, Oisin Mac Aodha, Laura Sevilla-Lara
2022 conf
ECCV (30)
Mehmet Aygün, Oisin Mac Aodha
2022 J jnl
CoRR
Mehmet Aygün, Oisin Mac Aodha
2022 conf
ECCV (8)
Grant Van Horn, Rui Qian, Kimberly Wilber, Hartwig Adam, Oisin Mac Aodha, Serge J. Belongie
2022 J jnl
CoRR
Grant Van Horn, Rui Qian, Kimberly Wilber, Hartwig Adam, Oisin Mac Aodha, Serge J. Belongie
2022 J jnl
IEEE Trans. Pattern Anal. Mach. Intell.
Xiu-Shen Wei, Yi-Zhe Song, Oisin Mac Aodha, Jianxin Wu, Yuxin Peng, Jinhui Tang, Jian Yang, Serge J. Belongie
2022 conf
ECCV (10)
Elijah Cole, Kimberly Wilber, Grant Van Horn, Xuan Yang, Marco Fornoni, Pietro Perona, Serge J. Belongie, Andrew G. Howard, Oisin Mac Aodha
2022 J jnl
CoRR
Elijah Cole, Kimberly Wilber, Grant Van Horn, Xuan Yang, Marco Fornoni, Pietro Perona, Serge J. Belongie, Andrew G. Howard, Oisin Mac Aodha
2022 A conf
BMVC
Omiros Pantazis, Gabriel J. Brostow, Kate E. Jones, Oisin Mac Aodha
2022 J jnl
CoRR
Omiros Pantazis, Gabriel J. Brostow, Kate E. Jones, Oisin Mac Aodha
2022 A conf
BMVC
Octave Mariotti, Oisin Mac Aodha, Hakan Bilen
2022 J jnl
CoRR
Octave Mariotti, Oisin Mac Aodha, Hakan Bilen
2022 J jnl
CoRR
Octave Mariotti, Oisin Mac Aodha, Hakan Bilen
2022 conf
ECCV (25)
Neehar Kondapaneni, Pietro Perona, Oisin Mac Aodha
2022 J jnl
CoRR
Neehar Kondapaneni, Pietro Perona, Oisin Mac Aodha
2022 A* conf
CVPR
Elijah Cole, Xuan Yang, Kimberly Wilber, Oisin Mac Aodha, Serge J. Belongie
2021 A* conf
CVPR
Grant Van Horn, Elijah Cole, Sara Beery, Kimberly Wilber, Serge J. Belongie, Oisin Mac Aodha
2021 J jnl
CoRR
Grant Van Horn, Elijah Cole, Sara Beery, Kimberly Wilber, Serge J. Belongie, Oisin Mac Aodha
2021 J jnl
CoRR
Xiu-Shen Wei, Yi-Zhe Song, Oisin Mac Aodha, Jianxin Wu, Yuxin Peng, Jinhui Tang, Jian Yang, Serge J. Belongie
2021 A* conf
ICCV
Omiros Pantazis, Gabriel J. Brostow, Kate E. Jones, Oisin Mac Aodha
2021 J jnl
CoRR
Omiros Pantazis, Gabriel J. Brostow, Kate E. Jones, Oisin Mac Aodha
2021 A* conf
CVPR
Elijah Cole, Oisin Mac Aodha, Titouan Lorieul, Pietro Perona, Dan Morris, Nebojsa Jojic
2021 J jnl
CoRR
Elijah Cole, Oisin Mac Aodha, Titouan Lorieul, Pietro Perona, Dan Morris, Nebojsa Jojic
2021 A* conf
CVPR
Jamie Watson, Oisin Mac Aodha, Victor Prisacariu, Gabriel J. Brostow, Michael Firman
2021 J jnl
CoRR
Jamie Watson, Oisin Mac Aodha, Victor Prisacariu, Gabriel J. Brostow, Michael Firman
2021 A* conf
ICCV
Octave Mariotti, Oisin Mac Aodha, Hakan Bilen
2021 J jnl
CoRR
Elijah Cole, Xuan Yang, Kimberly Wilber, Oisin Mac Aodha, Serge J. Belongie
2020 J jnl
CoRR
Daniel Laumer, Nico Lang, Natalie van Doorn, Oisin Mac Aodha, Pietro Perona, Jan Dirk Wegner
2020 conf
ECCV (1)
Jamie Watson, Oisin Mac Aodha, Daniyar Turmukhambetov, Gabriel J. Brostow, Michael Firman
2020 J jnl
CoRR
Jamie Watson, Oisin Mac Aodha, Daniyar Turmukhambetov, Gabriel J. Brostow, Michael Firman
2019 A* conf
ICCV
Clément Godard, Oisin Mac Aodha, Michael Firman, Gabriel J. Brostow
2019 A* conf
ICCV
Oisin Mac Aodha, Elijah Cole, Pietro Perona
2019 J jnl
CoRR
Oisin Mac Aodha, Elijah Cole, Pietro Perona
2019 A* conf
NeurIPS
Anette Hunziker, Yuxin Chen, Oisin Mac Aodha, Manuel Gomez Rodriguez, Andreas Krause, Pietro Perona, Yisong Yue, Adish Singla
2019 J jnl
CoRR
Sara Beery, Grant Van Horn, Oisin Mac Aodha, Pietro Perona
2018 J jnl
PLoS Comput. Biol.
Oisin Mac Aodha, Rory Gibb, Kate E. Barlow, Ella Browning, Michael Firman, Robin Freeman, Briana Harder, Libby Kinsey, Gary R. Mead, Stuart E. Newson, Ivan Pandourski, Stuart Parsons, Jon Russ, Abigel Szodoray-Paradi, Farkas Szodoray-Paradi, Elena Tilova, Mark A. Girolami, Gabriel J. Brostow, Kate E. Jones
2018 A* conf
CVPR
Kun Ho Kim, Oisin Mac Aodha, Pietro Perona
2018 J jnl
CoRR
Clément Godard, Oisin Mac Aodha, Gabriel J. Brostow
2018 A conf
BMVC
Matteo Ruggero Ronchi, Oisin Mac Aodha, Robert Eng, Pietro Perona
2018 J jnl
CoRR
Matteo Ruggero Ronchi, Oisin Mac Aodha, Robert Eng, Pietro Perona
2018 A conf
AISTATS
Yuxin Chen, Oisin Mac Aodha, Shihan Su, Pietro Perona, Yisong Yue
2018 A* conf
CVPR
Oisin Mac Aodha, Shihan Su, Yuxin Chen, Pietro Perona, Yisong Yue
2018 J jnl
CoRR
Oisin Mac Aodha, Shihan Su, Yuxin Chen, Pietro Perona, Yisong Yue
2018 J jnl
CoRR
Anette Hunziker, Yuxin Chen, Oisin Mac Aodha, Manuel Gomez-Rodriguez, Andreas Krause, Pietro Perona, Yisong Yue, Adish Singla
2018 A* conf
CVPR
Grant Van Horn, Oisin Mac Aodha, Yang Song, Yin Cui, Chen Sun, Alexander Shepard, Hartwig Adam, Pietro Perona, Serge J. Belongie
2018 A* conf
NeurIPS
Yuxin Chen, Adish Singla, Oisin Mac Aodha, Pietro Perona, Yisong Yue
2018 J jnl
CoRR
Yuxin Chen, Adish Singla, Oisin Mac Aodha, Pietro Perona, Yisong Yue
2017 J jnl
CoRR
Kun Ho Kim, Oisin Mac Aodha, Pietro Perona
2017 J jnl
CoRR
Grant Van Horn, Oisin Mac Aodha, Yang Song, Alexander Shepard, Hartwig Adam, Pietro Perona, Serge J. Belongie
2017 A* conf
CVPR
Clément Godard, Oisin Mac Aodha, Gabriel J. Brostow
2016 J jnl
ACM Trans. Graph.
Tom S. F. Haines, Oisin Mac Aodha, Gabriel J. Brostow
2016 A* conf
CVPR
Michael Firman, Oisin Mac Aodha, Simon J. Julier, Gabriel J. Brostow
2016 J jnl
CoRR
Clément Godard, Oisin Mac Aodha, Gabriel J. Brostow
2015 J jnl
CoRR
Edward Johns, Oisin Mac Aodha, Gabriel J. Brostow
2015 A* conf
CVPR
Edward Johns, Oisin Mac Aodha, Gabriel J. Brostow
2015 J jnl
CoRR
Oisin Mac Aodha, Neill D. F. Campbell, Jan Kautz, Gabriel J. Brostow
2014 A* conf
CVPR
Oisin Mac Aodha, Neill D. F. Campbell, Jan Kautz, Gabriel J. Brostow
2014 B conf
ICPR
Oisin Mac Aodha, Vassilios Stathopoulos, Gabriel J. Brostow, Michael Terry, Mark A. Girolami, Kate E. Jones
2014
Oisin Mac Aodha
2013 J jnl
IEEE Trans. Pattern Anal. Mach. Intell.
Oisin Mac Aodha, Ahmad Humayun, Marc Pollefeys, Gabriel J. Brostow
2013 A* conf
ICCV
Oisin Mac Aodha, Gabriel J. Brostow
2012 conf
ECCV (3)
Oisin Mac Aodha, Neill D. F. Campbell, Arun Nair, Gabriel J. Brostow
2011 A* conf
CVPR
Ahmad Humayun, Oisin Mac Aodha, Gabriel J. Brostow
2010 A* conf
CVPR
Oisin Mac Aodha, Gabriel J. Brostow, Marc Pollefeys
2009 B conf
IEEE Congress on Evolutionary Computation
John Maher, Fearghal Morgan, Oisin Mac Aodha
docs/apk-feature-schema.md
← Index docs/apk-feature-schema.md markdown
# APK Feature Analysis — ClickHouse Schema

All tables follow the `ReplacingMergeTree()` pattern (no version column — latest
insert wins on deduplication).

**Companion schema:** `docs/apk-code-schema.md` (code-analysis tables)

---

## Table overview

| # | Table | Engine | Key |
|---|-------|--------|-----|
| 1 | `redb_apk_features` | ReplacingMergeTree | `sha256` |
| 2 | `redb_apk_components` | ReplacingMergeTree | `(sha256, component_type, class_name)` |
| 3 | `redb_apk_manifest` | ReplacingMergeTree | `sha256` |
| 4 | `redb_apk_permissions` | ReplacingMergeTree | `(sha256, permission_name)` |
| 5 | `redb_apk_signature` | ReplacingMergeTree | `sha256` |
| 6 | `redb_apk_certificates` | ReplacingMergeTree | `(sha256, certificate_thumbprint)` |
| 7 | `redb_apk_dex` | ReplacingMergeTree | `(sha256, dex_sha256)` |
| 8 | `redb_apk_dex_api_usage` | ReplacingMergeTree | `(sha256, dex_sha256, api_category)` |
| 9 | `redb_apk_resources` | ReplacingMergeTree | `(sha256, resource_path)` |
| 10 | `redb_apk_native_libs` | ReplacingMergeTree | `(sha256, lib_abi, lib_filename)` |
| 11 | `redb_apk_inconsistency_tests` | ReplacingMergeTree | `sha256` |

---

## Table 1: `redb_apk_features`

Core metadata — one row per APK.

```sql
CREATE TABLE IF NOT EXISTS redb_apk_features (
    sha256              FixedString(64),
    package_name        Nullable(String),
    app_name            Nullable(String),
    version_code        Nullable(UInt32),
    version_name        Nullable(String),
    min_sdk_version     Nullable(UInt16),
    target_sdk_version  Nullable(UInt16),
    compile_sdk_version Nullable(UInt16),
    main_activity       Nullable(String),
    is_debuggable       UInt8,
    allow_backup        UInt8,
    uses_cleartext_traffic UInt8,
    supported_abis      Array(String),
    dex_count           UInt16,
    total_dex_size      UInt64,
    total_file_count    UInt32,
    has_native_code     UInt8,
    has_assets          UInt8,
    uses_libraries      Array(String),
    earliest_content_modification Nullable(String),
    latest_content_modification   Nullable(String),
    contains_embedded_apk UInt8,
    analysis_date       DateTime64(3, 'UTC')
) ENGINE = ReplacingMergeTree()
ORDER BY sha256;
```

## Table 2: `redb_apk_components`

Manifest components — one row per component.

```sql
CREATE TABLE IF NOT EXISTS redb_apk_components (
    sha256              FixedString(64),
    component_type      LowCardinality(String),   -- 'activity', 'service', 'receiver', 'provider'
    class_name          String,
    is_exported         UInt8,
    intent_actions      Array(String),
    intent_categories   Array(String),
    analysis_date       DateTime64(3, 'UTC')
) ENGINE = ReplacingMergeTree()
ORDER BY (sha256, component_type, class_name);
```

## Table 3: `redb_apk_manifest`

Manifest summary — one row per APK.

```sql
CREATE TABLE IF NOT EXISTS redb_apk_manifest (
    sha256              FixedString(64),
    activity_count      UInt16,
    service_count       UInt16,
    receiver_count      UInt16,
    provider_count      UInt16,
    intent_filters_by_action   Array(String),
    intent_filters_by_category Array(String),
    uses_features       Array(String),
    manifest_xml        Nullable(String),
    analysis_date       DateTime64(3, 'UTC')
) ENGINE = ReplacingMergeTree()
ORDER BY sha256;
```

## Table 4: `redb_apk_permissions`

Permissions — one row per permission per APK.

```sql
CREATE TABLE IF NOT EXISTS redb_apk_permissions (
    sha256              FixedString(64),
    permission_name     String,
    protection_level    LowCardinality(String),
    is_custom           UInt8,
    analysis_date       DateTime64(3, 'UTC')
) ENGINE = ReplacingMergeTree()
ORDER BY (sha256, permission_name);
```

## Table 5: `redb_apk_signature`

Signing info — one row per APK. The `apk_signer_*` fields identify the actual
signer certificate using V3→V2→V1 priority (V2/V3: `certificates[0]` per spec;
V1: `SignerInfo.issuerAndSerialNumber` matching). Prefixed with `apk_` to
distinguish from PE/Mach-O signer fields in cross-format queries.

```sql
CREATE TABLE IF NOT EXISTS redb_apk_signature (
    sha256              FixedString(64),
    is_signed           UInt8,
    signature_scheme_versions Array(UInt8),
    number_of_certificates UInt8,
    apk_signer_subject  Nullable(String),
    apk_signer_issuer   Nullable(String),
    analysis_date       DateTime64(3, 'UTC')
) ENGINE = ReplacingMergeTree()
ORDER BY sha256;
```

## Table 6: `redb_apk_certificates`

Certificate details — one row per certificate per APK. The
`certificate_source_scheme` column tracks which signing scheme(s) the
certificate was found in (`'v1'`, `'v2'`, `'v3'`, or `'v1,v2'` when the same
certificate appears across multiple schemes).

```sql
CREATE TABLE IF NOT EXISTS redb_apk_certificates (
    sha256                    FixedString(64),
    certificate_subject       String,
    certificate_issuer        String,
    certificate_serial_number String,
    certificate_valid_from    DateTime64(3, 'UTC'),
    certificate_valid_to      DateTime64(3, 'UTC'),
    certificate_thumbprint    FixedString(40),
    certificate_algorithm     LowCardinality(String),
    key_size                  Nullable(UInt16),
    is_self_signed            UInt8,
    certificate_source_scheme LowCardinality(String),
    analysis_date             DateTime64(3, 'UTC')
) ENGINE = ReplacingMergeTree()
ORDER BY (sha256, certificate_thumbprint);
```

## Table 7: `redb_apk_dex`

DEX file analysis — one row per DEX file.

```sql
CREATE TABLE IF NOT EXISTS redb_apk_dex (
    sha256              FixedString(64),
    dex_sha256          FixedString(64),
    dex_filename        String,
    dex_tlsh            Nullable(String),
    dex_class_count     UInt32,
    dex_method_count    UInt32,
    dex_string_count    UInt32,
    dex_top_packages    String,                    -- JSON
    dex_obfuscation_indicators String,             -- JSON
    analysis_date       DateTime64(3, 'UTC')
) ENGINE = ReplacingMergeTree()
ORDER BY (sha256, dex_sha256);
```

## Table 8: `redb_apk_dex_api_usage`

DEX API usage — one row per category per DEX.

```sql
CREATE TABLE IF NOT EXISTS redb_apk_dex_api_usage (
    sha256              FixedString(64),
    dex_sha256          FixedString(64),
    api_category        LowCardinality(String),
    api_calls           Array(String),
    analysis_date       DateTime64(3, 'UTC')
) ENGINE = ReplacingMergeTree()
ORDER BY (sha256, dex_sha256, api_category);
```

## Table 9: `redb_apk_resources`

Resource inventory — one row per resource.

```sql
CREATE TABLE IF NOT EXISTS redb_apk_resources (
    sha256              FixedString(64),
    resource_path       String,
    resource_size       UInt64,
    resource_sha256     FixedString(64),
    resource_magika     LowCardinality(String),
    resource_entropy             Float32,
    is_suspicious       UInt8,
    analysis_date       DateTime64(3, 'UTC')
) ENGINE = ReplacingMergeTree()
ORDER BY (sha256, resource_path);
```

## Table 10: `redb_apk_native_libs`

Native libraries — one row per `.so` file.

```sql
CREATE TABLE IF NOT EXISTS redb_apk_native_libs (
    sha256              FixedString(64),
    lib_abi             LowCardinality(String),
    lib_filename        String,
    lib_size            UInt64,
    lib_sha256          FixedString(64),
    lib_is_known_packer UInt8,
    analysis_date       DateTime64(3, 'UTC')
) ENGINE = ReplacingMergeTree()
ORDER BY (sha256, lib_abi, lib_filename);
```

## Table 11: `redb_apk_inconsistency_tests`

Inconsistency tests — one row per APK.

```sql
CREATE TABLE IF NOT EXISTS redb_apk_inconsistency_tests (
    sha256              FixedString(64),
    test_zip_bomb                    Nullable(UInt8),
    test_zip_duplicate_entries       Nullable(UInt8),
    test_zip_path_traversal          Nullable(UInt8),
    test_zip_suspicious_timestamps   Nullable(UInt8),
    test_hidden_dex_files            Nullable(UInt8),
    test_manifest_component_mismatch Nullable(UInt8),
    test_debuggable_release          Nullable(UInt8),
    test_emulator_detection_strings  Nullable(UInt8),
    test_debugger_detection          Nullable(UInt8),
    test_root_detection              Nullable(UInt8),
    analysis_date       DateTime64(3, 'UTC')
) ENGINE = ReplacingMergeTree()
ORDER BY sha256;
```