Utilize este identificador para referenciar este registo: https://hdl.handle.net/1822/90046

TítuloEmbracing modern C++ features: An empirical assessment on the KDE community
Autor(es)Lucas, Walter
Carvalho, Fausto
Nunes, Rafael Campos
Bonifácio, Rodrigo
Saraiva, João
Accioly, Paola
Palavras-chaveC++ programming language
language evolution
software rejuvenation
Data2023
EditoraWiley
RevistaJournal of Software: Evolution and Process
CitaçãoLucas, W., Carvalho, F., Nunes, R. C., Bonifácio, R., Saraiva, J., & Accioly, P. (2023). Embracing modern c++ features: An empirical assessment on the kde community. Journal of Software: Evolution and Process, e2605.
Resumo(s)Similar to software systems, programming languages evolve substantially over time. Indeed, the community has more recently seen the release of new versions of mainstream languages in shorter and shorter time frames. For instance, the C++ working group has begun to release a new version of the language every 3 years, which now has a greater number of modern C++ features and improvements in modern standards (C++11, C++14, C++17, and C++ 20). Nonetheless, there is little empirical evidence on how developers are transitioning to use modern C++ constructs in legacy systems, and not understanding the trends and reasons for adopting these new modern C++ features might hinder software developers in conducting rejuvenation efforts. In this paper, we conduct an in-depth study to understand the development practices of KDE contributors to evolve their projects toward the use of modern C++ features. Our results show a trend in the widespread adoption of some modern C++ features (lambda expressions, auto-typed variables, and range-based for) in KDE community projects. We also found that developers in the KDE community are making large efforts to modernize their programs using automated tools, and we present some modernization scenarios and the benefits of adopting modern C++ features of the C++ programming language. Our results might help C++ software developers, in general, to evolve C++ legacy systems and tools builders to implement more effective tools that could help in rejuvenation efforts.
TipoArtigo
URIhttps://hdl.handle.net/1822/90046
DOI10.1002/smr.2605
e-ISSN2047-7481
Versão da editorahttps://onlinelibrary.wiley.com/doi/full/10.1002/smr.2605
Arbitragem científicayes
AcessoAcesso aberto
Aparece nas coleções:HASLab - Artigos em revistas internacionais


Partilhe no FacebookPartilhe no TwitterPartilhe no DeliciousPartilhe no LinkedInPartilhe no DiggAdicionar ao Google BookmarksPartilhe no MySpacePartilhe no Orkut
Exporte no formato BibTex mendeley Exporte no formato Endnote Adicione ao seu ORCID