On the code quality of Android apps
Android is nowadays the most popular operating system in the world, not only in the realm of mobile devices, but also when considering desktop and laptop computers. The wide and rapid adoption of Android-based devices has motivated the usage of Android apps to support a broad range of daily activiti...
- Autores:
-
Mazuera Rozo, Alejandro
- Tipo de recurso:
- Doctoral thesis
- Fecha de publicación:
- 2022
- Institución:
- Universidad de los Andes
- Repositorio:
- Séneca: repositorio Uniandes
- Idioma:
- eng
- OAI Identifier:
- oai:repositorio.uniandes.edu.co:1992/60121
- Acceso en línea:
- http://hdl.handle.net/1992/60121
- Palabra clave:
- Android
Code quality
Software quality
Empirical software engineering
Ingeniería
- Rights
- openAccess
- License
- Attribution-NonCommercial-NoDerivatives 4.0 Internacional
id |
UNIANDES2_389b9e4f639515c687f6afa6fc81e16b |
---|---|
oai_identifier_str |
oai:repositorio.uniandes.edu.co:1992/60121 |
network_acronym_str |
UNIANDES2 |
network_name_str |
Séneca: repositorio Uniandes |
repository_id_str |
|
dc.title.none.fl_str_mv |
On the code quality of Android apps |
title |
On the code quality of Android apps |
spellingShingle |
On the code quality of Android apps Android Code quality Software quality Empirical software engineering Ingeniería |
title_short |
On the code quality of Android apps |
title_full |
On the code quality of Android apps |
title_fullStr |
On the code quality of Android apps |
title_full_unstemmed |
On the code quality of Android apps |
title_sort |
On the code quality of Android apps |
dc.creator.fl_str_mv |
Mazuera Rozo, Alejandro |
dc.contributor.advisor.none.fl_str_mv |
Bavota, Gabriele Linares Vásquez, Mario |
dc.contributor.author.none.fl_str_mv |
Mazuera Rozo, Alejandro |
dc.contributor.jury.none.fl_str_mv |
Hauswirth, Matthias Pautasso, Cesare Cardozo Álvarez, Nicolás Oliveto, Rocco |
dc.subject.keyword.none.fl_str_mv |
Android Code quality Software quality Empirical software engineering |
topic |
Android Code quality Software quality Empirical software engineering Ingeniería |
dc.subject.themes.es_CO.fl_str_mv |
Ingeniería |
description |
Android is nowadays the most popular operating system in the world, not only in the realm of mobile devices, but also when considering desktop and laptop computers. The wide and rapid adoption of Android-based devices has motivated the usage of Android apps to support a broad range of daily activities. This also resulted in a highly competitive market for developers, who must meet time-to-market constraints while still pursuing internal (e.g., high-quality code) and external (e.g., compelling features) quality for their apps. This translates in the need for improving developers' productivity, supporting them in development and maintenance activities. In our research, we aim at designing techniques and tools supporting Android developers in identifying code quality issues. First, we run empirical studies aimed at analyzing quality issues affecting the Android ecosystem (i.e., operating system and apps) by focusing on: (i) software vulnerabilities, meaning flaws in the software that could be exploited to violate its security policy, thus eventually causing a disruption of the confidentiality, integrity, or availability of the system in question; (ii) performance bugs, namely issues concerning suboptimal implementation choices that can negatively impact indicators such as resource utilization; and (iii) connectivity issues, particularly in contexts in which the quality of a mobile app, as perceived by users, can be negatively impacted in case of unreliable connections, and offline-first practices are not properly implemented. The empirical knowledge acquired in these investigations can be exploited to build tools able to identify code quality issues widely spread in the Android ecosystem. This led us to the building of two tools named OPIA and CONAN. The former exploits dynamic analysis to identify leaks of sensitive information in mobile apps. The latter is the first approach in the literature able to automatically identify connectivity issues affecting mobile apps. |
publishDate |
2022 |
dc.date.accessioned.none.fl_str_mv |
2022-08-25T14:05:19Z |
dc.date.available.none.fl_str_mv |
2022-08-25T14:05:19Z |
dc.date.issued.none.fl_str_mv |
2022-06-07 |
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/60121 |
dc.identifier.doi.none.fl_str_mv |
10.57784/1992/60121 |
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/60121 |
identifier_str_mv |
10.57784/1992/60121 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 |
254 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 |
dc.publisher.department.es_CO.fl_str_mv |
Departamento de Ingeniería Sistemas y Computación |
institution |
Universidad de los Andes |
bitstream.url.fl_str_mv |
https://repositorio.uniandes.edu.co/bitstreams/bcd55e05-ab4d-4f20-ba75-6b92b1e2309c/download https://repositorio.uniandes.edu.co/bitstreams/0afd1c3c-deb9-4afd-8bbf-81b015f6a020/download https://repositorio.uniandes.edu.co/bitstreams/9399281a-7ec0-4455-8bd9-9bc7bc3b25ac/download https://repositorio.uniandes.edu.co/bitstreams/4f166546-7952-4f84-aea8-530cb7524f13/download https://repositorio.uniandes.edu.co/bitstreams/92ab795c-02ac-453b-ae8f-c9499aa51931/download https://repositorio.uniandes.edu.co/bitstreams/1d7d2855-e285-4296-ba25-d30d09a793e9/download https://repositorio.uniandes.edu.co/bitstreams/19e57496-64d6-44a4-bf44-7b1765ba10b6/download https://repositorio.uniandes.edu.co/bitstreams/de6c011b-1577-4fdf-b94f-814ee3c2e911/download |
bitstream.checksum.fl_str_mv |
4460e5956bc1d1639be9ae6146a50347 e8e9d82a3e22e0282206165194ba1d4e 92f2a260b40fe0c71c8058f58a136353 5cb9014d15052d4f02ebfdd86b9b0703 80deb515dfbb623d53f436e5d85e73fa 5aa5c691a1ffe97abd12c2966efcb8d6 130765e7777d9092619aba2afc6b8590 e6fee653cbac4ccb41eaec45e0ca9582 |
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_ |
1812134050050080768 |
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_abf2Bavota, Gabriele2fa58ae4-9d6f-41f6-bfae-3a238d950c0b600Linares Vásquez, Mariovirtual::15757-1Mazuera Rozo, Alejandroda987190-2663-4d0b-8bdb-465169796603600Hauswirth, MatthiasPautasso, CesareCardozo Álvarez, NicolásOliveto, Rocco2022-08-25T14:05:19Z2022-08-25T14:05:19Z2022-06-07http://hdl.handle.net/1992/6012110.57784/1992/60121instname:Universidad de los Andesreponame:Repositorio Institucional Sénecarepourl:https://repositorio.uniandes.edu.co/Android is nowadays the most popular operating system in the world, not only in the realm of mobile devices, but also when considering desktop and laptop computers. The wide and rapid adoption of Android-based devices has motivated the usage of Android apps to support a broad range of daily activities. This also resulted in a highly competitive market for developers, who must meet time-to-market constraints while still pursuing internal (e.g., high-quality code) and external (e.g., compelling features) quality for their apps. This translates in the need for improving developers' productivity, supporting them in development and maintenance activities. In our research, we aim at designing techniques and tools supporting Android developers in identifying code quality issues. First, we run empirical studies aimed at analyzing quality issues affecting the Android ecosystem (i.e., operating system and apps) by focusing on: (i) software vulnerabilities, meaning flaws in the software that could be exploited to violate its security policy, thus eventually causing a disruption of the confidentiality, integrity, or availability of the system in question; (ii) performance bugs, namely issues concerning suboptimal implementation choices that can negatively impact indicators such as resource utilization; and (iii) connectivity issues, particularly in contexts in which the quality of a mobile app, as perceived by users, can be negatively impacted in case of unreliable connections, and offline-first practices are not properly implemented. The empirical knowledge acquired in these investigations can be exploited to build tools able to identify code quality issues widely spread in the Android ecosystem. This led us to the building of two tools named OPIA and CONAN. The former exploits dynamic analysis to identify leaks of sensitive information in mobile apps. The latter is the first approach in the literature able to automatically identify connectivity issues affecting mobile apps.Doctor en IngenieríaDoctorado254 páginasapplication/pdfengUniversidad de los AndesDoctorado en IngenieríaFacultad de IngenieríaDepartamento de Ingeniería Sistemas y ComputaciónOn the code quality of 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/TDAndroidCode qualitySoftware qualityEmpirical software engineeringIngeniería201610723Publicationhttps://scholar.google.es/citations?user=55fmMcoAAAAJvirtual::15757-10000-0003-0161-2888virtual::15757-10cbe51ff-e35a-4c3a-ad77-609b3cdfc9b2virtual::15757-10cbe51ff-e35a-4c3a-ad77-609b3cdfc9b2virtual::15757-1CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8805https://repositorio.uniandes.edu.co/bitstreams/bcd55e05-ab4d-4f20-ba75-6b92b1e2309c/download4460e5956bc1d1639be9ae6146a50347MD52THUMBNAILPhD Thesis Dissertation.pdf.jpgPhD Thesis Dissertation.pdf.jpgIM Thumbnailimage/jpeg12113https://repositorio.uniandes.edu.co/bitstreams/0afd1c3c-deb9-4afd-8bbf-81b015f6a020/downloade8e9d82a3e22e0282206165194ba1d4eMD56solicitud_biblioteca.pdf.jpgsolicitud_biblioteca.pdf.jpgIM Thumbnailimage/jpeg17157https://repositorio.uniandes.edu.co/bitstreams/9399281a-7ec0-4455-8bd9-9bc7bc3b25ac/download92f2a260b40fe0c71c8058f58a136353MD57TEXTPhD Thesis Dissertation.pdf.txtPhD Thesis Dissertation.pdf.txtExtracted texttext/plain615656https://repositorio.uniandes.edu.co/bitstreams/4f166546-7952-4f84-aea8-530cb7524f13/download5cb9014d15052d4f02ebfdd86b9b0703MD55solicitud_biblioteca.pdf.txtsolicitud_biblioteca.pdf.txtExtracted texttext/plain2047https://repositorio.uniandes.edu.co/bitstreams/92ab795c-02ac-453b-ae8f-c9499aa51931/download80deb515dfbb623d53f436e5d85e73faMD58LICENSElicense.txtlicense.txttext/plain; charset=utf-81810https://repositorio.uniandes.edu.co/bitstreams/1d7d2855-e285-4296-ba25-d30d09a793e9/download5aa5c691a1ffe97abd12c2966efcb8d6MD51ORIGINALPhD Thesis Dissertation.pdfPhD Thesis Dissertation.pdfTrabajo de gradoapplication/pdf12099396https://repositorio.uniandes.edu.co/bitstreams/19e57496-64d6-44a4-bf44-7b1765ba10b6/download130765e7777d9092619aba2afc6b8590MD53solicitud_biblioteca.pdfsolicitud_biblioteca.pdfHIDEapplication/pdf199961https://repositorio.uniandes.edu.co/bitstreams/de6c011b-1577-4fdf-b94f-814ee3c2e911/downloade6fee653cbac4ccb41eaec45e0ca9582MD541992/60121oai:repositorio.uniandes.edu.co:1992/601212024-08-26 15:26:40.462http://creativecommons.org/licenses/by-nc-nd/4.0/open.accesshttps://repositorio.uniandes.edu.coRepositorio institucional Sénecaadminrepositorio@uniandes.edu.coWW8sIGVuIG1pIGNhbGlkYWQgZGUgYXV0b3IgZGVsIHRyYWJham8gZGUgdGVzaXMsIG1vbm9ncmFmw61hIG8gdHJhYmFqbyBkZSBncmFkbywgaGFnbyBlbnRyZWdhIGRlbCBlamVtcGxhciByZXNwZWN0aXZvIHkgZGUgc3VzIGFuZXhvcyBkZSBzZXIgZWwgY2FzbywgZW4gZm9ybWF0byBkaWdpdGFsIHkvbyBlbGVjdHLDs25pY28geSBhdXRvcml6byBhIGxhIFVuaXZlcnNpZGFkIGRlIGxvcyBBbmRlcyBwYXJhIHF1ZSByZWFsaWNlIGxhIHB1YmxpY2FjacOzbiBlbiBlbCBTaXN0ZW1hIGRlIEJpYmxpb3RlY2FzIG8gZW4gY3VhbHF1aWVyIG90cm8gc2lzdGVtYSBvIGJhc2UgZGUgZGF0b3MgcHJvcGlvIG8gYWplbm8gYSBsYSBVbml2ZXJzaWRhZCB5IHBhcmEgcXVlIGVuIGxvcyB0w6lybWlub3MgZXN0YWJsZWNpZG9zIGVuIGxhIExleSAyMyBkZSAxOTgyLCBMZXkgNDQgZGUgMTk5MywgRGVjaXNpw7NuIEFuZGluYSAzNTEgZGUgMTk5MywgRGVjcmV0byA0NjAgZGUgMTk5NSB5IGRlbcOhcyBub3JtYXMgZ2VuZXJhbGVzIHNvYnJlIGxhIG1hdGVyaWEsIHV0aWxpY2UgZW4gdG9kYXMgc3VzIGZvcm1hcywgbG9zIGRlcmVjaG9zIHBhdHJpbW9uaWFsZXMgZGUgcmVwcm9kdWNjacOzbiwgY29tdW5pY2FjacOzbiBww7pibGljYSwgdHJhbnNmb3JtYWNpw7NuIHkgZGlzdHJpYnVjacOzbiAoYWxxdWlsZXIsIHByw6lzdGFtbyBww7pibGljbyBlIGltcG9ydGFjacOzbikgcXVlIG1lIGNvcnJlc3BvbmRlbiBjb21vIGNyZWFkb3IgZGUgbGEgb2JyYSBvYmpldG8gZGVsIHByZXNlbnRlIGRvY3VtZW50by4gIAoKCkxhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gc2UgZW1pdGUgZW4gY2FsaWRhZCBkZSBhdXRvciBkZSBsYSBvYnJhIG9iamV0byBkZWwgcHJlc2VudGUgZG9jdW1lbnRvIHkgbm8gY29ycmVzcG9uZGUgYSBjZXNpw7NuIGRlIGRlcmVjaG9zLCBzaW5vIGEgbGEgYXV0b3JpemFjacOzbiBkZSB1c28gYWNhZMOpbWljbyBkZSBjb25mb3JtaWRhZCBjb24gbG8gYW50ZXJpb3JtZW50ZSBzZcOxYWxhZG8uIExhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gc2UgaGFjZSBleHRlbnNpdmEgbm8gc29sbyBhIGxhcyBmYWN1bHRhZGVzIHkgZGVyZWNob3MgZGUgdXNvIHNvYnJlIGxhIG9icmEgZW4gZm9ybWF0byBvIHNvcG9ydGUgbWF0ZXJpYWwsIHNpbm8gdGFtYmnDqW4gcGFyYSBmb3JtYXRvIGVsZWN0csOzbmljbywgeSBlbiBnZW5lcmFsIHBhcmEgY3VhbHF1aWVyIGZvcm1hdG8gY29ub2NpZG8gbyBwb3IgY29ub2Nlci4gCgoKRWwgYXV0b3IsIG1hbmlmaWVzdGEgcXVlIGxhIG9icmEgb2JqZXRvIGRlIGxhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gZXMgb3JpZ2luYWwgeSBsYSByZWFsaXrDsyBzaW4gdmlvbGFyIG8gdXN1cnBhciBkZXJlY2hvcyBkZSBhdXRvciBkZSB0ZXJjZXJvcywgcG9yIGxvIHRhbnRvLCBsYSBvYnJhIGVzIGRlIHN1IGV4Y2x1c2l2YSBhdXRvcsOtYSB5IHRpZW5lIGxhIHRpdHVsYXJpZGFkIHNvYnJlIGxhIG1pc21hLiAKCgpFbiBjYXNvIGRlIHByZXNlbnRhcnNlIGN1YWxxdWllciByZWNsYW1hY2nDs24gbyBhY2Npw7NuIHBvciBwYXJ0ZSBkZSB1biB0ZXJjZXJvIGVuIGN1YW50byBhIGxvcyBkZXJlY2hvcyBkZSBhdXRvciBzb2JyZSBsYSBvYnJhIGVuIGN1ZXN0acOzbiwgZWwgYXV0b3IgYXN1bWlyw6EgdG9kYSBsYSByZXNwb25zYWJpbGlkYWQsIHkgc2FsZHLDoSBkZSBkZWZlbnNhIGRlIGxvcyBkZXJlY2hvcyBhcXXDrSBhdXRvcml6YWRvcywgcGFyYSB0b2RvcyBsb3MgZWZlY3RvcyBsYSBVbml2ZXJzaWRhZCBhY3TDumEgY29tbyB1biB0ZXJjZXJvIGRlIGJ1ZW5hIGZlLiAKCg== |