Understanding and fixing multiple language interoperability issues
Autor: | Jeffrey Overbey, Justin Middleton, Munawar Hafiz, Nawrin Sultana |
---|---|
Rok vydání: | 2016 |
Předmět: |
0301 basic medicine
Source lines of code Java Computer science business.industry Programming language Fortran Interoperability 020207 software engineering 02 engineering and technology Semantic interoperability computer.software_genre Data type 03 medical and health sciences 030104 developmental biology Code refactoring 0202 electrical engineering electronic engineering information engineering Language interoperability Software engineering business computer computer.programming_language |
Zdroj: | ICSE |
Popis: | We performed an empirical study to understand interoperability issues in C and Fortran programs. C/Fortran interoperability is very common and is representative of general language interoperability issues, such as how interfaces between languages are defined and how data types are shared. Fortran presents an additional challenge, since several ad hoc approaches to C/Fortran interoperability were in use long before a standard mechanism was defined. We explored 20 applications, automatically analyzing over 12 million lines of code. We found that only 3% of interoperability instances follow the ISO standard to describe interfaces; the rest follow a combination of compiler-dependent ad hoc approaches. Several parameters in cross-language functions did not have standards-compliant interoperable types, and about one-fourth of the parameters that were passed by reference could be passed by value. We propose that automated refactoring tools may provide a viable way to migrate programs to use the new interoperability features. We present two refactorings to transform code for this purpose and one refactoring to evolve code thereafter; all of these are instances of multiple language refactorings. |
Databáze: | OpenAIRE |
Externí odkaz: |