A Mapping study of Language Features Improving Object-oriented Design Patterns. Flageol, W., Menaud, �., Gu�h�neuc, Y., Badri, M., & Monnier, S. Information and Software Technology (IST), 160:107222, Elsevier, August, 2023. 22 pages.
A Mapping study of Language Features Improving Object-oriented Design Patterns [pdf]Paper  abstract   bibtex   
\textbfContext: Object-Oriented Programming design patterns are well-known in the industry and taught in universities as part of software engineering curricula. Many primary studies exist on the impact of design patterns on software, in addition to secondary studies summarizing these publications. Some primary studies have proposed new language features and used them to re-implement design patterns as a way to show improvements. While secondary studies exist, they mainly focus on measuring the impact of design patterns on software. \textbfObjectives: We performed a systematic mapping study to catalogue language features in the literature claiming to improve object-oriented design patterns implementations, as well as how primary studies measure these improvements. \textbfMethods: We performed a search in three databases, yielding a total of 874 papers, from which we obtained 34 relevant papers. We extracted and studied data about the language features claiming to improve design patterns implementations, the most often cited design patterns, the measures used to assess the improvements, and the case studies and experiments with which these improvements were studied. \textbfResults: Using the results, we catalogue 18 language features claimed in the literature to improve design patterns and categorize them into paradigms. We find that some design patterns are more prevalent than others, such as Observer and Visitor. Measures related to code size, code scattering and understandability are preferred. Case studies are done in-vitro, and experiments are rare. \textbfConclusion: This catalogue is useful to identify trends and create a road map for research on language features to improve object-oriented design patterns. Considering the prevalence of design patterns, improving their implementation and adding language features to better solve their underlying concerns is an efficient way to improve object-oriented programming. We intend in the future to use this as a basis to research specific language features that may help in improving object-oriented programming.

Downloads: 0