Understanding Resolution of Multi-Language Bugs: An Empirical Study on Apache Projects

07/05/2023
by   Zengyang Li, et al.
0

Background: In modern software systems, more and more systems are written in multiple programming languages (PLs). There is no comprehensive investigation on the phenomenon of multi-programming-language (MPL) bugs, which resolution involves source files written in multiple PLs. Aim: This work investigated the characteristics of bug resolution in MPL software systems and explored the reasons why bug resolution involves multiple PLs. Method: We conducted an empirical study on 54 MPL projects selected from 655 Apache OSS projects, of which 66,932 bugs were analyzed. Results: (1) the percentage of MPL bugs (MPLBs) in the selected projects ranges from 0.17 percentage of MPLBs for all projects as a whole is 10.01 of all the MPLBs involve source files written in 2 and 3 PLs, respectively; (3) the change complexity resolution characteristics of MPLBs tend to be higher than those of single-programming-language bugs (SPLBs); (4) the open time for MPLBs is 19.52 combinations; (5) the reopen rate of bugs involving the PL combination of JavaScript and Python reaches 20.66 resolution involves multiple PLs and identified 5 cross-language calling mechanisms. Conclusion: MPLBs are related to increased development difficulty.

READ FULL TEXT
research
03/22/2021

Multi-Programming-Language Commits in OSS: An Empirical Study on Apache Projects

Modern software systems, such as Spark, are usually written in multiple ...
research
08/06/2023

Understanding the Effectiveness of Large Language Models in Code Translation

Code translation aims to convert source code from one programming langua...
research
05/10/2021

Why Aren't Regular Expressions a Lingua Franca? An Empirical Study on the Re-use and Portability of Regular Expressions

This paper explores the extent to which regular expressions (regexes) ar...
research
10/27/2020

Are Multi-language Design Smells Fault-prone? An Empirical Study

Nowadays, modern applications are developed using components written in ...
research
05/31/2020

An Exploratory Characterization of Bugs in COVID-19 Software Projects

Context: The dire consequences of the COVID-19 pandemic has influenced d...
research
01/03/2018

How Does Bug-Handling Effort Differ Among Different Programming Languages?

Handling bugs is an essential part of software development. The impact o...
research
01/22/2021

An Empirical Study of Flaky Tests in Python

Tests that cause spurious failures without any code changes, i.e., flaky...

Please sign up or login with your details

Forgot password? Click here to reset