Full text
![]() |
PDF
- Users in campus UPM only
- Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (2MB) |
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.
Title: | Desarrollo de una herramienta de análisis de aplicaciones Android mediante una pipeline de machine learning basada en Transformers |
---|---|
Author/s: |
|
Contributor/s: |
|
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 |
![]() |
PDF
- Users in campus UPM only
- Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (2MB) |
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.
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 |