Unveiling the usability of reactive programming APIs: findings, tools, and recommendations

Detalhes bibliográficos
Ano de defesa: 2024
Autor(a) principal: LIMA, Carlos Eduardo Zimmerle de
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Tese
Tipo de acesso: Acesso aberto
Idioma: eng
Instituição de defesa: Universidade Federal de Pernambuco
UFPE
Brasil
Programa de Pos Graduacao em Ciencia da Computacao
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: https://repositorio.ufpe.br/handle/123456789/64485
Resumo: Reactive Programming (RP) has gained traction for its ability to simplify the development of event-driven and asynchronous applications. Despite its growing popularity, the usability of application programming interfaces (APIs) of RP remains a significant challenge for developers, with issues ranging from steep learning curves to inconsistent design practices (e.g., divergent number of operators and interfaces). This thesis explores the usability of RP APIs through a combination of approaches: mining studies, metrics, and user-centered evaluations. The first part of the study leverages data from GitHub and Stack Overflow to analyze how developers interact with RP APIs, identifying operators’ frequency (a common design problem) and re- curring pain points. The second part employs a mixed-method approach, combining structural, computed metrics with qualitative user study to assess API usability, employing a refined Cog- nitive Dimensions framework (CDN). Metrics are computed using our implemented tool, UAX (Usability Analyzer Experience), which embodies a set of six metrics explored in other studies. The user-centered evaluation further examines aspects like understandability, learnability, and expressiveness through task-based experiments and user feedback. Results highlight significant disparities between API design and usability, providing a clearer understanding of the real-world challenges users encounter. The thesis culminates in a set of practical recommendations for the designers, aimed at enhancing RP API usability and aligning it with users’ needs. Contributions include a comprehensive usability analysis of RP APIs, empirical findings from the open-source community, answers for recurrent problems (i.e., excessive number of operators), the UAX tool, the first appliance of a user-centered evaluation with CDN and RP, recommendations for API improvements, and a foundation for future RP usability researches. This work lays the groundwork for enhancing the developer experience in RP interfaces and contributes to the broader field of software engineering.
id UFPE_97cd2338b218efa015d4dfdacd54759f
oai_identifier_str oai:repositorio.ufpe.br:123456789/64485
network_acronym_str UFPE
network_name_str Repositório Institucional da UFPE
repository_id_str
spelling Unveiling the usability of reactive programming APIs: findings, tools, and recommendationsProgramação reativaUsabilidade de APIsMineração de repositório de softwaresAvaliação centrada no usuárioReactive Programming (RP) has gained traction for its ability to simplify the development of event-driven and asynchronous applications. Despite its growing popularity, the usability of application programming interfaces (APIs) of RP remains a significant challenge for developers, with issues ranging from steep learning curves to inconsistent design practices (e.g., divergent number of operators and interfaces). This thesis explores the usability of RP APIs through a combination of approaches: mining studies, metrics, and user-centered evaluations. The first part of the study leverages data from GitHub and Stack Overflow to analyze how developers interact with RP APIs, identifying operators’ frequency (a common design problem) and re- curring pain points. The second part employs a mixed-method approach, combining structural, computed metrics with qualitative user study to assess API usability, employing a refined Cog- nitive Dimensions framework (CDN). Metrics are computed using our implemented tool, UAX (Usability Analyzer Experience), which embodies a set of six metrics explored in other studies. The user-centered evaluation further examines aspects like understandability, learnability, and expressiveness through task-based experiments and user feedback. Results highlight significant disparities between API design and usability, providing a clearer understanding of the real-world challenges users encounter. The thesis culminates in a set of practical recommendations for the designers, aimed at enhancing RP API usability and aligning it with users’ needs. Contributions include a comprehensive usability analysis of RP APIs, empirical findings from the open-source community, answers for recurrent problems (i.e., excessive number of operators), the UAX tool, the first appliance of a user-centered evaluation with CDN and RP, recommendations for API improvements, and a foundation for future RP usability researches. This work lays the groundwork for enhancing the developer experience in RP interfaces and contributes to the broader field of software engineering.Programação Reativa (RP) vem ganhando força por sua habilidade de simplificar o de- senvolvimento de aplicações dirigidas a eventos e assíncronas. Apesar de sua crescente po- pularidade, a usabilidade de interfaces de programação de aplicativos (APIs) de RP continua sendo um desafio significativo para desenvolvedores, com problemas que vão desde curvas de aprendizado acentuadas até práticas de design inconsistentes (por exemplo, número diver- gente de operadores e interfaces). Esta tese explora a usabilidade de APIs de RP por meio de uma combinação de abordagens: estudos de mineração, métricas e avaliações centradas no usuário. A primeira parte do estudo aproveita dados do GitHub e do Stack Overflow para analisar como os desenvolvedores interagem com APIs de RP, identificando a frequência dos operadores (um problema comum de design) e pontos problemáticos recorrentes. A segunda parte emprega uma abordagem de pesquisa baseada em método misto, combinando métricas estruturais computadas com estudo qualitativo com usuários para avaliar a usabilidade das APIs, empregando uma estrutura refinada de Dimensões Cognitivas (CDN). As métricas são computadas usando nossa ferramenta implementada, UAX (Usability Analyzer Experience), que incorpora um conjunto de seis métricas exploradas em outros estudos. A avaliação cen- trada no usuário examina adicionalmente aspectos como compreensibilidade, capacidade de aprendizado e expressividade por meio de experimentos baseados em tarefas e feedbacks de usuários. Os resultados destacam disparidades significativas entre os designs das APIs e usa- bilidade, fornecendo uma compreensão mais clara dos desafios do mundo real que os usuários encontram. A tese culmina em um conjunto de recomendações práticas para os designers, vi- sando aprimorar a usabilidade das APIs de RP e alinhá-las com as necessidades dos usuários. As contribuições incluem uma análise abrangente de usabilidade de APIs de RP, descobertas em- píricas providas pela comunidade de código aberto, respostas para problemas recorrentes (i.e., número excessivo de operadores), a ferramenta UAX, a primeira aplicação de uma avaliação centrada no usuário com CDN e RP, recomendações para melhorias das APIs e uma base para futuras pesquisas de usabilidade em RP. Este trabalho estabelece fundamentos para aprimorar a experiência do desenvolvedor em interfaces de RP e contribui para o campo abrangente da engenharia de software.Universidade Federal de PernambucoUFPEBrasilPrograma de Pos Graduacao em Ciencia da ComputacaoGAMA, Kiev Santos dahttp://lattes.cnpq.br/8472465190102818http://lattes.cnpq.br/6185519785664724LIMA, Carlos Eduardo Zimmerle de2025-07-18T14:37:57Z2025-07-18T14:37:57Z2024-12-18info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisapplication/pdfLIMA. Carlos Eduardo Zimmerle de. Unveiling the usability of reactive programming APIs: findings, tools, and recommendations. Tese (Doutorado em Ciência da Computação) - Universidade Federal de Pernambuco, Recife, 2024.https://repositorio.ufpe.br/handle/123456789/64485enghttps://creativecommons.org/licenses/by-nc-nd/4.0/info:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFPEinstname:Universidade Federal de Pernambuco (UFPE)instacron:UFPE2025-07-20T17:48:54Zoai:repositorio.ufpe.br:123456789/64485Repositório InstitucionalPUBhttps://repositorio.ufpe.br/oai/requestattena@ufpe.bropendoar:22212025-07-20T17:48:54Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE)false
dc.title.none.fl_str_mv Unveiling the usability of reactive programming APIs: findings, tools, and recommendations
title Unveiling the usability of reactive programming APIs: findings, tools, and recommendations
spellingShingle Unveiling the usability of reactive programming APIs: findings, tools, and recommendations
LIMA, Carlos Eduardo Zimmerle de
Programação reativa
Usabilidade de APIs
Mineração de repositório de softwares
Avaliação centrada no usuário
title_short Unveiling the usability of reactive programming APIs: findings, tools, and recommendations
title_full Unveiling the usability of reactive programming APIs: findings, tools, and recommendations
title_fullStr Unveiling the usability of reactive programming APIs: findings, tools, and recommendations
title_full_unstemmed Unveiling the usability of reactive programming APIs: findings, tools, and recommendations
title_sort Unveiling the usability of reactive programming APIs: findings, tools, and recommendations
author LIMA, Carlos Eduardo Zimmerle de
author_facet LIMA, Carlos Eduardo Zimmerle de
author_role author
dc.contributor.none.fl_str_mv GAMA, Kiev Santos da
http://lattes.cnpq.br/8472465190102818
http://lattes.cnpq.br/6185519785664724
dc.contributor.author.fl_str_mv LIMA, Carlos Eduardo Zimmerle de
dc.subject.por.fl_str_mv Programação reativa
Usabilidade de APIs
Mineração de repositório de softwares
Avaliação centrada no usuário
topic Programação reativa
Usabilidade de APIs
Mineração de repositório de softwares
Avaliação centrada no usuário
description Reactive Programming (RP) has gained traction for its ability to simplify the development of event-driven and asynchronous applications. Despite its growing popularity, the usability of application programming interfaces (APIs) of RP remains a significant challenge for developers, with issues ranging from steep learning curves to inconsistent design practices (e.g., divergent number of operators and interfaces). This thesis explores the usability of RP APIs through a combination of approaches: mining studies, metrics, and user-centered evaluations. The first part of the study leverages data from GitHub and Stack Overflow to analyze how developers interact with RP APIs, identifying operators’ frequency (a common design problem) and re- curring pain points. The second part employs a mixed-method approach, combining structural, computed metrics with qualitative user study to assess API usability, employing a refined Cog- nitive Dimensions framework (CDN). Metrics are computed using our implemented tool, UAX (Usability Analyzer Experience), which embodies a set of six metrics explored in other studies. The user-centered evaluation further examines aspects like understandability, learnability, and expressiveness through task-based experiments and user feedback. Results highlight significant disparities between API design and usability, providing a clearer understanding of the real-world challenges users encounter. The thesis culminates in a set of practical recommendations for the designers, aimed at enhancing RP API usability and aligning it with users’ needs. Contributions include a comprehensive usability analysis of RP APIs, empirical findings from the open-source community, answers for recurrent problems (i.e., excessive number of operators), the UAX tool, the first appliance of a user-centered evaluation with CDN and RP, recommendations for API improvements, and a foundation for future RP usability researches. This work lays the groundwork for enhancing the developer experience in RP interfaces and contributes to the broader field of software engineering.
publishDate 2024
dc.date.none.fl_str_mv 2024-12-18
2025-07-18T14:37:57Z
2025-07-18T14:37:57Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/doctoralThesis
format doctoralThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv LIMA. Carlos Eduardo Zimmerle de. Unveiling the usability of reactive programming APIs: findings, tools, and recommendations. Tese (Doutorado em Ciência da Computação) - Universidade Federal de Pernambuco, Recife, 2024.
https://repositorio.ufpe.br/handle/123456789/64485
identifier_str_mv LIMA. Carlos Eduardo Zimmerle de. Unveiling the usability of reactive programming APIs: findings, tools, and recommendations. Tese (Doutorado em Ciência da Computação) - Universidade Federal de Pernambuco, Recife, 2024.
url https://repositorio.ufpe.br/handle/123456789/64485
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv https://creativecommons.org/licenses/by-nc-nd/4.0/
info:eu-repo/semantics/openAccess
rights_invalid_str_mv https://creativecommons.org/licenses/by-nc-nd/4.0/
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidade Federal de Pernambuco
UFPE
Brasil
Programa de Pos Graduacao em Ciencia da Computacao
publisher.none.fl_str_mv Universidade Federal de Pernambuco
UFPE
Brasil
Programa de Pos Graduacao em Ciencia da Computacao
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFPE
instname:Universidade Federal de Pernambuco (UFPE)
instacron:UFPE
instname_str Universidade Federal de Pernambuco (UFPE)
instacron_str UFPE
institution UFPE
reponame_str Repositório Institucional da UFPE
collection Repositório Institucional da UFPE
repository.name.fl_str_mv Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE)
repository.mail.fl_str_mv attena@ufpe.br
_version_ 1856042058044669952