2021
DOI: 10.1145/3432690
|View full text |Cite
|
Sign up to set email alerts
|

Are Multi-Language Design Smells Fault-Prone? An Empirical Study

Abstract: Nowadays, modern applications are developed using components written in different programming languages and technologies. The cost benefits of reuse and the advantages of each programming language are two main incentives behind the proliferation of such systems. However, as the number of languages increases, so do 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… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
9
0

Year Published

2021
2021
2024
2024

Publication Types

Select...
5
4

Relationship

2
7

Authors

Journals

citations
Cited by 26 publications
(9 citation statements)
references
References 55 publications
0
9
0
Order By: Relevance
“…They found that implementing a project with more PLs would increase its defect proneness. Abidi et al analyzed the source code of the MPL system, and found six anti-patterns [22] and twelve code smells [23]. Li et al analyzed 18 Apache MPL software projects, and confirmed that the use of multiple PLs is related to the increase of development difficulty and the decline of software quality [24].…”
Section: B Impact Of the Use Of Multiple Pls On Software Systemsmentioning
confidence: 99%
“…They found that implementing a project with more PLs would increase its defect proneness. Abidi et al analyzed the source code of the MPL system, and found six anti-patterns [22] and twelve code smells [23]. Li et al analyzed 18 Apache MPL software projects, and confirmed that the use of multiple PLs is related to the increase of development difficulty and the decline of software quality [24].…”
Section: B Impact Of the Use Of Multiple Pls On Software Systemsmentioning
confidence: 99%
“…To extract bug-fix commits from the collected repositories, we searched commits' messages for a list of bug-related keywords (bug, fail, crash, fix, resolve, failure, broken, break, error, hang, problem, overflow, issue, stop, etc. ), which are used successfully in the literature [3,2,4]. We also used PyDriller [65], a python library to mine the GitHub repositories, to collect bug-fix commits.…”
Section: Selection Of Bug-fix Commitsmentioning
confidence: 99%
“…Twelve code smells were proposed, including passing excessive objects, memory management mismatch, and so on [16]. Abidi et al subsequently proposed an approach to detect aforementioned anti-patterns and code smells (both called design smells according to the authors) in MPL systems in which Java Native Interface (JNI) is used, and conducted an empirical study on the fault proneness of such MPL design smells in nine open source JNI projects [9]. They found that MPL design smells are prevalent in the selected projects and files with MPL design smells can often be more associated with bugs than files without these design smells, and that specific smells are more correlated to fault proneness than other smells.…”
Section: B Quality Of Mpl Software Systemsmentioning
confidence: 99%
“…Another main reason is to take advantages of specific PLs to implement certain features, to meet various software quality needs, and to improve software development efficiency [1], [2], [3], [4], [5], [6], [7]. Nowadays, multi-programming-language (MPL) software development is increasingly prevalent with the technology advances [8], [4], [9]. This work was partially funded by the National Natural Science Foundation of China under Grant Nos.…”
Section: Introductionmentioning
confidence: 99%