C to O-O translation: Beyond the easy stuff

14Citations
Citations of this article
14Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Can we reuse some of the huge code-base developed in C to take advantage of modern programming language features such as type safety, object-orientation, and contracts? This paper presents a source-to-source translation of C code into Eiffel, a modern object-oriented programming language, and the supporting tool C2Eif. The translation is completely automatic and supports the entire C language (ANSI, as well as many GNU C Compiler extensions, through CIL) as used in practice, including its usage of native system libraries and inlined assembly code. Our experiments show that C2Eif can handle C applications and libraries of significant size (such as vim and libgsl), as well as challenging benchmarks such as the GCC torture tests. The produced Eiffel code is functionally equivalent to the original C code, and takes advantage of some of Eiffel's features to produce safe and easy-to-debug translations. © 2012 IEEE.

Cite

CITATION STYLE

APA

Trudel, M., Furia, C. A., Nordio, M., Meyer, B., & Oriol, M. (2012). C to O-O translation: Beyond the easy stuff. In Proceedings - Working Conference on Reverse Engineering, WCRE (pp. 19–28). https://doi.org/10.1109/WCRE.2012.12

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free