On improving analysis and testing of open- and closed-source Android Apps

The amount of android applications available on marketplaces have an increasing trend, leading to a highly competitive environment between similar apps. To stand out, practitioners and researchers need to ensure that the development process is supported on approaches and tools that help developers t...

Full description

Autores:
Escobar Velásquez, Camilo Andrés
Tipo de recurso:
Doctoral thesis
Fecha de publicación:
2023
Institución:
Universidad de los Andes
Repositorio:
Séneca: repositorio Uniandes
Idioma:
eng
OAI Identifier:
oai:repositorio.uniandes.edu.co:1992/68809
Acceso en línea:
http://hdl.handle.net/1992/68809
Palabra clave:
Software Engineering
Android
Testing
Software Analysis
APK
Ingeniería
Rights
openAccess
License
Attribution-NonCommercial-NoDerivatives 4.0 Internacional
Description
Summary:The amount of android applications available on marketplaces have an increasing trend, leading to a highly competitive environment between similar apps. To stand out, practitioners and researchers need to ensure that the development process is supported on approaches and tools that help developers to release high quality applications frequently. This quality assurance process can be done in three main phases by preventing, identifing and fixing issues/bugs. To help in this process, a plethora of automated approaches have been proposed, exploiting the capabilities and information provided by source-code. However, practitioners and researchers work on heterogenous environments in which the access to the source code might be restricted or its not needed due to the capabilities available at working at APK level. Therefore, proposing approaches that work at both level of access (\ie source-code and APK) is required to improve the state of the art and enhance the development process. In this research, we aim on enabling the automation of software engineering tasks by (i) exploiting the knowledge available from approaches at source code level, and (ii) extending it with new approaches for closed-source apps. We focused on 4 aspects towards enhancing the quality of analysis and testing of Android apps: (i)~mutation testing, (ii)~internationalization testing, (iii)~interaction-based testing, and (iv) connectivity testing. In order to do this, we conducted a set of empirical studies, and designed and implemented approaches to enhance the aforementioned aspects at APK and source-code level.