Cross-Language Interoperability of Heterogeneous Code

被引:0
|
作者
Stratikopoulos, Athanasios [1 ]
Blanaru, Florin [1 ,2 ]
Fumero, Juan [1 ]
Xekalaki, Maria [1 ]
Papadakis, Orion [1 ]
Kotselidis, Christos [1 ]
机构
[1] Univ Manchester, Manchester, Lancs, England
[2] OctoML, Seattle, WA USA
关键词
code interoperability; programming languages; heterogeneous hardware;
D O I
10.1145/3594671.3594675
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
In recent years, the Java Virtual Machine has evolved from a cross-ISA virtualization layer to a system that can also offer multilingual support. GraalVM paved the way to enable the interoperability of Java with other programming languages, such as Java, Python, R and even C++, that can run on top of the Truffle framework in a unified manner. Additionally, there have been numerous academic and industrial endeavors to bridge the gap between the JVM and modern heterogeneous hardware resources. All these efforts beacon the opportunity to use the JVM as a unified system that enables interoperability between multiple programming languages and multiple heterogeneous hardware resources. In this paper, we focus on the interoperability of code that accelerates applications on heterogeneous hardware with multiple programming languages. To realize that concept, we employ TornadoVM, a state-of-the-art software for enabling various JDK distributions to exploit hardware acceleration. Although TornadoVM can transparently generate heterogeneous code at runtime, there are several challenges that hinder the portability of the generated code to other programming languages and systems. Therefore, we analyze all challenges and propose a set of modifications at the compiler and runtime levels to constitute Java as a prototyping language for the generation of heterogeneous code that can be used by other programming languages and systems.
引用
收藏
页码:17 / 21
页数:5
相关论文
共 50 条
  • [1] The Challenge of Cross-Language Interoperability
    Chisnall, David
    [J]. COMMUNICATIONS OF THE ACM, 2013, 56 (12) : 50 - 56
  • [2] Cross-Language Interoperability in a Multi-Language Runtime
    Grimmer, Matthias
    Schatz, Roland
    Seaton, Chris
    Wuerthinger, Thomas
    Lujan, Mikel
    [J]. ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2018, 40 (02):
  • [3] High-Performance Cross-Language Interoperability in a Multi-language Runtime
    Grimmer, Matthias
    Seaton, Chris
    Schatz, Roland
    Wurthinger, Thomas
    Moessenboeck, Hanspeter
    [J]. ACM SIGPLAN NOTICES, 2016, 51 (02) : 78 - 90
  • [4] Cross-Language Code Similarity and Applications in Clone Detection and Code Search
    Mathew, George Varghese
    [J]. ProQuest Dissertations and Theses Global, 2022,
  • [5] Towards the Detection of Cross-Language Source Code Reuse
    Flores, Enrique
    Barron-Cedeno, Alberto
    Rosso, Paolo
    Moreno, Lidia
    [J]. NATURAL LANGUAGE PROCESSING AND INFORMATION SYSTEMS, 2011, 6716 : 250 - 253
  • [6] SOLDER: Retrofitting Legacy Code with Cross-Language Patches
    Williams, Ryan
    Gavazzi, Anthony
    Kirda, Engin
    [J]. 2023 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION AND REENGINEERING, SANER, 2023, : 49 - 60
  • [7] Cross-Language Interoperability in a Multi-Language Runtime (vol 40, 8, 2018)
    Grimmer
    Mossenbock, Hanspeter
    [J]. ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2018, 40 (04):
  • [8] Dynamic stacking ensemble for cross-language code smell detection
    Aljamaan, Hamoud
    [J]. PEERJ COMPUTER SCIENCE, 2024, 10
  • [9] Cross-Language Code Search using Static and Dynamic Analyses
    Mathew, George
    Stolee, Kathryn T.
    [J]. PROCEEDINGS OF THE 29TH ACM JOINT MEETING ON EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (ESEC/FSE '21), 2021, : 205 - 217
  • [10] Interactive Cross-language Code Retrieval with Auto-Encoders
    Chen, Binger
    Abedjan, Ziawasch
    [J]. 2021 36TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING ASE 2021, 2021, : 167 - 178