Demystifying Issues, Challenges, and Solutions for Multilingual Software Development
Developing a software project using multiple languages together has been a dominant practice for years. Yet it remains unclear what issues developers encounter during the development, which challenges cause the issues, and what solutions developers receive. In this paper, we aim to answer these questions via a study on developer discussions on Stack Overflow. By manually analyzing 586 highly relevant posts spanning 14 years, we observed a large variety (11 categories) of issues, dominated by those with interfacing and data handling among different languages. Behind these issues, we found that a major challenge developers faced is the diversity and complexity in multilingual code building and interoperability. Another key challenge lies in developers’ lack of particular technical background on the diverse features of various languages (e.g., threading and memory management mechanisms). Meanwhile, Stack Overflow itself served as a key source of solutions to these challenges—the majority (73%) of the posts received accepted answers eventually, and most in a week (36.5% within 24 hours and 25% in the next 6 days). Based on our findings on these issues, challenges, and solutions, we provide actionable insights and suggestions for both multi-language software researchers and developers.
Thu 18 MayDisplayed time zone: Hobart change
13:45 - 15:15 | Programming languagesDEMO - Demonstrations / Technical Track / Journal-First Papers / SEET - Software Engineering Education and Training at Meeting Room 103 Chair(s): Jean-Guy Schneider Monash University | ||
13:45 15mTalk | Demystifying Issues, Challenges, and Solutions for Multilingual Software Development Technical Track Haoran Yang Washington State University, Weile Lian Washington State University, Shaowei Wang University of Manitoba, Haipeng Cai Washington State University Pre-print | ||
14:00 15mTalk | Testability Refactoring in Pull Requests: Patterns and Trends Technical Track Pre-print | ||
14:15 15mTalk | Usability-Oriented Design of Liquid Types for Java Technical Track Catarina Gamboa CMU and LASIGE, Paulo Canelas Carnegie Mellon University, Christopher Steven Timperley Carnegie Mellon University, Alcides Fonseca University of Lisbon DOI | ||
14:30 15mTalk | A Theorem Proving Approach to Programming Language Semantics SEET - Software Engineering Education and Training Subhajit Roy IIT Kanpur | ||
14:45 7mTalk | RIdiom: Automatically Refactoring Non-idiomatic Python Code with Pythonic Idioms DEMO - Demonstrations zejun zhang Australian National University, Zhenchang Xing CSIRO’s Data61; Australian National University, Xiwei (Sherry) Xu CSIRO’s Data61, Liming Zhu CSIRO’s Data61 | ||
14:52 7mTalk | An Empirical Study of Data Constraint Implementations in Java Journal-First Papers Juan Manuel Florez CQSE America, Laura Moreno CQSE America, Zenong Zhang The University of Texas at Dallas, Shiyi Wei University of Texas at Dallas, Andrian Marcus University of Texas at Dallas | ||
14:59 7mTalk | Learning To Predict User-Defined Types Journal-First Papers Kevin Jesse University of California at Davis, USA, Prem Devanbu University of California at Davis, Anand Ashok Sawant University of California, Davis |