Are Multi-language Design Smells Fault-prone? An Empirical Study
Mouna Abidi, Md Saidur Rahman, Moses Openja, and Foutse Khomh

TL;DR
This study investigates the prevalence and impact of multi-language design smells in JNI systems, revealing their common occurrence and correlation with increased fault-proneness in software components.
Contribution
The paper introduces an approach to detect multi-language design smells and provides an empirical analysis of their prevalence and association with bugs in JNI projects.
Findings
33.95% of multi-language communication files contain design smells
Certain design smells are more prevalent and correlated with bugs
Design smells persist across multiple releases in JNI systems
Abstract
Nowadays, modern applications are developed using components written in different programming languages. These systems introduce several advantages. However, as the number of languages increases, so does the challenges related to the development and maintenance of these systems. In such situations, developers may introduce design smells (i.e., anti-patterns and code smells) which are symptoms of poor design and implementation choices. Design smells are defined as poor design and coding choices that can negatively impact the quality of a software program despite satisfying functional requirements. Studies on mono-language systems suggest that the presence of design smells affects code comprehension, thus making systems harder to maintain. However, these studies target only mono-language systems and do not consider the interaction between different programming languages. In this paper, we…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
