Title
Understanding and fixing multiple language interoperability issues: the C/Fortran case.
Abstract
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.
Year
DOI
Venue
2016
10.1145/2884781.2884858
ICSE
Keywords
Field
DocType
C, Fortran, language interoperability, polyglot, refactoring
Programming language,Software engineering,Interoperability,Computer science,Fortran,Semantic interoperability,Data type,Language interoperability,Code refactoring,Java,Source lines of code
Conference
ISSN
ISBN
Citations 
0270-5257
978-1-4503-3900-1
0
PageRank 
References 
Authors
0.34
20
4
Name
Order
Citations
PageRank
Nawrin Sultana142.46
Justin Middleton200.34
Jeffrey L. Overbey3294.22
Munawar Hafiz422415.40