DocumentCode :
2872684
Title :
SMART C: A Semantic Macro Replacement Translator for C
Author :
Jacobs, Matthew ; Lewis, E. Christopher
Author_Institution :
University of Pennsylvania, USA
fYear :
2006
fDate :
Sept. 2006
Firstpage :
95
Lastpage :
106
Abstract :
Programmers often want to transform the source or binary representations of their programs (e.g., to optimize, add dynamic safety checks, or add profile gathering code). Unfortunately, existing approaches to program transformation are either disruptive to the source (hand transformation), difficult to implement (ad hoc analysis tools), or functionally limited (macros). We propose an extension to the C programming language called the Semantic Macro Replacement Translator (SMART C). SMART C allows for the specification of very general type-aware transformations of all operations, statements, and declarations of the C programming language without exposing the programmer to the complexities of the system¿s internal representations. We have implemented a prototype SMART C sourceto- source translator and show its use in transforming programs for buffer overflow detection, format string vulnerability detection, and weighted call graph profiling. We show that SMART C achieves a pragmatic balance between generality and ease of use.
Keywords :
Arithmetic; Buffer overflow; Computer languages; Information science; Jacobian matrices; Power system reliability; Program processors; Programming profession; Prototypes; Safety;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Source Code Analysis and Manipulation, 2006. SCAM '06. Sixth IEEE International Workshop on
Conference_Location :
Philadelphia, PA, USA
Print_ISBN :
0-7695-2353-6
Type :
conf
DOI :
10.1109/SCAM.2006.28
Filename :
4026859
Link To Document :
بازگشت