Rakesh Patibanda

61 papers A* 9A 5B 5Misc 8Journal 15Unranked 19
YearRankTypeTitle / Venue / Authors
2026 A* conf
CHI
Nandini Pasumarthy, Mia Huong Nguyen, Ashika Ramesh Krishnan, Maria F. Montoya, Rakesh Patibanda, Jessica Danaher, Rohit Ashok Khot, Elise van den Hoven, Florian 'Floyd' Mueller
2026 A* conf
CHI
Florian 'Floyd' Mueller, Nadia Berthouze, Misha Sra, Mar González-Franco, Henning Pohl, Susanne Boll, Richard Byrne, Arthur Caetano, Masahiko Inami, Jarrod Knibbe, Per Ola Kristensson, Xiang Li, Zhuying Li, Joe Marshall, Louise Petersen Matjeka, Minna Orvokki Nygren, Rakesh Patibanda, Sara Price, Harald Reiterer, Aryan Saini, Oliver Schneider, Ambika Shahu, Phoebe O. Toups Dugas, Don Samitha Elvitigala
2026 J jnl
CoRR
Florian 'Floyd' Mueller, Nadia Bianchi-Berthouze, Misha Sra, Mar González-Franco, Henning Pohl, Susanne Boll, Richard Byrne, Arthur Caetano, Masahiko Inami, Jarrod Knibbe, Per Ola Kristensson, Xiang Li, Zhuying Li, Joe Marshall, Louise Petersen Matjeka, Minna Orvokki Nygren, Rakesh Patibanda, Sara Price, Harald Reiterer, Aryan Saini, Oliver Schneider, Ambika Shahu, Jürgen Steimle, Phoebe O. Toups Dugas, Don Samitha Elvitigala
2026 A* conf
CHI
Botao Amber Hu, Yilan Elan Tao, Rem RunGu Lin, Mingze Chai, Yuemin Huang, Rakesh Patibanda
2026 A* conf
CHI
Zhuying Li, Tianze Huang, Rakesh Patibanda, Pengfei Fang, Florian 'Floyd' Mueller
2025 conf
SportsHCI
Amanda Topaz, Maria Fernanda Montoya, Rakesh Patibanda, Josh Andres, Florian 'Floyd' Müller
2025 conf
ICDAR (3)
Sandeep Khanna, Atanu Saha, Rahul Kumar Ray, Rakesh Patibanda, Chiranjoy Chattopadhyay
2025 conf
CHI Extended Abstracts
Hongyue Wang, Jialin Deng, Dehui Kong, Ziqi Fang, Hong Luo, Nandini Pasumarthy, Rakesh Patibanda, Sasindu Abewickrema, Xiao Zoe Fang, Don Samitha Elvitigala, Florian 'Floyd' Mueller
2025 J jnl
Games Res. Pract.
Rakesh Patibanda, Chris Hill, Zhuying Li, Stephan G. Lukosch, Elise van den Hoven, Florian 'Floyd' Mueller
2025 B conf
TEI
Aryan Saini, Sabari Vs, Maria Fernanda Montoya Vega, Nathalie Overdevest, Rakesh Patibanda, Don Samitha Elvitigala, Elise van den Hoven, Florian 'Floyd' Mueller
2025 conf
CHI PLAY (Companion)
Oguz 'Oz' Buruk, Max V. Birk, Ferran Altarriba Bertran, Alena Denisova, Aakash Johry, Rakesh Patibanda, Velvet Spors, Xin Tong, Rina R. Wehbe
2025 A conf
Conference on Designing Interactive Systems
Po-Yao (Cosmos) Wang, Xiao Zoe Fang, Gabriel Ducos, Nathaniel Yung Xiang Lee, Antony Smith Loose, Rohit Rajesh, Nethmini Botheju, Eric Chen, Maria F. Montoya, Alexandra Kitson, Karen Konkoly, Rohan Sagi, Rakesh Patibanda, Nathan W. Whitmore, Mahdad Jafarzadeh Esfahani, Jialin Deng, Jiajun Bu, Martin Dresler, Don Samitha Elvitigala, Nathan Arthur Semertzidis, Florian 'Floyd' Mueller
2025 conf
UIST Adjunct
Ashlyn Doyle, Po-Yao (Cosmos) Wang, Yuchen Zheng, Rakesh Patibanda, Florian 'Floyd' Mueller
2025 J jnl
CoRR
Botao Amber Hu, Yilan Elan Tao, Rem RunGu Lin, Mingze Chai, Yuemin Huang, Rakesh Patibanda
2025 conf
CHI Extended Abstracts
Hong Luo, Tuomas Kari, Rakesh Patibanda, Maria Fernanda Montoya Vega, Josh Andres, Don Samitha Elvitigala, Florian 'Floyd' Mueller
2025 conf
CHI Extended Abstracts
Rakesh Patibanda, Aryan Saini, Xiang Li, Yuzheng Chen, Elise van den Hoven, Florian 'Floyd' Mueller
2025 A conf
Conference on Designing Interactive Systems (Companion Volume)
Hong Luo, Pengtao Zhao, Hongyue Wang, Vincent van Rheden, Rakesh Patibanda, Yizhen Wang, Yuchen Hu, Don Samitha Elvitigala, Florian 'Floyd' Mueller
2024 J jnl
Dagstuhl Reports
Nadia Bianchi-Berthouze, Mar González-Franco, Florian 'Floyd' Mueller, Misha Sra, Rakesh Patibanda
2024 conf
AHs
Rakesh Patibanda, Nathalie Overdevest, Aryan Saini, Zhuying Li, Josh Andres, Jarrod Knibbe, Elise van den Hoven, Florian 'Floyd' Mueller
2024 conf
CHI Extended Abstracts
Nathalie Overdevest, Rakesh Patibanda, Aryan Saini, Elise van den Hoven, Florian 'Floyd' Mueller
2024 A* conf
CHI
Don Samitha Elvitigala, Armagan Karahanoglu, Andrii Matviienko, Laia Turmo Vidal, Dees B. W. Postma, Michael D. Jones, Maria F. Montoya, Daniel Harrison, Lars Elbæk, Florian Daiber, Lisa Anneke Burr, Rakesh Patibanda, Paolo Buono, Perttu Hämäläinen, Robby van Delden, Regina Bernhaupt, Xipei Ren, Vincent van Rheden, Fabio Zambetta, Elise van den Hoven, Carine Lallemand, Dennis Reidsma, Florian 'Floyd' Mueller
2024 conf
CHI Extended Abstracts
Aryan Saini, Rakesh Patibanda, Nathalie Overdevest, Elise van den Hoven, Florian 'Floyd' Mueller
2024 B conf
TEI
Aryan Saini, Rakesh Patibanda, Nathalie Overdevest, Elise van den Hoven, Florian 'Floyd' Mueller
2024 A* conf
CHI
Nathan Arthur Semertzidis, Michaela Jayne Vranic-Peters, Zoe Xiao Fang, Rakesh Patibanda, Aryan Saini, Don Samitha Elvitigala, Fabio Zambetta, Florian 'Floyd' Mueller
2024 A conf
Conference on Designing Interactive Systems
Rakesh Patibanda, Nathalie Overdevest, Shreyas Nisal, Aryan Saini, Don Samitha Elvitigala, Jarrod Knibbe, Elise van den Hoven, Florian 'Floyd' Mueller
2024 J jnl
Found. Trends Hum. Comput. Interact.
Maria Fernanda Montoya Vega, Ian C. J. Smith, Christal Clashing, Rakesh Patibanda, Swamy Ananthanarayan, Sarah Jane Pell, Florian 'Floyd' Mueller
2023 conf
CHI Extended Abstracts
Zhuying Li, Tianze Huang, Rakesh Patibanda, Florian 'Floyd' Mueller
2023 J jnl
Proc. ACM Hum. Comput. Interact.
Rakesh Patibanda, Christian N. Hill, Aryan Saini, Xiang Li, Yuzheng Chen, Andrii Matviienko, Jarrod Knibbe, Elise van den Hoven, Florian 'Floyd' Mueller
2023 J jnl
CoRR
Rakesh Patibanda, Christian N. Hill, Aryan Saini, Xiang Li, Yuzheng Chen, Andrii Matviienko, Jarrod Knibbe, Elise van den Hoven, Florian 'Floyd' Mueller
2023 conf
AHs
Suranga Chandima Nanayakkara, Masahiko Inami, Florian 'Floyd' Mueller, Jochen Huber, Chitralekha Gupta, Christophe Jouffrais, Kai Kunze, Rakesh Patibanda, Samantha W. T. Chan, Moritz Alexander Messerschmidt
2023 J jnl
Proc. ACM Hum. Comput. Interact.
Maria F. Montoya, Yuyang Ji, Ryan Wee, Nathalie Overdevest, Rakesh Patibanda, Aryan Saini, Sarah Jane Pell, Florian 'Floyd' Mueller
2023 J jnl
CoRR
Rakesh Patibanda, Aryan Saini, Nathalie Overdevest, Maria F. Montoya, Xiang Li, Yuzheng Chen, Shreyas Nisal, Josh Andres, Jarrod Knibbe, Elise van den Hoven, Florian 'Floyd' Mueller
2023 J jnl
Proc. ACM Hum. Comput. Interact.
Rakesh Patibanda, Aryan Saini, Nathalie Overdevest, Maria F. Montoya, Xiang Li, Yuzheng Chen, Shreyas Nisal, Josh Andres, Jarrod Knibbe, Elise van den Hoven, Florian 'Floyd' Mueller
2023 conf
UIST (Adjunct Volume)
Aryan Saini, Srihari Sridhar, Aarushi Raheja, Rakesh Patibanda, Nathalie Overdevest, Po-Yao (Cosmos) Wang, Elise van den Hoven, Florian 'Floyd' Mueller
2023 A conf
Conference on Designing Interactive Systems
Nathalie Overdevest, Rakesh Patibanda, Aryan Saini, Elise van den Hoven, Florian 'Floyd' Mueller
2022 A conf
Conference on Designing Interactive Systems
Christal Clashing, Ian C. J. Smith, Maria Fernanda Montoya Vega, Rakesh Patibanda, Swamy Ananthanarayan, Sarah Jane Pell, Florian 'Floyd' Mueller
2022 J jnl
Proc. ACM Hum. Comput. Interact.
Nandini Pasumarthy, Rakesh Patibanda, Yi Ling (Ellie) Tai, Elise van den Hoven, Jessica Danaher, Rohit Ashok Khot
2022 J jnl
Found. Trends Hum. Comput. Interact.
Florian 'Floyd' Mueller, Nathan Arthur Semertzidis, Josh Andres, Martin Weigel, Suranga Nanayakkara, Rakesh Patibanda, Zhuying Li, Paul Strohmeier, Jarrod Knibbe, Stefan Greuter, Marianna Obrist, Pattie Maes, Dakuo Wang, Katrin Wolf, Liz Gerber, Joe Marshall, Kai Kunze, Jonathan Grudin, Harald Reiterer, Richard Byrne
2022 conf
UIST (Adjunct Volume)
Aryan Saini, Haotian Huang, Rakesh Patibanda, Nathalie Overdevest, Elise van den Hoven, Florian 'Floyd' Mueller
2022 Misc conf
CHI PLAY
Shreyas Nisal, Rakesh Patibanda, Aryan Saini, Elise van den Hoven, Florian 'Floyd' Mueller
2022 Misc conf
CHI PLAY
Rakesh Patibanda, Elise van den Hoven, Florian 'Floyd' Mueller
2022 Misc conf
CHI PLAY
Maria Fernanda Montoya Vega, Rakesh Patibanda, Christal Clashing, Sarah Jane Pell, Florian 'Floyd' Mueller
2021 Misc conf
CHI PLAY
Rakesh Patibanda, Xiang Li, Yuzheng Chen, Aryan Saini, Christian N. Hill, Elise van den Hoven, Florian 'Floyd' Mueller
2021 conf
CHI Extended Abstracts
Valdemar Danry, Pat Pataranutaporn, Adam Haar Horowitz, Paul Strohmeier, Josh Andres, Rakesh Patibanda, Zhuying Li, Takuto Nakamura, Jun Nishida, Pedro Lopes, Felipe León, Andrea Stevenson Won, Dag Svanæs, Florian 'Floyd' Mueller, Pattie Maes, Sang-won Leigh, Nathan Arthur Semertzidis
2021 A* conf
CHI
Florian 'Floyd' Mueller, Rakesh Patibanda, Richard Byrne, Zhuying Li, Yan Wang, Josh Andres, Xiang Li, Jonathan Marquez, Stefan Greuter, Jonathan Duckworth, Joe Marshall
2021 Misc conf
CHI PLAY
Xiang Li, Xiaohang Tang, Xin Tong, Rakesh Patibanda, Florian 'Floyd' Mueller, Hai-Ning Liang
2021 J jnl
CoRR
Xiang Li, Xiaohang Tang, Xin Tong, Rakesh Patibanda, Florian 'Floyd' Mueller, Hai-Ning Liang
2021 conf
CHI Extended Abstracts
Vincent van Rheden, Thomas Grah, Alexander Meschtscherjakov, Rakesh Patibanda, Wanyu Liu, Florian Daiber, Elise van den Hoven, Florian 'Floyd' Mueller
2021 conf
CHI Extended Abstracts
Nathan Arthur Semertzidis, Michaela Scary, Zoe Xiao Fang, Xinyi Wang, Rakesh Patibanda, Josh Andres, Paul Strohmeier, Kai Kunze, Pedro Lopes, Fabio Zambetta, Florian 'Floyd' Mueller
2021 conf
CHI Extended Abstracts
Xiang Li, Yuzheng Chen, Rakesh Patibanda, Florian 'Floyd' Mueller
2021 J jnl
CoRR
Xiang Li, Yuzheng Chen, Rakesh Patibanda, Florian 'Floyd' Mueller
2020 B conf
TEI
Florian 'Floyd' Mueller, Louise Matjeka, Yan Wang, Josh Andres, Zhuying Li, Jonathan Marquez, Bob Jarvis, Sebastiaan Pijnappel, Rakesh Patibanda, Rohit Ashok Khot
2020 A* conf
CHI
Joseph La Delfa, Mehmet Aydin Baytas, Rakesh Patibanda, Hazel Ngari, Rohit Ashok Khot, Florian 'Floyd' Mueller
2020 B conf
TEI
Josh Andres, m. c. schraefel, Rakesh Patibanda, Florian 'Floyd' Mueller
2020 conf
CHI Extended Abstracts
Rakesh Patibanda, Nathan Arthur Semertzidis, Michaela Scary, Joseph Nathan La Delfa, Josh Andres, Mehmet Aydin Baytas, Anna Lisa Martin-Niedecken, Paul Strohmeier, Bruno Fruchard, Sang-won Leigh, Elisa D. Mekler, Suranga Nanayakkara, Josef Wiemeyer, Nadia Berthouze, Kai Kunze, Thanassis Rikakis, Aisling Kelliher, Kevin Warwick, Elise van den Hoven, Florian 'Floyd' Mueller, Steve Mann
2020 J jnl
ACM Trans. Comput. Hum. Interact.
Fabio Zambetta, William L. Raffe, Marco Tamassia, Florian 'Floyd' Mueller, Xiaodong Li, Niels Quinten, Rakesh Patibanda, Daniel Dang, Jon Satterley
2020 B conf
TEI
Florian 'Floyd' Mueller, Tuomas Kari, Zhuying Li, Yan Wang, Yash Dhanpal Mehta, Josh Andres, Jonathan Marquez, Rakesh Patibanda
2018 Misc conf
CHI PLAY
Yash Dhanpal Mehta, Rohit Ashok Khot, Rakesh Patibanda, Florian 'Floyd' Mueller
2018 A* conf
CHI
Florian 'Floyd' Mueller, Richard Byrne, Josh Andres, Rakesh Patibanda
2018 Misc conf
CHI PLAY
Zhuying Li, Rakesh Patibanda, Felix Brandmueller, Wei Wang, Kyle Berean, Stefan Greuter, Florian 'Floyd' Mueller
2017 Misc conf
CHI PLAY
Rakesh Patibanda, Florian 'Floyd' Mueller, Matevz Leskovsek, Jonathan Duckworth
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;
```