2012 19th Working Conference on Reverse Engineering 2012
DOI: 10.1109/wcre.2012.12
|View full text |Cite
|
Sign up to set email alerts
|

C to O-O Translation: Beyond the Easy Stuff

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 syste… Show more

Help me understand this report
View preprint versions

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
18
0

Year Published

2013
2013
2021
2021

Publication Types

Select...
3
2

Relationship

1
4

Authors

Journals

citations
Cited by 15 publications
(18 citation statements)
references
References 40 publications
0
18
0
Order By: Relevance
“…There, local jump instructions reach the specific point saved with setjmp within the method's body. We do not discuss the details of the translation because they refer to several low-level mechanisms discussed in [27] that are out of scope in the present paper. From the point of view of the reengineering, however, the translation expresses the complex semantics of longjmp naturally through the familiar exception handling mechanism.…”
Section: Exceptionsmentioning
confidence: 99%
See 4 more Smart Citations
“…There, local jump instructions reach the specific point saved with setjmp within the method's body. We do not discuss the details of the translation because they refer to several low-level mechanisms discussed in [27] that are out of scope in the present paper. From the point of view of the reengineering, however, the translation expresses the complex semantics of longjmp naturally through the familiar exception handling mechanism.…”
Section: Exceptionsmentioning
confidence: 99%
“…This shows that the object-oriented reengineering produced by AutoOO improves the design without overhead with respect to a bare non-reengineered translation. The basic performance overhead of switching from C to Eiffel-analyzed in detail in [27]-significantly varies with the program type but, even when it is pronounced, it does not preclude the usability of the translated application or library in standard conditions. These conclusions carry over to programs reengineered with AutoOO, and every optimization introduced in the basic translation provided by C2Eif will automatically result, at the end of the tool chain, in faster reengineered applications.…”
Section: Correctness Scalability and Performancementioning
confidence: 99%
See 3 more Smart Citations