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
id UNIANDES2_a90cd04f1d6009598c7b7aec91f7d47f
oai_identifier_str oai:repositorio.uniandes.edu.co:1992/68809
network_acronym_str UNIANDES2
network_name_str Séneca: repositorio Uniandes
repository_id_str
dc.title.none.fl_str_mv On improving analysis and testing of open- and closed-source Android Apps
title On improving analysis and testing of open- and closed-source Android Apps
spellingShingle On improving analysis and testing of open- and closed-source Android Apps
Software Engineering
Android
Testing
Software Analysis
APK
Ingeniería
title_short On improving analysis and testing of open- and closed-source Android Apps
title_full On improving analysis and testing of open- and closed-source Android Apps
title_fullStr On improving analysis and testing of open- and closed-source Android Apps
title_full_unstemmed On improving analysis and testing of open- and closed-source Android Apps
title_sort On improving analysis and testing of open- and closed-source Android Apps
dc.creator.fl_str_mv Escobar Velásquez, Camilo Andrés
dc.contributor.advisor.none.fl_str_mv Linares Vásquez, Mario
Bavota, Gabriele
dc.contributor.author.none.fl_str_mv Escobar Velásquez, Camilo Andrés
dc.contributor.jury.none.fl_str_mv Poshyvanyk, Denys
Di Penta, Massimiliano
Cardozo Álvarez, Nicolás
dc.contributor.researchgroup.es_CO.fl_str_mv TicSW
dc.subject.keyword.none.fl_str_mv Software Engineering
Android
Testing
Software Analysis
APK
topic Software Engineering
Android
Testing
Software Analysis
APK
Ingeniería
dc.subject.themes.es_CO.fl_str_mv Ingeniería
description 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.
publishDate 2023
dc.date.accessioned.none.fl_str_mv 2023-07-27T13:06:13Z
dc.date.available.none.fl_str_mv 2023-07-27T13:06:13Z
dc.date.issued.none.fl_str_mv 2023-06-30
dc.type.es_CO.fl_str_mv Trabajo de grado - Doctorado
dc.type.driver.none.fl_str_mv info:eu-repo/semantics/doctoralThesis
dc.type.version.none.fl_str_mv info:eu-repo/semantics/acceptedVersion
dc.type.coar.none.fl_str_mv http://purl.org/coar/resource_type/c_db06
dc.type.content.es_CO.fl_str_mv Text
dc.type.redcol.none.fl_str_mv https://purl.org/redcol/resource_type/TD
format http://purl.org/coar/resource_type/c_db06
status_str acceptedVersion
dc.identifier.uri.none.fl_str_mv http://hdl.handle.net/1992/68809
dc.identifier.doi.none.fl_str_mv 10.57784/1992/68809
dc.identifier.instname.es_CO.fl_str_mv instname:Universidad de los Andes
dc.identifier.reponame.es_CO.fl_str_mv reponame:Repositorio Institucional Séneca
dc.identifier.repourl.es_CO.fl_str_mv repourl:https://repositorio.uniandes.edu.co/
url http://hdl.handle.net/1992/68809
identifier_str_mv 10.57784/1992/68809
instname:Universidad de los Andes
reponame:Repositorio Institucional Séneca
repourl:https://repositorio.uniandes.edu.co/
dc.language.iso.es_CO.fl_str_mv eng
language eng
dc.rights.license.spa.fl_str_mv Attribution-NonCommercial-NoDerivatives 4.0 Internacional
dc.rights.uri.*.fl_str_mv http://creativecommons.org/licenses/by-nc-nd/4.0/
dc.rights.accessrights.spa.fl_str_mv info:eu-repo/semantics/openAccess
dc.rights.coar.spa.fl_str_mv http://purl.org/coar/access_right/c_abf2
rights_invalid_str_mv Attribution-NonCommercial-NoDerivatives 4.0 Internacional
http://creativecommons.org/licenses/by-nc-nd/4.0/
http://purl.org/coar/access_right/c_abf2
eu_rights_str_mv openAccess
dc.format.extent.es_CO.fl_str_mv 268 páginas
dc.format.mimetype.es_CO.fl_str_mv application/pdf
dc.publisher.es_CO.fl_str_mv Universidad de los Andes
dc.publisher.program.es_CO.fl_str_mv Doctorado en Ingeniería
dc.publisher.faculty.es_CO.fl_str_mv Facultad de Ingeniería
institution Universidad de los Andes
bitstream.url.fl_str_mv https://repositorio.uniandes.edu.co/bitstreams/a887be2e-0f7b-403b-b915-526f106f4abc/download
https://repositorio.uniandes.edu.co/bitstreams/cb733f6c-0bd6-4b56-b55e-dca518aa00b7/download
https://repositorio.uniandes.edu.co/bitstreams/fa8dc266-5b65-4d0a-9a3a-fd66c57f3011/download
https://repositorio.uniandes.edu.co/bitstreams/9a8786e2-5951-47f1-ab18-156de1f0678d/download
https://repositorio.uniandes.edu.co/bitstreams/4868becb-74ce-48f1-a982-203ae070c857/download
https://repositorio.uniandes.edu.co/bitstreams/828db97b-93ff-4e84-b022-e95efeecf333/download
https://repositorio.uniandes.edu.co/bitstreams/48539546-75fa-49a8-99e4-858aec627568/download
https://repositorio.uniandes.edu.co/bitstreams/24428197-f0b6-4326-b8bd-686450dc1b4d/download
bitstream.checksum.fl_str_mv 5aa5c691a1ffe97abd12c2966efcb8d6
7c242ee4628fdbfeb017e7aa5d8fd9af
e82ea2c53738253a75b9b210ff6ba973
b6ee3b8ece2a889fde69ba481ddf88d8
21334cfb6d957de8e6a74aef4d6440c8
4460e5956bc1d1639be9ae6146a50347
d52a6d7e8c9124ad29b2f990495566ef
156692330f25839c02f7cd991a7e1ce9
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositorio institucional Séneca
repository.mail.fl_str_mv adminrepositorio@uniandes.edu.co
_version_ 1812133868623364096
spelling Attribution-NonCommercial-NoDerivatives 4.0 Internacionalhttp://creativecommons.org/licenses/by-nc-nd/4.0/info:eu-repo/semantics/openAccesshttp://purl.org/coar/access_right/c_abf2Linares Vásquez, Mario3b592869-371a-4d6a-b8ef-cf4c68e1cf6e600Bavota, Gabriele0320517a-780e-4355-9fb6-2513dc90e8f6600Escobar Velásquez, Camilo Andrés70c162ac-4647-4138-b245-61666a98ecfe600Poshyvanyk, DenysDi Penta, MassimilianoCardozo Álvarez, NicolásTicSW2023-07-27T13:06:13Z2023-07-27T13:06:13Z2023-06-30http://hdl.handle.net/1992/6880910.57784/1992/68809instname:Universidad de los Andesreponame:Repositorio Institucional Sénecarepourl:https://repositorio.uniandes.edu.co/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.Doctor en IngenieríaDoctoradoAutomated Software Engineering268 páginasapplication/pdfengUniversidad de los AndesDoctorado en IngenieríaFacultad de IngenieríaOn improving analysis and testing of open- and closed-source Android AppsTrabajo de grado - Doctoradoinfo:eu-repo/semantics/doctoralThesisinfo:eu-repo/semantics/acceptedVersionhttp://purl.org/coar/resource_type/c_db06Texthttps://purl.org/redcol/resource_type/TDSoftware EngineeringAndroidTestingSoftware AnalysisAPKIngeniería201215865PublicationLICENSElicense.txtlicense.txttext/plain; charset=utf-81810https://repositorio.uniandes.edu.co/bitstreams/a887be2e-0f7b-403b-b915-526f106f4abc/download5aa5c691a1ffe97abd12c2966efcb8d6MD51TEXTmain.pdf.txtmain.pdf.txtExtracted texttext/plain593013https://repositorio.uniandes.edu.co/bitstreams/cb733f6c-0bd6-4b56-b55e-dca518aa00b7/download7c242ee4628fdbfeb017e7aa5d8fd9afMD55autorizacionTesisUniandes.pdf.txtautorizacionTesisUniandes.pdf.txtExtracted texttext/plain1152https://repositorio.uniandes.edu.co/bitstreams/fa8dc266-5b65-4d0a-9a3a-fd66c57f3011/downloade82ea2c53738253a75b9b210ff6ba973MD57THUMBNAILmain.pdf.jpgmain.pdf.jpgIM Thumbnailimage/jpeg11928https://repositorio.uniandes.edu.co/bitstreams/9a8786e2-5951-47f1-ab18-156de1f0678d/downloadb6ee3b8ece2a889fde69ba481ddf88d8MD56autorizacionTesisUniandes.pdf.jpgautorizacionTesisUniandes.pdf.jpgIM Thumbnailimage/jpeg15747https://repositorio.uniandes.edu.co/bitstreams/4868becb-74ce-48f1-a982-203ae070c857/download21334cfb6d957de8e6a74aef4d6440c8MD58CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8805https://repositorio.uniandes.edu.co/bitstreams/828db97b-93ff-4e84-b022-e95efeecf333/download4460e5956bc1d1639be9ae6146a50347MD52ORIGINALmain.pdfmain.pdfDocumento Tesis Doctoralapplication/pdf20264745https://repositorio.uniandes.edu.co/bitstreams/48539546-75fa-49a8-99e4-858aec627568/downloadd52a6d7e8c9124ad29b2f990495566efMD53autorizacionTesisUniandes.pdfautorizacionTesisUniandes.pdfHIDEapplication/pdf183237https://repositorio.uniandes.edu.co/bitstreams/24428197-f0b6-4326-b8bd-686450dc1b4d/download156692330f25839c02f7cd991a7e1ce9MD541992/68809oai:repositorio.uniandes.edu.co:1992/688092024-08-26 15:21:34.957http://creativecommons.org/licenses/by-nc-nd/4.0/open.accesshttps://repositorio.uniandes.edu.coRepositorio institucional Sénecaadminrepositorio@uniandes.edu.coWW8sIGVuIG1pIGNhbGlkYWQgZGUgYXV0b3IgZGVsIHRyYWJham8gZGUgdGVzaXMsIG1vbm9ncmFmw61hIG8gdHJhYmFqbyBkZSBncmFkbywgaGFnbyBlbnRyZWdhIGRlbCBlamVtcGxhciByZXNwZWN0aXZvIHkgZGUgc3VzIGFuZXhvcyBkZSBzZXIgZWwgY2FzbywgZW4gZm9ybWF0byBkaWdpdGFsIHkvbyBlbGVjdHLDs25pY28geSBhdXRvcml6byBhIGxhIFVuaXZlcnNpZGFkIGRlIGxvcyBBbmRlcyBwYXJhIHF1ZSByZWFsaWNlIGxhIHB1YmxpY2FjacOzbiBlbiBlbCBTaXN0ZW1hIGRlIEJpYmxpb3RlY2FzIG8gZW4gY3VhbHF1aWVyIG90cm8gc2lzdGVtYSBvIGJhc2UgZGUgZGF0b3MgcHJvcGlvIG8gYWplbm8gYSBsYSBVbml2ZXJzaWRhZCB5IHBhcmEgcXVlIGVuIGxvcyB0w6lybWlub3MgZXN0YWJsZWNpZG9zIGVuIGxhIExleSAyMyBkZSAxOTgyLCBMZXkgNDQgZGUgMTk5MywgRGVjaXNpw7NuIEFuZGluYSAzNTEgZGUgMTk5MywgRGVjcmV0byA0NjAgZGUgMTk5NSB5IGRlbcOhcyBub3JtYXMgZ2VuZXJhbGVzIHNvYnJlIGxhIG1hdGVyaWEsIHV0aWxpY2UgZW4gdG9kYXMgc3VzIGZvcm1hcywgbG9zIGRlcmVjaG9zIHBhdHJpbW9uaWFsZXMgZGUgcmVwcm9kdWNjacOzbiwgY29tdW5pY2FjacOzbiBww7pibGljYSwgdHJhbnNmb3JtYWNpw7NuIHkgZGlzdHJpYnVjacOzbiAoYWxxdWlsZXIsIHByw6lzdGFtbyBww7pibGljbyBlIGltcG9ydGFjacOzbikgcXVlIG1lIGNvcnJlc3BvbmRlbiBjb21vIGNyZWFkb3IgZGUgbGEgb2JyYSBvYmpldG8gZGVsIHByZXNlbnRlIGRvY3VtZW50by4gIAoKCkxhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gc2UgZW1pdGUgZW4gY2FsaWRhZCBkZSBhdXRvciBkZSBsYSBvYnJhIG9iamV0byBkZWwgcHJlc2VudGUgZG9jdW1lbnRvIHkgbm8gY29ycmVzcG9uZGUgYSBjZXNpw7NuIGRlIGRlcmVjaG9zLCBzaW5vIGEgbGEgYXV0b3JpemFjacOzbiBkZSB1c28gYWNhZMOpbWljbyBkZSBjb25mb3JtaWRhZCBjb24gbG8gYW50ZXJpb3JtZW50ZSBzZcOxYWxhZG8uIExhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gc2UgaGFjZSBleHRlbnNpdmEgbm8gc29sbyBhIGxhcyBmYWN1bHRhZGVzIHkgZGVyZWNob3MgZGUgdXNvIHNvYnJlIGxhIG9icmEgZW4gZm9ybWF0byBvIHNvcG9ydGUgbWF0ZXJpYWwsIHNpbm8gdGFtYmnDqW4gcGFyYSBmb3JtYXRvIGVsZWN0csOzbmljbywgeSBlbiBnZW5lcmFsIHBhcmEgY3VhbHF1aWVyIGZvcm1hdG8gY29ub2NpZG8gbyBwb3IgY29ub2Nlci4gCgoKRWwgYXV0b3IsIG1hbmlmaWVzdGEgcXVlIGxhIG9icmEgb2JqZXRvIGRlIGxhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gZXMgb3JpZ2luYWwgeSBsYSByZWFsaXrDsyBzaW4gdmlvbGFyIG8gdXN1cnBhciBkZXJlY2hvcyBkZSBhdXRvciBkZSB0ZXJjZXJvcywgcG9yIGxvIHRhbnRvLCBsYSBvYnJhIGVzIGRlIHN1IGV4Y2x1c2l2YSBhdXRvcsOtYSB5IHRpZW5lIGxhIHRpdHVsYXJpZGFkIHNvYnJlIGxhIG1pc21hLiAKCgpFbiBjYXNvIGRlIHByZXNlbnRhcnNlIGN1YWxxdWllciByZWNsYW1hY2nDs24gbyBhY2Npw7NuIHBvciBwYXJ0ZSBkZSB1biB0ZXJjZXJvIGVuIGN1YW50byBhIGxvcyBkZXJlY2hvcyBkZSBhdXRvciBzb2JyZSBsYSBvYnJhIGVuIGN1ZXN0acOzbiwgZWwgYXV0b3IgYXN1bWlyw6EgdG9kYSBsYSByZXNwb25zYWJpbGlkYWQsIHkgc2FsZHLDoSBkZSBkZWZlbnNhIGRlIGxvcyBkZXJlY2hvcyBhcXXDrSBhdXRvcml6YWRvcywgcGFyYSB0b2RvcyBsb3MgZWZlY3RvcyBsYSBVbml2ZXJzaWRhZCBhY3TDumEgY29tbyB1biB0ZXJjZXJvIGRlIGJ1ZW5hIGZlLiAKCg==