Desarrollo de una herramienta de análisis de aplicaciones Android mediante una pipeline de machine learning basada en Transformers

Barreiro Morante, Alejandro (2022). Desarrollo de una herramienta de análisis de aplicaciones Android mediante una pipeline de machine learning basada en Transformers. Proyecto Fin de Carrera / Trabajo Fin de Grado, E.T.S.I. de Sistemas Informáticos (UPM), Madrid.

Description

Title: Desarrollo de una herramienta de análisis de aplicaciones Android mediante una pipeline de machine learning basada en Transformers
Author/s:
  • Barreiro Morante, Alejandro
Contributor/s:
  • Martín García, Alejandro
Item Type: Final Project
Degree: Grado en Ingeniería del Software
Date: 14 December 2022
Subjects:
Freetext Keywords: Transformers; Android; Aprendizaje automático; Ciberseguridad; CodeT5
Faculty: E.T.S.I. de Sistemas Informáticos (UPM)
Department: Sistemas Informáticos
Creative Commons Licenses: Recognition - No derivative works - Non commercial

Full text

[img] PDF - Users in campus UPM only - Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (2MB)

Abstract

En este trabajo de fin de grado se explora el desarrollo de una herramienta de aprendizaje automático que facilita el análisis de aplicaciones Android. La herramienta se basa en una novedosa arquitectura conocida como Transformer, que ha demostrado su eficacia en múltiples campos relacionados con el modelado de secuencias. La herramienta consta de dos modelos con propósitos diferentes: el primero, un modelo de código llamado CodeT5, se encarga de resumir el código fuente de los métodos de las aplicaciones. El segundo modelo, un modelo de lenguaje natural llamado T5, se encarga de resumir las clases filtrando los resúmenes producidos por CodeT5. Para obtener el código fuente de las aplicaciones utilizaremos un conocido decompilador de Android, Jadx. Finalmente, la herramienta podrá ser accedida a través de una interfaz web construida con el framework de Python Dash. Por otra parte, este trabajo ofrece una visión general del funcionamiento y partes de la arquitectura Transformer, así como de los modelos más relevantes de Transformers para código fuente publicados y del modelo de lenguaje natural T5. Además, se realiza una revisión de las características principales de Android, plataforma en la que se ejecutan las aplicaciones analizadas. En definitiva, se demuestra que la herramienta propuesta se muestra prometedora como instrumento para analizar y resumir aplicaciones Android, aunque la calidad de los resúmenes producidos no es la ideal, presentando dificultades para comprender los elementos ofuscados derivados de la decompilación de las aplicaciones. No obstante, con la aplicación de mejores estrategias, la herramienta tiene un gran potencial futuro. Abstract: In this final degree project, we explore the development of a machine learning tool that facilitates the analysis of Android applications. The tool is based on a novel architecture known as Transformers, which has been shown to be effective in multiple fields related to sequence modeling. The tool consists of two models with different purposes: the first, a code model called CodeT5, is responsible for summarizing the source code of the methods of the Android applications. The second model, a natural language model called T5, is responsible for summarizing the classes by filtering the summaries produced by CodeT5. To obtain the source code of the applications, we use well-known Android decompiler, Jadx. The tool can be accessed through a web interface built with the Python Dash framework. In addition to the development of the tool, this work offers a general overview of the Transformer architecture and the most relevant transformer models published for source code and natural language processing. We also provide a review of the key characteristics of the Android platform, on which the analyzed applications are executed. In summary, the proposed tool shows promise as an instrument for analyzing and summarizing Android applications, although the quality of the produced summaries is not ideal, presenting difficulties in understanding obfuscated elements that are derived from the decompilation of the applications. However, with the implementation of better strategies, the tool has great potential for future use.

More information

Item ID: 72454
DC Identifier: https://oa.upm.es/72454/
OAI Identifier: oai:oa.upm.es:72454
Deposited by: Biblioteca Universitaria Campus Sur
Deposited on: 26 Jan 2023 06:48
Last Modified: 26 Jan 2023 06:48
  • Logo InvestigaM (UPM)
  • Logo GEOUP4
  • Logo Open Access
  • Open Access
  • Logo Sherpa/Romeo
    Check whether the anglo-saxon journal in which you have published an article allows you to also publish it under open access.
  • Logo Dulcinea
    Check whether the spanish journal in which you have published an article allows you to also publish it under open access.
  • Logo de Recolecta
  • Logo del Observatorio I+D+i UPM
  • Logo de OpenCourseWare UPM