Bienvenidos a la Iberoteca del mundo libre.
Tesis

A crowd-sourcing and heuristic approach to proguard rule generation for third party libraries and key source-code conflicts

Editorial: Universidad de Chile
Licencia: Creative Commons (by-nc-nd)
Autor(es): Suazo, Juan

Dado que las aplicaciones móviles han adquirido protagonismo en rubro de la ingeniería de software, siendo estas uno de los tipos de software más utilizados en todo el mundo, se han creado diversas herramientas para facilitar su desarrollo. Los ofuscadores son una de estas, dedicadas a la optimización, reducción y ofuscación del código de las aplicaciones. Estos ofrecen claros beneficios al minimizar el tamaño de los archivos de las aplicaciones, haciéndolas más rápidas y reduciendo la legibilidad del código para proteger la propiedad intelectual. A pesar de estas ventajas, la mayoría de las aplicaciones no utilizan ofuscadores. Esto es especialmente desconcertante en el ecosistema de Android, donde ofuscadores como ProGuard vienen incorporados y listos para su uso. Esta reticencia puede deberse a la dificultad que presenta implementar ofuscadores y mantener su código usable. Específicamente, la identificación de los conflictos entre la ofuscación y la funcionalidad del código, y la redacción de reglas de configuración para resolverlos. Estas dificultades incrementan cuando se trata de bibliotecas de terceros, ya que los desarrolladores tienen que lidiar con los conflictos provocados por código ajeno. La detección de los conflictos y la redacción de las reglas para abordarlos puede ser un proceso exhaustivo. Requiere que los desarrolladores tengan familiaridad con el código y con la sintaxis de las reglas para poder implementar ProGuard eficientemente. Esto podría disuadir a los desarrolladores de habilitar esta herramienta. Se proponen dos soluciones para generar reglas de ProGuard para una aplicación de forma automática, eliminando los obstáculos que impiden a los usuarios habilitar ProGuard. La primera es un enfoque de crowdsourcing que pretende generar reglas para las dependencias de las aplicaciones. Nuestra solución estudia el código fuente de un número considerable de aplicaciones de código abierto. Nuestro enfoque limita los esfuerzos de los desarrolladores en la implementación de la ofuscación al código con el que están familiarizados. Lo hace detectando las dependencias de una aplicación, consultando la sabiduría de la multitud para conocer las reglas utilizadas en otras aplicaciones con las mismas dependencias y aplicando heurísticas para elegir las reglas pertinentes para la aplicación. La segunda solución pretende detectar algunas de las prácticas clave, que poseen conflictos reflexivos con ProGuard, dentro del código fuente de una aplicación y redactar reglas específicas para abordarlas. Por último, observamos que la solución de reglas de dependencia es bastante precisa a la hora de decidir qué reglas debe incluir para las dependencias de una aplicación. Genera correctamente el 80\\\\% de estas reglas con un recall de 0,89.
[Santiago: 2021]

1.00 €


    Esta combinación no existe.


    Compartir:
    Esta es una vista previa de los documentos vistos recientemente por el usuario.
    Una vez que el usuario haya visto al menos un documento, este fragmento será visible.
    Documentos vistos recientemente