Rachelle Bosua

63 papers C 4Misc 1Journal 17Unranked 40
YearRankTypeTitle / Venue / Authors
2026 J jnl
Int. J. Inf. Manag.
Rens Scheepers, Lars Mathiassen, Atif Ahmad, Rachelle Bosua, Richard L. Baskerville
2025 conf
ACIS
Rachelle Bosua, Nina Evans, Lemai Nguyen, Emilia Bellucci
2025 conf
ACIS
Diah Priharsari, Rachelle Bosua
2023 J jnl
CoRR
Carlos Andres Agudelo Serna, Rachelle Bosua, Sean B. Maynard, Atif Ahmad
2023 J jnl
CoRR
Carlos Andres Agudelo Serna, Rachelle Bosua, Atif Ahmad, Sean B. Maynard
2022 J jnl
IEEE Access
Nina Evans, Andrej Miklosik, Rachelle Bosua, Athar Mahmood Ahmed Qureshi
2022 J jnl
Comput. Law Secur. Rev.
Rachelle Bosua, Marc Cheong, Karin Clark, Damian Clifford, Simon Coghlan, Chris Culnane, Kobi Leins, Megan Richardson
2021 J jnl
Inf. Technol. People
Nyree J. Taylor, Reeva Lederman, Rachelle Bosua, Marcello La Rosa
2021 conf
BMSD
Ella E. Roubtsova, Rachelle Bosua
2020 conf
ACSW
Nwakego Ugochi Isika, Antonette Mendoza, Rachelle Bosua
2020 conf
BMSD
Ella E. Roubtsova, Rachelle Bosua
2020 C conf
HIS
Gert Folkerts, Rogier van de Wetering, Rachelle Bosua, Remko Helms
2019 conf
ECIS
Nwakego Ugochi Isika, Antonette Mendoza, Rachelle Bosua
2018 conf
ECIS
Abdulaziz Murad, Rachelle Bosua, Shanton Chang, Reeva Lederman
2018 conf
ECIS
Carlos Andres Agudelo Serna, Rachelle Bosua, Atif Ahmad, Sean B. Maynard
2018 conf
PACIS
Noreen Izza Arshad, Rachelle Bosua, Simon K. Milton
2018 conf
ACIS
Nwakego Ugochi Isika, Antonette Mendoza, Rachelle Bosua
2018 conf
ACIS
Hajar Alamri, Reeva Lederman, Rachelle Bosua
2017 conf
PACIS
Carlos Andres Agudelo Serna, Rachelle Bosua, Sean B. Maynard, Atif Ahmad
2017 Misc conf
HIC
Abdulaziz Murad, Reeva Lederman, Rachelle Bosua, Shanton Chang, John D. Wark
2017 conf
PACIS
Noreen Izza Arshad, Rachelle Bosua, Simon K. Milton, Mazlina Mehat
2017 C conf
ICIS
Rachelle Bosua, Nina Evans
2017 conf
PACIS
Abdulaziz Murad, Reeva Lederman, Rachelle Bosua, Shanton Chang, Marie Pirotta, John D. Wark
2017 conf
LINKDEM@IJCAI
Rachelle Bosua, Karin Clark, Megan Richardson, Jeb Webb
2017 conf
ECIS
Nyree J. Taylor, Reeva Lederman, Rachelle Bosua
2017 conf
ACIS
Nyree J. Taylor, Reeva Lederman, Rachelle Bosua
2017 C conf
ICIS
Carlos Andres Agudelo Serna, Rachelle Bosua, Atif Ahmad, Sean B. Maynard
2016 J jnl
CoRR
Nwakego Ugochi Isika, Antonette Mendoza, Rachelle Bosua
2016 conf
ACIS
Abdulaziz Murad, Reeva Lederman, Rachelle Bosua, Shanton Chang, John D. Wark
2016 J jnl
CoRR
Diana Wong, Rachelle Bosua, Shanton Chang, Sherah Kurnia
2016 conf
ACIS
Carlos Andres Agudelo, Rachelle Bosua, Sean B. Maynard, Atif Ahmad
2016 J jnl
J. Decis. Syst.
Rachelle Bosua, Reeva Lederman, Karen Van Zyl
2016 J jnl
Comput. Law Secur. Rev.
Xavier Caron, Rachelle Bosua, Sean B. Maynard, Atif Ahmad
2016 conf
ACIS
Nwakego Ugochi Isika, Antonette Mendoza, Rachelle Bosua
2016 J jnl
J. Decis. Syst.
Tanvir Ahamed, Reeva Lederman, Rachelle Bosua, Karin Verspoor, Wray L. Buntine, Graeme Hart
2016 J jnl
CoRR
Carlos Andres Agudelo, Rachelle Bosua, Atif Ahmad, Sean B. Maynard
2016 J jnl
CoRR
Emily Keen, Simon K. Milton, Rachelle Bosua
2015 conf
PACIS
Haifa M. Binsahl, Shanton Chang, Rachelle Bosua
2015 conf
ACIS
Diana Wong, Rachelle Bosua, Sherah Kurnia, Shanton Chang
2015 C conf
ICIS
Atif Ahmad, Heidi Tscherning, Rachelle Bosua, Rens Scheepers
2015 J jnl
Int. J. Cyber Warf. Terror.
Sohail Tamaddon, Atif Ahmad, Rachelle Bosua
2015 conf
PACIS
Sree Lekha Mekala, Antonette Mendoza, Rachelle Bosua
2014 J jnl
Comput. Secur.
Atif Ahmad, Rachelle Bosua, Rens Scheepers
2014 J jnl
J. Knowl. Manag.
Krishna Venkitachalam, Rachelle Bosua
2013 J jnl
J. Knowl. Manag.
Rachelle Bosua, Krishna Venkitachalam
2013 conf
ACIS
Nazik Alturki, Rachelle Bosua, Sherah Kurnia
2013 conf
ACIS
Diana Wong, Rachelle Bosua, Shanton Chang, Sherah Kurnia
2012 conf
ACIS
Simon K. Milton, Rachelle Bosua, Noreen Izza Arshad
2012 conf
PACIS
Rachelle Bosua, Antonette Mendoza
2012 conf
PACIS
Mohamed Imran Mohamed Ariff, Simon K. Milton, Rachelle Bosua, Rajeev Sharma
2012 conf
PACIS
Noreen Izza Arshad, Rachelle Bosua, Simon K. Milton
2012 conf
PACIS
Noreen Izza Arshad, Simon K. Milton, Rachelle Bosua
2011 conf
ACIS
Nazik Alturki, Rachelle Bosua
2011 conf
PACIS
Mohamed Imran Mohamed Ariff, Simon K. Milton, Rachelle Bosua, Rajeev Sharma
2011 conf
ECIS
Marion Zalk, Rachelle Bosua, Rajeev Sharma
2010 conf
ACIS
Noreen Izza Arshad, Rachelle Bosua, Simon K. Milton
2010 conf
ACIS
Rachelle Bosua, Antonette Mendoza
2009 conf
ACIS
Remko Helms, Rachelle Bosua, Renato Ignacio
2008 conf
ACIS
Rachelle Bosua, Antonette Mendoza
2007
Rachelle Bosua
2004 conf
ACIS
Rachelle Bosua, Rens Scheepers, Gabriele Lakomski
2002 conf
ACIS
Rachelle Bosua, Rens Scheepers
1995 conf
OOIS
Rachelle Bosua, Sjaak Brinkkemper
redb/extractors/decompiler/apk/library_filter.py
← Index redb/extractors/decompiler/apk/library_filter.py python
"""Package-based library filtering for APK DEX code analysis.

Determines whether a method belongs to a known library/framework package
and should be filtered out of content tables. This is the Android equivalent
of is_lib_or_thunk() in the Binary Ninja pipeline.
"""

import os
from typing import Dict, List


DEFAULT_LIBRARY_PREFIXES = [
    "android.",
    "androidx.",
    "com.google.android.",
    "com.google.firebase.",
    "com.google.gson.",
    "com.google.protobuf.",
    "kotlin.",
    "kotlinx.",
    "org.apache.",
    "com.squareup.",
    "io.reactivex.",
    "org.reactivestreams.",
    "com.facebook.",
    "com.crashlytics.",
    "io.fabric.",
    "org.junit.",
    "org.mockito.",
]


class LibraryFilter:
    """Filters library/framework classes from APK analysis."""

    def __init__(self, prefixes: List[str] = None):
        env_prefixes = os.getenv("APK_LIBRARY_PREFIXES")
        if env_prefixes:
            self._prefixes = [p.strip() for p in env_prefixes.split(",") if p.strip()]
        elif prefixes is not None:
            self._prefixes = prefixes
        else:
            self._prefixes = DEFAULT_LIBRARY_PREFIXES

        # Convert Dalvik-style prefixes to both formats for matching
        self._dot_prefixes = tuple(self._prefixes)

        self._stats = {"library": 0, "user": 0}

    def is_library(self, class_name: str) -> bool:
        """Check if a class belongs to a known library/framework package.

        Accepts both Java dot notation (com.example.Foo) and Dalvik
        descriptor notation (Lcom/example/Foo;).
        """
        # Normalize Dalvik descriptor to dot notation
        normalized = self._normalize_class_name(class_name)

        is_lib = normalized.startswith(self._dot_prefixes)
        if is_lib:
            self._stats["library"] += 1
        else:
            self._stats["user"] += 1
        return is_lib

    def get_filter_stats(self) -> Dict[str, int]:
        """Return counts of filtered vs. retained classes."""
        return dict(self._stats)

    @staticmethod
    def _normalize_class_name(class_name: str) -> str:
        """Convert Dalvik descriptor to dot notation.

        Lcom/example/Foo; -> com.example.Foo
        com.example.Foo -> com.example.Foo
        """
        if class_name.startswith("L") and class_name.endswith(";"):
            return class_name[1:-1].replace("/", ".")
        return class_name.replace("/", ".")