Um estudo exploratório sobre a adoção de bibliotecas de interface gráfica de usuário em projetos de software livre

Detalhes bibliográficos
Autor(a) principal: Ribeiro, Lucas Vinicius
Data de Publicação: 2021
Tipo de documento: Trabalho de conclusão de curso
Idioma: por
Título da fonte: Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT))
Texto Completo: http://repositorio.utfpr.edu.br/jspui/handle/1/31866
Resumo: Libraries are reusable software components designed to be used by anyone or any project other than the original developer of the library. Its use is important as it contributes to saving time and effort during the software development process. Research explores different aspects related to the use of software libraries, such as popularity, risks involved, evolutionary process and updates, criteria for developing good libraries, experts recommendation, among others. In the context of graphical user interfaces, a study found that 34% of the developed interfaces are supported by graphical user interface component libraries. However, despite the importance and relevance that libraries and graphical user interfaces have in software development processes, there are no studies, so far, that explore this scenario. Therefore, the objective of this research is to understand how occurs the adoption of graphical user interface libraries in open source software projects. To achieve this goal, the main user interface libraries of 6 programming languages were selected, namely C, C++, C#, Java, JavaScript and Python. Thus, regular expressions were defined for such libraries in order to identify their use in GitHub’s open source projects. Furthermore, the commits of such projects were mined in order to explore the relationship of the most popular libraries with other parts of the project’s source code. The results were statistically analyzed, having identified that the most popular libraries of their respective languages were Win32 (C), Qt (C++), WindowsForms (C#), AWT (Java), React (JavaScript) and PyQt (Python). It was also found that most of the commits that have changes in interface files using the most popular libraries, also have changes in les from other parts of the source code of the projects. Still, most of the commits observed have changes only to the project’s graphical user interface. Regarding the use of the Win32 library in C projects, it was not possible to verify whether the analyzed changes comprise the use of the library’s graphical user interface elements. Among the C++ projects that use the Qt library, it was observed that most of the changes comprise changes only in the project’s graphical user interface. For C# projects, which use the WindowsForms library, it was found that there is a low relationship between the library and other parts of the project. About Java projects, which use the AWT library, it was observed that changes involving the user interface also demand changes in other project features. As for JavaScript projects, using the React library, the results point to a relationship between user interfaces and the use of test cases. Finally, regarding Python projects, which use the PyQt library, it was found that there is a low relationship between the test library and files and the back-end of the projects.
id UTFPR-12_4c3d5ef5842e7340aedec6b5b0011399
oai_identifier_str oai:repositorio.utfpr.edu.br:1/31866
network_acronym_str UTFPR-12
network_name_str Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT))
repository_id_str
spelling Um estudo exploratório sobre a adoção de bibliotecas de interface gráfica de usuário em projetos de software livreAn exploratory study on the adoption of graphical user interface libraries in open source projectsSoftware livreInterfaces de usuário (Sistemas de computação)Componente de softwareFree computer softwareUser interfaces (Computer systems)Component softwareCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOLibraries are reusable software components designed to be used by anyone or any project other than the original developer of the library. Its use is important as it contributes to saving time and effort during the software development process. Research explores different aspects related to the use of software libraries, such as popularity, risks involved, evolutionary process and updates, criteria for developing good libraries, experts recommendation, among others. In the context of graphical user interfaces, a study found that 34% of the developed interfaces are supported by graphical user interface component libraries. However, despite the importance and relevance that libraries and graphical user interfaces have in software development processes, there are no studies, so far, that explore this scenario. Therefore, the objective of this research is to understand how occurs the adoption of graphical user interface libraries in open source software projects. To achieve this goal, the main user interface libraries of 6 programming languages were selected, namely C, C++, C#, Java, JavaScript and Python. Thus, regular expressions were defined for such libraries in order to identify their use in GitHub’s open source projects. Furthermore, the commits of such projects were mined in order to explore the relationship of the most popular libraries with other parts of the project’s source code. The results were statistically analyzed, having identified that the most popular libraries of their respective languages were Win32 (C), Qt (C++), WindowsForms (C#), AWT (Java), React (JavaScript) and PyQt (Python). It was also found that most of the commits that have changes in interface files using the most popular libraries, also have changes in les from other parts of the source code of the projects. Still, most of the commits observed have changes only to the project’s graphical user interface. Regarding the use of the Win32 library in C projects, it was not possible to verify whether the analyzed changes comprise the use of the library’s graphical user interface elements. Among the C++ projects that use the Qt library, it was observed that most of the changes comprise changes only in the project’s graphical user interface. For C# projects, which use the WindowsForms library, it was found that there is a low relationship between the library and other parts of the project. About Java projects, which use the AWT library, it was observed that changes involving the user interface also demand changes in other project features. As for JavaScript projects, using the React library, the results point to a relationship between user interfaces and the use of test cases. Finally, regarding Python projects, which use the PyQt library, it was found that there is a low relationship between the test library and files and the back-end of the projects.Bibliotecas são componentes de software reutilizáveis desenvolvidos para serem utilizados por qualquer pessoa ou projeto além do desenvolvedor original da biblioteca. Seu uso é importante por contribuir com economia de tempo e esforço durante o processo de desenvolvimento de software. Pesquisas exploram diferentes aspectos relacionados ao uso de bibliotecas de software, tais como, popularidade, riscos envolvidos, processo evolutivo e atualizações, critérios para desenvolvimento de boas bibliotecas, recomendação de experts, entre outros. No contexto das interfaces gráficas de usuário, um estudo constatou que 34% das interfaces desenvolvidas são apoiadas por bibliotecas de componentes de interface gráfica de usuário. No entanto, apesar da importância e relevância que bibliotecas e interfaces gráficas de usuário têm nos processos de desenvolvimento de software, não existem estudos, até o presente momento, que exploram este cenário. Portanto, o objetivo desta pesquisa consiste em compreender como ocorre a adoção de bibliotecas de interface gráfica de usuário em projetos de software livre. Para alcançar este objetivo, foram selecionadas as principais bibliotecas de interface de usuário de 6 linguagens de programação, sendo elas C, C++, C#, Java, JavaScript e Python. Assim, foram definidas expressões de busca para tais bibliotecas afim de identificar seu uso em projetos de software livre do GitHub. Além disso, foram minerados os commits de tais projetos afim de explorar a relação das bibliotecas mais populares com outras partes do código-fonte dos projetos. Os resultados foram analisados estatisticamente, tendo identificado que as bibliotecas mais populares de suas respectivas linguagens foram Win32 (C), Qt (C++), WindowsForms (C#), AWT (Java), React (JavaScript) e PyQt (Python). Constatou-se ainda que boa parte dos commits que possuem alterações em arquivos de interface utilizando as bibliotecas mais populares, também possuem alterações em arquivos de outras partes do código-fonte dos projetos. Ainda assim, a maioria dos commits observados compreendem alterações somente na interface gráfica de usuário do projeto. Se tratando do uso da biblioteca Win32 nos projetos C, não foi possível verificar se as alterações analisadas compreendem o uso de elementos de interface gráfica de usuário da biblioteca. Dentre os projetos C++, que utilizam a biblioteca Qt, observou-se que a maioria das alterações compreendem mudanças somente na interface gráfica de usuário do projeto. Para os projetos C#, que utilizam a biblioteca WindowsForms, descobriu-se que há baixa relação da biblioteca com outras partes do projeto. Sobre os projetos Java, que utilizam a biblioteca AWT, observou-se que alterações envolvendo a interface de usuário também demandam alterações em outras funcionalidades do projeto. Já se tratando dos projetos JavaScript, utilizando a biblioteca React, os resultados apontam para uma relação entre interfaces de usuário e uso de casos de teste. Por fim, em relação aos projetos Python, que utilizam a biblioteca PyQt, descobriu-se que existe pouca relação entre a biblioteca e arquivos de testes e do back-end dos projetos.Universidade Tecnológica Federal do ParanáCampo MouraoBrasilDepartamento Acadêmico de ComputaçãoCiência da ComputaçãoUTFPRWiese, Igor ScalianteWiese, Igor ScalianteKawamoto, André Luiz SatoshiPolato, IvaniltonRibeiro, Lucas Vinicius2023-07-24T11:55:32Z2023-07-24T11:55:32Z2021-11-10info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisapplication/pdfRIBEIRO, Lucas Vinicius. Um estudo exploratório sobre a adoção de bibliotecas de interface gráfica de usuário em projetos de software livre. 2021. Trabalho de Conclusão de Curso (Bacharelado em Ciência da Computação) - Universidade Tecnológica Federal do Paraná, Campo Mourão, 2021.http://repositorio.utfpr.edu.br/jspui/handle/1/31866porhttp://creativecommons.org/licenses/by/4.0/info:eu-repo/semantics/openAccessreponame:Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT))instname:Universidade Tecnológica Federal do Paraná (UTFPR)instacron:UTFPR2023-07-25T06:06:54Zoai:repositorio.utfpr.edu.br:1/31866Repositório InstitucionalPUBhttp://repositorio.utfpr.edu.br:8080/oai/requestriut@utfpr.edu.br || sibi@utfpr.edu.bropendoar:2023-07-25T06:06:54Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT)) - Universidade Tecnológica Federal do Paraná (UTFPR)false
dc.title.none.fl_str_mv Um estudo exploratório sobre a adoção de bibliotecas de interface gráfica de usuário em projetos de software livre
An exploratory study on the adoption of graphical user interface libraries in open source projects
title Um estudo exploratório sobre a adoção de bibliotecas de interface gráfica de usuário em projetos de software livre
spellingShingle Um estudo exploratório sobre a adoção de bibliotecas de interface gráfica de usuário em projetos de software livre
Ribeiro, Lucas Vinicius
Software livre
Interfaces de usuário (Sistemas de computação)
Componente de software
Free computer software
User interfaces (Computer systems)
Component software
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
title_short Um estudo exploratório sobre a adoção de bibliotecas de interface gráfica de usuário em projetos de software livre
title_full Um estudo exploratório sobre a adoção de bibliotecas de interface gráfica de usuário em projetos de software livre
title_fullStr Um estudo exploratório sobre a adoção de bibliotecas de interface gráfica de usuário em projetos de software livre
title_full_unstemmed Um estudo exploratório sobre a adoção de bibliotecas de interface gráfica de usuário em projetos de software livre
title_sort Um estudo exploratório sobre a adoção de bibliotecas de interface gráfica de usuário em projetos de software livre
author Ribeiro, Lucas Vinicius
author_facet Ribeiro, Lucas Vinicius
author_role author
dc.contributor.none.fl_str_mv Wiese, Igor Scaliante
Wiese, Igor Scaliante
Kawamoto, André Luiz Satoshi
Polato, Ivanilton
dc.contributor.author.fl_str_mv Ribeiro, Lucas Vinicius
dc.subject.por.fl_str_mv Software livre
Interfaces de usuário (Sistemas de computação)
Componente de software
Free computer software
User interfaces (Computer systems)
Component software
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
topic Software livre
Interfaces de usuário (Sistemas de computação)
Componente de software
Free computer software
User interfaces (Computer systems)
Component software
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
description Libraries are reusable software components designed to be used by anyone or any project other than the original developer of the library. Its use is important as it contributes to saving time and effort during the software development process. Research explores different aspects related to the use of software libraries, such as popularity, risks involved, evolutionary process and updates, criteria for developing good libraries, experts recommendation, among others. In the context of graphical user interfaces, a study found that 34% of the developed interfaces are supported by graphical user interface component libraries. However, despite the importance and relevance that libraries and graphical user interfaces have in software development processes, there are no studies, so far, that explore this scenario. Therefore, the objective of this research is to understand how occurs the adoption of graphical user interface libraries in open source software projects. To achieve this goal, the main user interface libraries of 6 programming languages were selected, namely C, C++, C#, Java, JavaScript and Python. Thus, regular expressions were defined for such libraries in order to identify their use in GitHub’s open source projects. Furthermore, the commits of such projects were mined in order to explore the relationship of the most popular libraries with other parts of the project’s source code. The results were statistically analyzed, having identified that the most popular libraries of their respective languages were Win32 (C), Qt (C++), WindowsForms (C#), AWT (Java), React (JavaScript) and PyQt (Python). It was also found that most of the commits that have changes in interface files using the most popular libraries, also have changes in les from other parts of the source code of the projects. Still, most of the commits observed have changes only to the project’s graphical user interface. Regarding the use of the Win32 library in C projects, it was not possible to verify whether the analyzed changes comprise the use of the library’s graphical user interface elements. Among the C++ projects that use the Qt library, it was observed that most of the changes comprise changes only in the project’s graphical user interface. For C# projects, which use the WindowsForms library, it was found that there is a low relationship between the library and other parts of the project. About Java projects, which use the AWT library, it was observed that changes involving the user interface also demand changes in other project features. As for JavaScript projects, using the React library, the results point to a relationship between user interfaces and the use of test cases. Finally, regarding Python projects, which use the PyQt library, it was found that there is a low relationship between the test library and files and the back-end of the projects.
publishDate 2021
dc.date.none.fl_str_mv 2021-11-10
2023-07-24T11:55:32Z
2023-07-24T11:55:32Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/bachelorThesis
format bachelorThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv RIBEIRO, Lucas Vinicius. Um estudo exploratório sobre a adoção de bibliotecas de interface gráfica de usuário em projetos de software livre. 2021. Trabalho de Conclusão de Curso (Bacharelado em Ciência da Computação) - Universidade Tecnológica Federal do Paraná, Campo Mourão, 2021.
http://repositorio.utfpr.edu.br/jspui/handle/1/31866
identifier_str_mv RIBEIRO, Lucas Vinicius. Um estudo exploratório sobre a adoção de bibliotecas de interface gráfica de usuário em projetos de software livre. 2021. Trabalho de Conclusão de Curso (Bacharelado em Ciência da Computação) - Universidade Tecnológica Federal do Paraná, Campo Mourão, 2021.
url http://repositorio.utfpr.edu.br/jspui/handle/1/31866
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv http://creativecommons.org/licenses/by/4.0/
info:eu-repo/semantics/openAccess
rights_invalid_str_mv http://creativecommons.org/licenses/by/4.0/
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidade Tecnológica Federal do Paraná
Campo Mourao
Brasil
Departamento Acadêmico de Computação
Ciência da Computação
UTFPR
publisher.none.fl_str_mv Universidade Tecnológica Federal do Paraná
Campo Mourao
Brasil
Departamento Acadêmico de Computação
Ciência da Computação
UTFPR
dc.source.none.fl_str_mv reponame:Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT))
instname:Universidade Tecnológica Federal do Paraná (UTFPR)
instacron:UTFPR
instname_str Universidade Tecnológica Federal do Paraná (UTFPR)
instacron_str UTFPR
institution UTFPR
reponame_str Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT))
collection Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT))
repository.name.fl_str_mv Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT)) - Universidade Tecnológica Federal do Paraná (UTFPR)
repository.mail.fl_str_mv riut@utfpr.edu.br || sibi@utfpr.edu.br
_version_ 1850497847093362688