Majid Rastegar-Mojarad

50 papers Misc 8Journal 20Unranked 22
YearRankTypeTitle / Venue / Authors
2025 J jnl
Frontiers Artif. Intell.
Kelsie Cassell, Abiodun Ologunowa, Majid Rastegar-Mojarad, Bianca Chun, Yi-Ling Huang, Dong Wang, Nicole Cossrow
2025 J jnl
J. Am. Medical Informatics Assoc.
Ying Li, Surabhi Datta, Majid Rastegar-Mojarad, Kyeryoung Lee, Hunki Paek, Julie Glasgow, Chris Liston, Long He, Xiaoyan Wang, Yingxin Xu
2020 J jnl
Lang. Resour. Evaluation
Yanshan Wang, Naveed Afzal, Sunyang Fu, Liwei Wang, Feichen Shen, Majid Rastegar-Mojarad, Hongfang Liu
2019 J jnl
BMC Medical Informatics Decis. Mak.
Liwei Wang, Yanshan Wang, Feichen Shen, Majid Rastegar-Mojarad, Hongfang Liu
2019 J jnl
BMC Medical Informatics Decis. Mak.
Feichen Shen, Yiqing Zhao, Liwei Wang, Majid Rastegar-Mojarad, Yanshan Wang, Sijia Liu, Hongfang Liu
2019 J jnl
Database J. Biol. Databases Curation
Sumit Madan, Justyna Szostak, Ravikumar Komandur Elayavilli, Richard Tzong-Han Tsai, Mehdi Ali, Longhua Qian, Majid Rastegar-Mojarad, Julia Hoeng, Juliane Fluck
2018 J jnl
CoRR
Yanshan Wang, Sijia Liu, Naveed Afzal, Majid Rastegar-Mojarad, Liwei Wang, Feichen Shen, Paul R. Kingsbury, Hongfang Liu
2018 J jnl
J. Biomed. Informatics
Yanshan Wang, Sijia Liu, Naveed Afzal, Majid Rastegar-Mojarad, Liwei Wang, Feichen Shen, Paul R. Kingsbury, Hongfang Liu
2018 conf
BCB
Majid Rastegar-Mojarad, Sijia Liu, Yanshan Wang, Naveed Afzal, Liwei Wang, Feichen Shen, Sunyang Fu, Hongfang Liu
2018 J jnl
J. Biomed. Informatics
Yanshan Wang, Liwei Wang, Majid Rastegar-Mojarad, Sungrim Moon, Feichen Shen, Naveed Afzal, Sijia Liu, Yuqun Zeng, Saeed Mehrabi, Sunghwan Sohn, Hongfang Liu
2018 J jnl
Database J. Biol. Databases Curation
Sijia Liu, Feichen Shen, Ravikumar Komandur Elayavilli, Yanshan Wang, Majid Rastegar-Mojarad, Vipin Chaudhary, Hongfang Liu
2018 conf
ICHI Workshops
Liwei Wang, Majid Rastegar-Mojarad, Ravikumar Komandur Elayavilli, Yanshan Wang, Hongfang Liu
2018 J jnl
CoRR
Yanshan Wang, Naveed Afzal, Sunyang Fu, Liwei Wang, Feichen Shen, Majid Rastegar-Mojarad, Hongfang Liu
2018 conf
ICHI Workshops
Liwei Wang, Yanshan Wang, Feichen Shen, Majid Rastegar-Mojarad, Hongfang Liu
2018 Misc conf
AMIA
Na Hong, Andrew Wen, Majid Rastegar-Mojarad, Sunghwan Sohn, Hongfang Liu, Guoqian Jiang
2017 J jnl
Database J. Biol. Databases Curation
K. E. Ravikumar, Majid Rastegar-Mojarad, Hongfang Liu
2017 conf
CRI
Yanshan Wang, Liwei Wang, Majid Rastegar-Mojarad, Sijia Liu, Feichen Shen, Hongfang Liu
2017 conf
BCB
Yanshan Wang, Sijia Liu, Majid Rastegar-Mojarad, Liwei Wang, Feichen Shen, Fei Liu, Hongfang Liu
2017 conf
TREC
Yanshan Wang, Ravikumar Komandur Elayavilli, Majid Rastegar-Mojarad, Hongfang Liu
2017 J jnl
Database J. Biol. Databases Curation
Yanshan Wang, Majid Rastegar-Mojarad, Ravikumar Komandur Elayavilli, Hongfang Liu
2017 J jnl
Int. J. Medical Informatics
Majid Rastegar-Mojarad, Sunghwan Sohn, Liwei Wang, Feichen Shen, Troy C. Bleeker, William A. Cliby, Hongfang Liu
2017 conf
CRI
Feichen Shen, Sunghwan Sohn, Majid Rastegar-Mojarad, Sijia Liu, Joshua J. Pankratz, Michael Hatton, Nancy Sowada, Om Shrestha, Shawna Shurson, Hongfang Liu
2017 Misc conf
AMIA
Yuqun Zeng, Yanshan Wang, Feichen Shen, Sijia Liu, Liwei Wang, Majid Rastegar-Mojarad, Xusheng Liu, Hongfang Liu
2017 conf
ICHI
Majid Rastegar-Mojarad, Jenna K. Lovely, Joshua J. Pankratz, Sunghwan Sohn, Donna M. Ihrke, Amit Merchea, David W. Larson, Hongfang Liu
2016 J jnl
Database J. Biol. Databases Curation
Soheil Moosavinasab, Jeremy A. Patterson, Robert Strouse, Majid Rastegar-Mojarad, Kelly Regan, Philip R. O. Payne, Yungui Huang, Simon M. Lin
2016 Misc conf
AMIA
Dingcheng Li, Sijia Liu, Majid Rastegar-Mojarad, Yanshan Wang, Xiaodi Li, Vipin Chaudhary, Terry M. Therneau, Hongfang Liu
2016 conf
TREC
Yanshan Wang, Majid Rastegar-Mojarad, Ravikumar Komandur Elayavilli, Sijia Liu, Hongfang Liu
2016 J jnl
Database J. Biol. Databases Curation
Majid Rastegar-Mojarad, Ravikumar Komandur Elayavilli, Hongfang Liu
2016 Misc conf
AMIA
Liwei Wang, Dingcheng Li, Majid Rastegar-Mojarad, Hongfang Liu
2016 Misc conf
AMIA
Dingcheng Li, Sijia Liu, Majid Rastegar-Mojarad, Yanshan Wang, Xiaodi Li, Vipin Chaudhary, Terry M. Therneau, Hongfang Liu
2016 conf
ICBO/BioCreative
Ravikumar Komandur Elayavilli, Majid Rastegar-Mojarad, Hongfang Liu
2016 conf
BCB
Majid Rastegar-Mojarad, Ravikumar Komandur Elayavilli, Liwei Wang, Rashmi Prasad, Hongfang Liu
2016 J jnl
Database J. Biol. Databases Curation
Juliane Fluck, Sumit Madan, Sam Ansari, Alpha Tom Kodamullil, Reagon Karki, Majid Rastegar-Mojarad, Natalie L. Catlett, William Hayes, Justyna Szostak, Julia Hoeng, Manuel C. Peitsch
2015 conf
MedInfo
Dingcheng Li, Majid Rastegar-Mojarad, Yanpeng Li, Sunghwan Sohn, Saeed Mehrabi, Ravikumar Komandur Elayavilli, Yue Yu, Hongfang Liu
2015 conf
BCB
Dingcheng Li, Majid Rastegar-Mojarad, Ravikumar Komandur Elayavilli, Yanshan Wang, Saeed Mehrabi, Yue Yu, Sunghwan Sohn, Yanpeng Li, Naveed Afzal, Hongfang Liu
2015 conf
BIBM
Majid Rastegar-Mojarad, Ravikumar Komandur Elayavilli, Dingcheng Li, Rashmi Prasad, Hongfang Liu
2015 J jnl
Bioinform.
Scott J. Hebbring, Majid Rastegar-Mojarad, Zhan Ye, John Mayer, Crystal Jacobson, Simon M. Lin
2015 conf
MedInfo
Majid Rastegar-Mojarad, Ravikumar Komandur Elayavilli, Dingcheng Li, Hongfang Liu
2015 Misc conf
AMIA
Sunghwan Sohn, Majid Rastegar-Mojarad, James M. Naessens, Elizabeth B. Habermann, David W. Larson, Hongfang Liu
2015 Misc conf
AMIA
Sunghwan Sohn, Majid Rastegar-Mojarad, James M. Naessens, Elizabeth B. Habermann, David W. Larson, Hongfang Liu
2015 conf
ICHI
Yanshan Wang, Saeed Mehrabi, Majid Rastegar-Mojarad, Dingcheng Li, Hongfang Liu
2015 Misc conf
AMIA
Majid Rastegar-Mojarad, Hongfang Liu, Priya Nambisan
2015 conf
ICHI
Majid Rastegar-Mojarad, Rashmi Prasad
2015 J jnl
J. Biomed. Informatics
Serkan Ayvaz, John R. Horn, Oktie Hassanzadeh, Qian Zhu, Johann Stan, Nicholas P. Tatonetti, Santiago Vilar, Mathias Brochhausen, Matthias Samwald, Majid Rastegar-Mojarad, Michel Dumontier, Richard D. Boyce
2014 conf
BCB
Amy Webb, Aaron Albin, Zhan Ye, Majid Rastegar-Mojarad, Kun Huang, Jeffrey D. Parvin, Wolfgang Sadee, Lang Li, Simon M. Lin, Yang Xiang
2013 conf
ICACCI
Majid Rastegar-Mojarad, Brian Harrington, Steven M. Belknap
2013 J jnl
J. Biomed. Semant.
Richard D. Boyce, John R. Horn, Oktie Hassanzadeh, Anita de Waard, Jodi Schneider, Joanne S. Luciano, Majid Rastegar-Mojarad, Maria Liakata
2013 conf
MedInfo
Majid Rastegar-Mojarad, Michael E. Bales, Hong Yu
2013 conf
SemEval@NAACL-HLT
Majid Rastegar-Mojarad, Richard D. Boyce, Rashmi Prasad
2009 conf
DMIN
Majid Rastegar-Mojarad, Behrouz Minaei-Bidgoli
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;
```