Multi-language Design Smells: A Backstage PerspectiveMSR - Registered Reports
Context: Multi-language systems became prevalent with technological advances. Developers opt for the combination of several programming languages to build an application. This combination allows developers to leverage the strengths of each programming language and reuse existing code. Problem: Software quality is achieved by following good practices and avoiding bad ones. Several catalogs have been formulated to document such practices. However, most of those practices are applied to a single programming language and do not consider the interaction between programming languages. Objective: We previously defined a catalog of bad practices i.e., design smells related to multi-language systems. This paper aims to provide empirical evidence on the relevance of our catalog and its impact on software quality. Method: We analysed 262 snapshots of nine open source projects to detect occurrences of multi-language design smells. We also extracted information about the developers that contributed to those systems. We plan to perform an open and a closed survey targeting software developers in general but also developers that contributed to those systems. We will survey those developers about the prevalence of those smells, their severity and their impact on software quality attributes. From our result, we will provide empirical evidence of the perception and impact of multi-language design smells. We will formulate recommendations for both developers but also researchers interested in improving the quality of multi-language systems.