Glossary

This glossary defines key terms and concepts used throughout TrigDroid documentation.

ADB

Android Debug Bridge. A versatile command-line tool that lets you communicate with a device.

Android Virtual Device (AVD)

An emulator configuration that represents a specific Android device.

API Level

An integer value that uniquely identifies the framework API revision offered by a version of the Android platform.

APK

Android Application Package. The file format used by Android for distribution and installation of mobile apps.

Defensive Security

Security practices focused on protecting systems and detecting threats rather than attacking them.

Dependency Injection (DI)

A design pattern where objects receive their dependencies from external sources rather than creating them internally.

Device Under Test (DUT)

The Android device or emulator being tested with TrigDroid.

Frida

A dynamic instrumentation toolkit for developers, reverse-engineers, and security researchers.

Hook

In the context of Frida, code that intercepts and potentially modifies the behavior of existing functions.

Instrumentation

The process of modifying code to monitor or alter its behavior during execution.

Malware Analysis

The process of analyzing malicious software to understand its functionality and behavior.

Mocking

Creating fake versions of real objects to simulate their behavior in a controlled way.

Orchestrator

The main component that coordinates the execution of tests and manages the overall workflow.

Package Name

A unique identifier for Android applications, typically in reverse domain notation (e.g., com.example.app).

Payload

In security testing, the malicious functionality that an application might execute under certain conditions.

Protocol

In Python typing, an interface definition that specifies the methods and attributes a class must implement.

Pydantic

A Python library that provides data validation and settings management using Python type hints.

Service Locator

A design pattern that provides a centralized registry for obtaining service instances.

SOLID Principles

Five design principles (Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, Dependency Inversion) that make software designs more understandable, flexible, and maintainable.

Test Runner

A component responsible for executing specific types of tests within the TrigDroid framework.

Trigger

An environmental condition or stimulus designed to activate potentially malicious behavior in an application.

TypeScript

A programming language developed by Microsoft that builds on JavaScript by adding static type definitions.

USB Debugging

A feature on Android devices that allows debugging via USB connection.

Architectural Terms

Application Layer

The top layer of TrigDroid’s architecture containing the main orchestrator and workflow logic.

Infrastructure Layer

The lower layer containing core services like dependency injection, logging, and configuration management.

Interface Segregation

The principle that clients should not be forced to depend on interfaces they do not use.

Inversion of Control (IoC)

A design principle where the control of object creation and management is transferred to an external container.

Public API Layer

The external interface layer that users interact with, including CLI and Python API.

Service Container

A container that manages the creation and lifecycle of service instances.

Testing Terms

Code Coverage

A measure of how much of the source code is executed during testing.

Integration Test

Tests that verify the interaction between multiple components or systems.

Mock Object

A simulated object that mimics the behavior of real objects in controlled ways.

Test Context

The environment and data required for executing a specific test.

Test Fixture

A fixed state of a set of objects used as a baseline for running tests.

Unit Test

Tests that verify the functionality of individual components in isolation.

Security Terms

Dynamic Analysis

Security analysis performed while the program is executing.

Evasion Technique

Methods used by malware to avoid detection by security systems.

Runtime Analysis

Analysis of software behavior during execution.

Sandbox

An isolated environment where potentially malicious code can be executed safely.

Static Analysis

Security analysis performed without executing the program.

Threat Detection

The process of identifying potential security threats or malicious activities.

Vulnerability Assessment

The process of identifying, quantifying, and prioritizing vulnerabilities in a system.

Android-Specific Terms

Activity

A single screen with a user interface in an Android application.

Android Manifest

An XML file that contains essential information about the application.

Broadcast Receiver

An Android component that responds to system-wide broadcast announcements.

Content Provider

An Android component that manages access to a structured set of app data.

Intent

A messaging object used to request an action from another app component.

Logcat

Android’s logging system that provides a mechanism for collecting and viewing system debug output.

Sensor Manager

Android system service that provides access to device sensors.

Service

An Android component that performs long-running operations in the background.

System Properties

Key-value pairs that store system configuration and runtime information.

Development Terms

Black

A Python code formatter that automatically formats code according to PEP 8.

Click

A Python package for creating command-line interfaces.

Continuous Integration (CI)

The practice of automatically testing code changes.

isort

A Python utility for sorting imports alphabetically.

Makefile

A file containing a set of directives for building and managing projects.

MyPy

A static type checker for Python.

pytest

A Python testing framework.

Read the Docs (RTD)

A documentation hosting platform that builds and hosts documentation.

Ruff

A fast Python linter.

Sphinx

A documentation generation tool for Python projects.

tox

A tool for testing Python packages across multiple environments.

File Formats and Extensions

.apk

Android Application Package file format.

.md

Markdown file extension for documentation.

.rst

reStructuredText file extension for Sphinx documentation.

.toml

Tom’s Obvious, Minimal Language configuration file format.

.ts

TypeScript file extension.

.yaml/.yml

YAML Ain’t Markup Language configuration file format.

Environment Variables

ANDROID_HOME

Environment variable pointing to the Android SDK installation directory.

PATH

System environment variable containing directories to search for executable files.

PYTHONPATH

Environment variable that augments the default search path for Python module files.