Unveiling the usability of reactive programming APIs: findings, tools, and recommendations
| Ano de defesa: | 2024 |
|---|---|
| Autor(a) principal: | |
| Orientador(a): | |
| Banca de defesa: | |
| 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 |