Skip to main navigation Skip to search Skip to main content

Multi-Language Software Development: Issues, Challenges, and Solutions

  • Washington State University
  • University of Manitoba

Research output: Contribution to journalArticlepeer-review

19 Scopus citations

Abstract

Developing software projects that incorporate multiple languages has been a prevalent practice for many years. However, the issues encountered by developers during the development process, the underlying challenges causing these issues, and the solutions provided to developers remain unknown. In this paper, our objective is to provide answers to these questions by conducting a study on developer discussions on Stack Overflow (SO). Through a manual analysis of 586 highly relevant posts spanning 14 years, we revealed that multilingual development is a highly and sustainably active topic on SO, with older questions becoming inactive and newer ones getting first asked (and then mostly remaining active for more than one year). From these posts, we observed a diverse array of issues (11 categories), primarily centered around interfacing and data handling across different languages. Our analysis suggests that error/exception handling issues were the most difficult to resolve among those issue categories, while security related issues were most likely to receive an accepted answer. The primary challenge faced by developers was the complexity and diversity inherent in building multilingual code and ensuring interoperability. Additionally, developers often struggled due to a lack of technical expertise on the varied features of different programming languages (e.g., threading and memory management mechanisms). In addition, properly handling message passing across languages constituted a key challenge with using implicit language interfacing. Notably, Stack Overflow emerged as a crucial source of solutions to these challenges, with the majority (73%) of the posts receiving accepted answers, most within a week (36.5% within 24 hours and 25% in the following six days). Based on our analysis results, we have formulated actionable insights and recommendations that can be utilized by researchers and developers in this field.

Original languageEnglish
Pages (from-to)512-533
Number of pages22
JournalIEEE Transactions on Software Engineering
Volume50
Issue number3
DOIs
StatePublished - Mar 1 2024

Keywords

  • cross-language interoperability
  • data format
  • developer discussion
  • error handling
  • language interfacing
  • Multi-language software
  • software build
  • software development issues
  • Stack Overflow

Fingerprint

Dive into the research topics of 'Multi-Language Software Development: Issues, Challenges, and Solutions'. Together they form a unique fingerprint.

Cite this