How myushreddy/cheyaka_tappadhu works
This is a research feature-selection and malware-classification pipeline, not an Android-app analysis tool. The implemented workflow reads a prepared feature CSV, creates rule-based labels, ranks features with mutual information, and writes a reduced dataset; a separate script evolves feature subsets and evaluates a random-forest classifier. The README describes Android permission/API extraction and adversarial testing as project capabilities, but the sampled code does not implement them. The GA script also uses a hard-coded input path. Edges reflect only the sampled scripts; unsampled subsystems are omitted.
Main entry points: ARM.py Clean and label · GA_RAM.py GA-RAM search · XY_final_dataset.csv Labeled feature set · data_sample_25k.csv App feature sample
Components 11
Feature preparation
- App feature sample
data/data_sample_25k.csv - Clean and label
src/ARM.py - Clean features
src/data/X_features_clean.csv - Rule-based labels
src/data/y_labels.csv
Feature selection
- MI ranking
src/ARM.py - Top features
src/data/X_features_optimized.csv - Labeled feature set
src/data/XY_final_dataset.csv
Model evaluation
- GA-RAM search
GA_RAM.py - Random forest
GA_RAM.py - Selected feature list
src/results/selected_features.txt
Other components
- Researcher
Connections 11
- Researcher → Clean and label: runs
src/ARM.py - Clean and label → App feature sample: reads
src/ARM.py - Clean and label → Clean features: writes
src/ARM.py - Clean and label → Rule-based labels: writes
src/ARM.py - Clean and label → MI ranking: ranks features
src/ARM.py - MI ranking → Top features: writes
src/ARM.py - MI ranking → Labeled feature set: combines features and labels
src/ARM.py - Researcher → GA-RAM search: runs
GA_RAM.py - GA-RAM search → Labeled feature set: reads
GA_RAM.py - GA-RAM search → Random forest: evaluates subsets
GA_RAM.py - GA-RAM search → Selected feature list: writes
GA_RAM.py