Ralf Schneider

55 papers A* 2A 1B 1C 3Misc 2Journal 17Unranked 27
YearRankTypeTitle / Venue / Authors
2025 A conf
ICS
Tapasya Patki, Barry Rountree, Torsten Wilde, Andrea Bartolini, Stephanie Brink, Esa Heiskanen, Sachin Idgunji, Matthias Maiterth, James H. Rogers, Ermal Rrapaj, Ralf Schneider, Woong Shin, Kathleen Shoga, Christian Simmendinger, Nicholas J. Wright, Zhengji Zhao
2024 J jnl
CoRR
Huan Zhou, Ralf Schneider, Sebastian Klüsener, Andreas Backhaus
2024 J jnl
CoRR
Estela Suarez, Hendryk Bockelmann, Norbert Eicker, Jan Eitzinger, Salem El Sayed, Thomas Fieseler, Martin Frank, Peter Frech, Pay Giesselmann, Daniel Hackenberg, Georg Hager, Andreas Herten, Thomas Ilsche, Bastian Koller, Erwin Laure, Cristina Manzano, Sebastian Oeste, Michael Ott, Klaus Reuter, Ralf Schneider, Kay Thust, Benedikt von St. Vieth
2024 B conf
ICPP
Qifeng Pan, Ralf Schneider
2024 conf
CLUSTER Workshops
Christian Simmendinger, Marcel Marquardt, Jan Mäder, Ralf Schneider
2024 conf
EUROCAST (2)
Walter Brenner, Ralf Schneider, Barbara Brenner
2023 conf
CoRDI
Max Schröder, Sascha Genehr, Rüdiger Köhling, Stefan Schmidt, Ralf Schneider, Sascha Spors, Gero Szepannek, Dagmar Waltemath, Frank Krüger
2020 J jnl
Parallel Comput.
Huan Zhou, José Gracia, Naweiluo Zhou, Ralf Schneider
2020 J jnl
CoRR
Huan Zhou, José Gracia, Naweiluo Zhou, Ralf Schneider
2020 J jnl
CoRR
Huan Zhou, José Gracia, Ralf Schneider
2020 conf
HCI (39)
Julian King, Ralf Schneider
2019 conf
ICPP Workshops
Huan Zhou, José Gracia, Ralf Schneider
2017 conf
CYBCONF
Sabine Goldes, Ralf Schneider, Christian M. Schweda, Jawed Zamani
2016 conf
SSIAI
Nisarg Patel, Ralf Schneider, Uwe Küster
2014 conf
FDM
Jürgen Geiser, Karl Felix Lüskow, Ralf Schneider
2013 J jnl
Int. J. Comput. Sci. Sport
Ralf Schneider, Oleksandr Kalentev, Tatyana Ivanovska, Stefan Kemnitz
2011 J jnl
J. Parallel Distributed Comput.
Oleksandr Kalentev, Abha Rai, Stefan Kemnitz, Ralf Schneider
2010 C conf
PDP
David Tskhakaya, Alejandro Soba, Ralf Schneider, Matthias Borchardt, Evren Yurtesen, Jan Westerholm
2007 J jnl
J. Comput. Phys.
David Tskhakaya, Ralf Schneider
2006 conf
MTDT
Jörg E. Vollrath, Jürg Schwizer, Marcin Gnat, Ralf Schneider, Bret Johnson
2006 C conf
Software Engineering
Ralf Schneider
2005 J jnl
Nucleic Acids Res.
Holger Maier, Stefanie Döhr, Korbinian Grote, Sean O'Keeffe, Thomas Werner, Martin Hrabé de Angelis, Ralf Schneider
2004 J jnl
Comput. Phys. Commun.
Ralf Schneider, Xavier Bonnin, Neil McTaggart, Alex M. Runov, Matthias Borchardt, Jörg Riemann, Andreas Mutzke, Konstantin Matyash, Henry Leyh, Manoj Warrier, David Coster, Wolfgang Eckstein, Renate Dohmen
2004 J jnl
Comput. Phys. Commun.
Neil McTaggart, R. Zagórski, Xavier Bonnin, Alex M. Runov, Ralf Schneider
2004 Misc conf
International Conference on Computational Science
Francesco Taccogna, Savino Longo, Mario Capitelli, Ralf Schneider
2004 J jnl
Comput. Phys. Commun.
Francesco Taccogna, Savino Longo, Mario Capitelli, Ralf Schneider
2004 J jnl
Comput. Phys. Commun.
Manoj Warrier, Ralf Schneider, Xavier Bonnin
2004 J jnl
Bioinform.
Torsten Crass, Iris Antes, Rico Basekow, Peer Bork, Christian Buning, Maik Christensen, Holger Claussen, Christian Ebeling, Peter Ernst, Valérie Gailus-Durner, Karl-Heinz Glatting, Rolf Gohla, Frank Gößling, Korbinian Grote, Karsten R. Heidtke, Alexander Herrmann, Sean O'Keeffe, O. Kießlich, Sven Kolibal, Jan O. Korbel, Thomas Lengauer, Ines Liebich, Mark van der Linden, Hannes Luz, Kathrin Meissner, Christian von Mering, Heinz-Theodor Mevissen, Hans-Werner Mewes, Holger Michael, Martin Mokrejs, Tobias Müller, Heike Pospisil, Matthias Rarey, Jens G. Reich, Ralf Schneider, Dietmar Schomburg, Steffen Schulze-Kremer, Knut Schwarzer, Ingolf Sommer, Stephan Springstubbe, Sándor Suhai, Gnanasekaran Thoppae, Martin Vingron, Jens Warfsmann, Thomas Werner, Daniel Wetzler, Edgar Wingender, Ralf Zimmer
2003 J jnl
Datenschutz und Datensicherheit
Ralf Schneider
2001 conf
GI Jahrestagung (2)
Markus Müller, Oliver Liebig, Constantin von Ridder, Karel Waisser, Ralf Schneider, Thomas Schmidt, Michael Hälsig
1999 conf
German Conference on Bioinformatics
Korbinian Grote, Ralf Schneider, Thomas Werner
1999
Ralf Schneider
1998 J jnl
J. Syst. Archit.
Christian Hochberger, Rolf Hoffmann, Ralf Schneider
1996 conf
Parcella
Ralf Schneider, Rolf Hoffmann
1996 conf
ACRI
P. Hartmann, Christian Hochberger, Rolf Hoffmann, Ralf Schneider, Klaus-Peter Völkmann
1995 conf
ACM-GIS
Thomas Brinkhoff, Hans-Peter Kriegel, Ralf Schneider, A. Braun
1994 conf
SIGMOD Conference
Thomas Brinkhoff, Hans-Peter Kriegel, Ralf Schneider, Bernhard Seeger
1994 conf
SIGMOD Conference
Thomas Brinkhoff, Hans-Peter Kriegel, Ralf Schneider, Bernhard Seeger
1993 conf
SSD
Thomas Brinkhoff, Holger Horn, Hans-Peter Kriegel, Ralf Schneider
1993 A* conf
ICDE
Thomas Brinkhoff, Hans-Peter Kriegel, Ralf Schneider
1993 J jnl
IEEE Data Eng. Bull.
Hans-Peter Kriegel, Thomas Brinkhoff, Ralf Schneider
1993 Misc conf
BTW
Thomas Brinkhoff, Holger Horn, Hans-Peter Kriegel, Ralf Schneider
1993 book
Ralf Schneider
1993 conf
BDA
Hans-Peter Kriegel, Ralf Schneider, Thomas Brinkhoff
1992 conf
Data Structures and Efficient Algorithms
Hans-Peter Kriegel, Peter Heep, Stephan Heep, Michael Schiwietz, Ralf Schneider
1992 conf
Data Structures and Efficient Algorithms
Hans-Peter Kriegel, Thomas Brinkhoff, Ralf Schneider
1991 C conf
DEXA
Hans-Peter Kriegel, Peter Heep, Stephan Heep, Michael Schiwietz, Ralf Schneider
1991 conf
SSD
Hans-Peter Kriegel, Thomas Brinkhoff, Ralf Schneider
1991 A* conf
Workshop on Computational Geometry
Ralf Schneider, Hans-Peter Kriegel
1990 conf
Informatik für den Umweltschutz
Hans-Peter Kriegel, Ralf Schneider
1990 conf
Grundlagen von Datenbanken
Hans-Peter Kriegel, Peter Heep, Ralf Schneider
1990 conf
SIGMOD Conference
Norbert Beckmann, Hans-Peter Kriegel, Ralf Schneider, Bernhard Seeger
1989 conf
Grundlagen von Datenbanken
Hans-Peter Kriegel, Michael Schiwietz, Ralf Schneider, Bernhard Seeger
1989 conf
FODO
Ralf Schneider, Hans-Peter Kriegel, Bernhard Seeger, Stephan Heep
1988 conf
Non-Standard Datenbanken für Anwendungen der Graphischen Datenverarbeitung
Stephan Heep, Hans-Peter Kriegel, Ralf Schneider, Bernhard Seeger
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;
```