Back to Search Start Over

Embracing modern C++ features: An empirical assessment on the KDE community.

Authors :
Lucas, Walter
Carvalho, Fausto
Nunes, Rafael Campos
Bonifácio, Rodrigo
Saraiva, João
Accioly, Paola
Source :
Journal of Software: Evolution & Process. May2024, Vol. 36 Issue 5, p1-24. 24p.
Publication Year :
2024

Abstract

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. [ABSTRACT FROM AUTHOR]

Details

Language :
English
ISSN :
20477473
Volume :
36
Issue :
5
Database :
Academic Search Index
Journal :
Journal of Software: Evolution & Process
Publication Type :
Academic Journal
Accession number :
176846236
Full Text :
https://doi.org/10.1002/smr.2605