Uppsats

MAL coverage metrics computation in Python

Kandidat-uppsats

Stockholms universitet/Institutionen för data- och systemvetenskap

Publicerad: 2026

Språk: Engelska

Sammanfattning

Meta Attack Language (MAL)is used for threat modelling and attack simulations in cybersecurity research. Structural test coverage metrics for MAL currently exist with a Java and JUnit-based implementation, with no equivalent framework based on Python. This thesis investigates whether structural test coverage metrics for MAL models can be implemented and computed automatically within a Python-based environment independent of Java and JUnit. This thesis presents a Python-based framework for automated computation of structural test coverage metrics for MAL models. The implementation supports attack-step coverage, edge coverage, and asset coverage. The framework was designed to be modular by separating model handling, test interpretation, and coverage computation. It also supports YAML scenarios, Python-based tests, and previously generated JSON reports. The framework was evaluated using representative MAL models together with deterministic attack simulations. Computed coverage results were compared against manually analysed expected outcomes to verify correctness. The implementation showed successful results of computed structural coverage metrics across all tested configurations. The results show that structural coverage analysis for MAL models can be implemented outside the Java ecosystem using Python. However, the evaluation was limited to smaller demonstration models, and defence coverage metrics were excluded due to computational complexity. Futurework should therefore focus on scalability, support for additional coverage metrics, and evaluation using larger and more complex MAL models.

Information

Lärosäte / institution
Stockholms universitet/Institutionen för data- och systemvetenskap
Publiceringsdatum
2026
Uppsatstyp
Kandidat-uppsats
Språk
Engelska

Utforska vidare

Liknande uppsatser

Uppsatser med liknande ämnen och nyckelord.